[오픈소스] CodeGraph/Serena는 MCP 미사용 시보다 더 많은 토큰을 소모합니다. 그래서 TS 환경에서 토큰 소비를 80%
요약
CodeGraph/Serena MCP를 활용하여 TypeScript 환경에서 에이전트의 토큰 소비를 최대 80% 절감하는 방법을 소개합니다. 강제된 사고의 사슬(CoT) 구조를 도구 인터페이스에 설계하여 에이전트가 효율적으로 코드 그래프를 탐색하도록 유도합니다.
핵심 포인트
- MCP를 통해 TypeScript 환경에서 토큰 소비 80% 절감 가능
- 도구 인터페이스에 CoT(Chain-of-Thought)를 강제하여 정확도 향상
- question, draft, review, request로 이어지는 구조적 요청 프로세스 설계
- TypeScript@rc(v7) 및 @ttsc/graph 라이브러리 필요
Fable 5가 어제 출시되어, 이를 대상으로 제 코드 그래프 (code-graph) MCP 벤치마크를 다시 실행했습니다.
제가 답을 얻고자 했던 질문은 다음과 같습니다:
제 방식은 언제 도움이 되는지 명시하고, 그 외의 모든 상황에 대해서는 일급 시민(first-class) 수준의 탈출구(escape)를 제공합니다. 에이전트가 실제로 준수하게 만드는 것은 도구(tool) 자체의 형태입니다:
export namespace ITtscGraphApplication { // 강제된 사고의 사슬 (chain-of-thought), 그 후 정확히 하나의 그래프 요청. export interface IProps { question: string; // 질문되고 있는 코드 질문을 재진술함 draft: IDraft; // 계획 중인 요청 유형과 그것이 왜 가장 작은 단위인지에 대한 이유 review: string; // 잘못되었거나 광범위한 초안을 스스로 수정; 그래프 범위를 벗어난 요청인 경우 탈출구 선택: // 검토 후 선택된 최종 작업 | ITtscGraphEntrypoints.IRequest // orientation: 읽기를 시작할 위치 | ITtscGraphLookup.IRequest // 이름으로 심볼(symbol) 찾기 | ITtscGraphTrace.IRequest // 호출 / 데이터 흐름 추적 | ITtscGraphDetails.IRequest // 심볼의 시그니처(signature), 멤버, 이웃 | ITtscGraphOverview.IRequest // 리포지토리(repo) 수준의 개요 | ITtscGraphTour.IRequest // 한 번의 호출로 답변되는 광범위한 코드 투어 | ITtscGraphEscape.IRequest; // 그래프 질문이 아님 -> 중단 }
// 초안 계획: 요청 유형과 그것이 왜 가장 작은 단위로 보이는지에 대한 이유. export interface IDraft { reason: string; // 왜 이 요청 유형이 가장 작은 답변 유형으로 보이는지에 대한 이유: IProps["request"]["type"]; // 고려 중인 요청 유형 } } ```
지시 사항(instruction)은 무시될 수 있지만, 필수 필드(required field)는 건너뛸 수 없습니다. 당신은 심볼 이름이나 쿼리 구문 없이 평이한 영어로 질문하며, question → draft → review → request 과정을 채우는 것은 에이전트의 역할입니다.
설정 (Setup)
bash npm install -D ttsc @ttsc/graph typescript@rc
json { "mcpServers": { "ttsc-graph": { "command": "npx", "args": ["-y", "@ttsc/graph"] } } }
솔직히 말씀드리면 한계점은 다음과 같습니다: TypeScript만 지원하며, typescript@rc (v7)가 필요합니다. 그리고 80% 절감 수치는 제 개인 리포지토리에서 직접 수행한 벤치마크 결과입니다. 만약 귀하의 코드베이스에서 절감 폭이 이보다 작다면, 그것은 버그 리포트 대상이며 저는 그 보고를 원합니다.
submitted by /u/jhnam88
[link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/ClaudeAI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기