코드 그래프 MCP로 토큰 10배 절감
TS 컴파일러가 해석한 구조를 넘겨 에이전트가 파일을 안 뒤진다
코딩 에이전트에게 "이 기능이 어떻게 동작하냐"고 물으면, 보통 검색과 파일 열기, 임포트 추적을 수십 번 반복하며 토큰을 태운다. 이 낭비를 줄이겠다는 새 MCP(Model Context Protocol) 서버 '@ttsc/graph'가 공개됐다. 타입스크립트(TypeScript) 컴파일러가 이미 해석해 둔 코드 그래프를 에이전트에 넘겨, 파일을 헤집는 대신 그래프에서 곧바로 답하게 한다.
무슨 일인가
에이전트가 구조를 파악할 때 가장 비싼 작업이 '탐색'이다. 무엇이 무엇을 호출하고 의존하는지 알아내려고 코드베이스를 반복해서 읽는데, 저장소가 클수록 응답에 들어가는 토큰이 폭증한다. @ttsc/graph는 이 지도를 미리 만들어 두고 필요한 조각만 건넨다는 접근을 택했다.
핵심 짚어보기
설계의 핵심은 두 가지다. 첫째, 소스 본문은 절대 반환하지 않고 이름·의존 관계(엣지)·시그니처·파일 위치(file:line)만 준다. 그 덕에 응답 크기가 저장소 규모와 무관해져 토큰이 터지지 않는다. 둘째, 단일 도구의 입력이 타입 스키마로 정의돼 있어 에이전트가 '질문 → 초안 → 검토'를 채운 뒤에야 요청할 수 있다. 추론을 건너뛰는 호출을 애초에 거부하는 강제 장치인 셈이다.
제작자 벤치마크에 따르면 열린 질문 기준으로 토큰을 약 10배 절감하면서도 답변 품질은 동등했다(저장소 8개 × 모델 4종, 보수적 중앙값). 컴파일러를 쓴 이유도 분명하다. 트리시터(tree-sitter) 같은 휴리스틱 파서는 tsconfig 경로 별칭, 모노레포 교차 참조, 심링크, 재export 체인을 제대로 풀지 못한다. 실제 모듈 해석을 끝낸 컴파일러라야 정확하고, 정확해야 에이전트가 확신하고 탐색을 멈춘다. 다만 타입스크립트 전용이고, Go 런타임 기반의 타입스크립트 v7(현재 RC)이 필요하다는 한계가 있다.
1인기업 실전 적용 포인트
- 클로드 코드·커서로 대형 코드베이스를 다룰 때, 구조 질문마다 파일을 통째로 읽히지 말고 코드 그래프 MCP를 붙여 토큰 청구서를 직접 줄인다. 10배 절감은 곧 API 비용 10분의 1이다.
- 타입스크립트 프로젝트라면 4줄 설치로 바로 연결해 "이 함수 누가 호출해?" 같은 질문의 응답 속도를 체감할 수 있다.
- 모노레포·심링크가 얽힌 구조에서 에이전트가 엉뚱한 파일을 뒤지는 문제가 잦았다면, 컴파일러 기반 해석이 오답을 줄여준다.
- 비슷한 도구(codegraph, serena 등)와 비교 시, 열린 질문에서 실제로 토큰이 주는지 자신의 저장소로 먼저 측정한 뒤 도입한다.
전망 / 주의점
토큰 절감은 곧 운영비 절감이자 더 빠른 반복이다. 다만 타입스크립트 생태계에 한정되고 최신 컴파일러 버전을 요구한다는 점에서, 다언어 저장소나 안정 버전을 고수하는 팀에는 아직 이르다. '소스를 주지 말고 지도만 줘라'는 원칙 자체는 언어를 가리지 않는 통찰이라, 다른 언어로의 확산이 관건이다.
출처: GeekNews (https://news.hada.io/topic?id=31006)