피드로 돌아가기
Dev.toAI/ML
원문 읽기
AI 코딩 에이전트가 매 프롬프트마다 전체 코드베이스를 탐색하면서 토큰의 70%를 낭비하는 문제를 vexp MCP 서버로 58% 비용 감축
I tracked every token my AI coding agent consumed for a week. 70% was waste.
AI 요약
Context
Claude와 같은 AI 코딩 에이전트는 코드베이스의 구조를 사전에 파악하지 않아서, 매 프롬프트마다 Glob 패턴으로 모든 파일을 탐색하고 20개 이상의 파일을 순차적으로 읽는다. FastAPI 프레임워크(약 800개 Python 파일)를 대상으로 한 측정 결과, 프롬프트당 평균 23개의 도구 호출로 약 180,000개 토큰이 소비되었으나 실제 관련 토큰은 50,000개로 70% 낭비율을 기록했다.
Technical Solution
- SQLite 기반 로컬 인덱싱: Rust 바이너리와 tree-sitter AST 파싱을 사용해 프로젝트의 의존성 그래프와 파일 관계를 사전에 구축하고, 쿼리 당 관련 코드만 선택적으로 제공
- MCP 서버 아키텍처: vexp를 Claude와 호환되는 MCP 서버로 구현하여, 에이전트가 요청할 때마다 관련 파일 목록을 동적으로 필터링
- 프롬프트 스코핑: 사용자가 "Fix the auth error in src/auth/login.ts" 처럼 경로를 명시하면 파일 읽기 횟수를 3~5개로 제한
- 세션 관리 개선: 새로운 작업마다 새로운 세션을 시작하고, /compact 명령으로 167K 토큰 도달 전 컨텍스트를 압축
- 모델 조합 전략: Opus로 계획 수립, Sonnet으로 구현 실행하여 20~30% 비용 절감
Impact
- 프롬프트당 도구 호출: 23회에서 2.3회로 90% 감소
- 프롬프트당 비용: $0.78에서 $0.33으로 58% 감소
- 출력 토큰: 504개에서 189개로 63% 감소
- 작업 완료 시간: 170초에서 132초로 22% 감소
- FastAPI 벤치마크 전체 비용: $16.29에서 $6.89로 감소
- SWE-bench Verified (100개 실제 GitHub 버그): 작업당 평균 $1.98 비용에서 $0.67로 감소, 73% 통과율 달성
Key Takeaway
AI 코딩 에이전트의 토큰 낭비는 가격 인상이나 사용량 한계 완화로는 해결되지 않으며, 컨텍스트 윈도우에 입력되는 데이터 자체를 구조적으로 감소시켜야 한다. 사전 인덱싱과 의존성 그래프를 통해 관련 코드만 선택적으로 제공하는 아키텍처가 모든 가격 정책 변화에 무관하게 효과적이다.
실천 포인트
AI 코딩 에이전트를 사용하는 개발 팀에서 tree-sitter 기반 코드베이스 인덱싱과 의존성 그래프를 MCP 서버로 구현하면, 프롬프트 스코핑 없이도 프롬프트당 도구 호출을 90% 감축하고 토큰 비용을 58% 절감할 수 있다.