핵심 요약
Claude Code의 중복 파일 읽기와 세션 간 망각 문제를 해결하기 위해 Tree-sitter와 SQLite 기반의 MCP 서버를 구축하여 토큰 소모를 86% 절감한 사례이다.
배경
대규모 TypeScript 프로젝트에서 Claude Code를 사용하며 발생하는 과도한 토큰 소모와 세션 간 정보 유실 문제를 해결하기 위해, 코드 구조를 분석하고 메모리를 관리하는 로컬 도구를 직접 개발하여 공유했다.
의미 / 영향
이 토론에서 Claude Code의 성능 한계가 단순 모델 지능보다는 컨텍스트 주입 방식의 비효율성에 있음이 확인됐다. Tree-sitter와 MCP를 결합한 로컬 지식 그래프 구축이 실무적인 해결책이 될 수 있다.
커뮤니티 반응
작성자의 구체적인 수치 개선 결과에 대해 매우 긍정적인 반응이며, 도구의 이름과 사용 방법에 대한 질문이 이어지고 있습니다.
합의점 vs 논쟁점
합의점
- Claude Code의 현재 컨텍스트 관리 방식에 개선이 필요하다는 점에 동의함
- 로컬에서 데이터를 처리하는 방식이 보안 및 속도 측면에서 유리함
실용적 조언
- 대규모 프로젝트에서 Claude Code 사용 시 전체 파일 대신 필요한 코드 블록만 전달하는 전략을 취할 것
- MCP 서버를 활용해 로컬 지식 베이스를 구축하면 세션 간 기억 유지가 가능함
언급된 도구
Claude Code중립
AI 코딩 에이전트 CLI
Tree-sitter추천
점진적 파싱 라이브러리
MCP (Model Context Protocol)추천
AI 모델과 외부 도구 간 연결 프로토콜
섹션별 상세
Claude Code의 주요 페인포인트로 매 세션마다 수백 개의 파일을 다시 읽어 프로젝트를 파악해야 하는 비효율성을 지적했다. 이 과정에서 세션 간 아키텍처나 패턴에 대한 기억이 유지되지 않아 동일한 탐색 과정을 반복하게 되며, 특히 여러 저장소(Multi-repo)를 가로지르는 맥락 파악이 거의 불가능하다는 점을 강조했다.
해결책으로 Tree-sitter를 활용해 코드베이스를 파싱하고 SQLite에 의존성 그래프를 구축하는 시스템을 제안했다. Claude가 컨텍스트를 요청할 때 파일 전체가 아닌 함수, 클래스, 임포트 등 관련 노드만 제공함으로써 정보의 밀도를 높였다. 모든 도구 호출은 특정 코드 심볼과 연결된 '메모리'로 자동 캡처되어 다음 세션에서도 활용될 수 있도록 설계했다.
코드 변경 시 관련 메모리를 자동으로 '만료(Stale)' 상태로 표시하여 Claude가 오래된 정보를 참조하지 않도록 관리하는 메커니즘을 도입했다. 이를 통해 실제 프로젝트 적용 결과 쿼리당 토큰 사용량을 18,000개에서 2,400개로 약 86% 절감하면서도 응답 품질은 유지하거나 오히려 향상시키는 성과를 거두었다.
해당 시스템은 MCP(Model Context Protocol) 서버로 작동하여 Claude Code에서 일반 도구처럼 호출할 수 있으며, 모든 데이터는 Rust 바이너리와 SQLite를 통해 로컬에서 처리된다. 현재 VS Code 확장 프로그램 형태로 패키징되었으며, 다양한 프로젝트 규모와 언어에서의 성능 검증을 위해 커뮤니티의 피드백을 구하고 있다.
실무 Takeaway
- Claude Code의 기본 컨텍스트 관리 방식은 대규모 프로젝트에서 토큰 낭비와 정보 유실이 심각하다.
- Tree-sitter와 그래프 DB를 활용한 세밀한(Granular) 코드 분석이 토큰 효율성을 극적으로 높일 수 있다.
- MCP 서버를 통해 로컬 지식 베이스를 연결함으로써 AI 에이전트의 세션 간 연속성을 확보할 수 있다.
AI 분석 전체 내용 보기
AI 요약 · 북마크 · 개인 피드 설정 — 무료