Anthropic 코드 실행과 MCP: 에이전트 효율성 향상
TL;DR
Anthropic은 에이전트가 직접적인 도구 호출 대신 코드 실행을 통해 MCP 서버와 상호작용할 수 있음을 입증했으며, 토큰 소비를 최대 98.7% 줄이고 지연 시간을 낮추면서 개인정보 보호와 상태 유지를 보장합니다.
MCP에 새로운 상호작용 모델이 필요한 이유
MCP(Model Context Protocol)는 AI 에이전트가 범용 API를 통해 외부 도구를 호출할 수 있게 해주는 개방형 표준입니다. 2024년 11월 출시 이후 수천 개의 MCP 서버와 주요 언어용 SDK가 만들어져 MCP는 에이전트를 도구와 데이터에 연결하는 사실상의 표준이 되었습니다.
그러나 에이전트가 수백 개의 서버에 연결되면서 두 가지 토큰 소모 패턴이 나타납니다:
- 도구 정의가 컨텍스트 창을 가득 채웁니다. 모든 도구 설명을 미리 로드하면 모델이 사용자 요청을 보기도 전에 수십만 개의 토큰이 필요할 수 있습니다.
- 중간 결과가 모델을 통해 전달됩니다. 각 도구 호출의 원시 출력이 LLM으로 다시 전송되어 모든 단계에서 중복되며, 대용량 문서의 경우 수만 개의 토큰이 추가될 수 있습니다.
두 패턴 모두 추론 비용과 지연 시간을 증가시키며 모델의 컨텍스트 한도를 초과할 수 있습니다.
토큰 효율적인 브리지로서의 코드 실행
도구 정의를 LLM에 직접 제공하는 대신, 에이전트는 MCP 서버를 코드 API로 취급할 수 있습니다. 에이전트는 필요한 도구 모듈을 가져오고 호출하며 샌드박스 실행 환경 내에서 결과를 처리하는 코드를 작성합니다. 이 접근 방식은 위의 두 가지 문제를 해결합니다:
- 온디맨드 로딩: 에이전트는 필요한 도구를 나타내는 파일만 읽어 컨텍스트를 약 150k 토큰에서 약 2k 토큰으로 줄입니다(98.7% 감소).
- 로컬 결과 처리: 데이터는 모델로 토큰이 전송되기 전에 코드에서 필터링, 집계 또는 변환되어 대규모 페이로드가 컨텍스트 창에 들어오는 것을 방지합니다.
TypeScript 예제는 에이전트가 사용 가능한 도구의 가상 파일 트리를 생성한 다음 필요할 때만 getDocument.ts와 updateRecord.ts를 가져오는 것을 보여줍니다. 동일한 패턴은 MCP SDK가 지원하는 모든 언어에서 작동합니다.
MCP와 코드 실행의 핵심 이점
점진적 공개
에이전트는 파일 시스템(또는 search_tools 엔드포인트)을 탐색하여 관련 도구 정의만 발견할 수 있습니다. 세부 수준 매개변수(이름만, 이름 + 설명, 전체 스키마)를 추가하면 컨텍스트 사용량을 더욱 줄일 수 있습니다.
컨텍스트 효율적인 도구 결과
대규모 데이터 세트는 모델에 도달하기 전에 정리할 수 있습니다. 예를 들어 10,000행 스프레드시트를 가져와 5행만 반환하면 토큰 부하가 크게 줄어듭니다. 동일한 기법은 조인, 집계 및 필드 추출에도 적용됩니다.
강력한 제어 흐름
루프, 조건문 및 오류 처리는 개별 도구 호출 체인 대신 기본 코드로 표현됩니다. 이는 "호출 → 대기 → 호출" 패턴의 왕복을 제거하여 첫 토큰까지의 시간 지연을 줄입니다.
개인정보 보호 작업
중간 데이터는 실행 샌드박스 내에 유지됩니다. 민감한 필드는 모델 노출 전에 토큰화되어 PII가 LLM의 컨텍스트에 나타나지 않도록 할 수 있습니다. MCP 클라이언트는 다운스트림 도구에 데이터를 전달할 때 자동으로 토큰을 해제할 수 있습니다.
상태 유지 및 재사용 가능한 스킬
에이전트는 중간 결과를 파일에 기록하여 재개 가능한 워크플로를 구현할 수 있습니다. 생성된 코드는 재사용 가능한 함수로 저장되고 SKILL.md 매니페스트와 함께 패키징되어 스킬—특수 작업을 위해 모델이 호출할 수 있는 스크립트와 지침 폴더—을 형성할 수 있습니다.
트레이드오프 및 운영 고려 사항
에이전트가 생성한 코드를 실행하려면 리소스 제한, 모니터링 및 적절한 격리를 갖춘 안전한 샌드박스가 필요합니다(Anthropic의 코드 샌드박싱 문서 참조). 이러한 인프라 비용은 토큰 절감, 지연 시간 개선 및 더 풍부한 구성 기능과 비교하여权衡해야 합니다.
실용적인 시사점
- 에이전트가 많은 MCP 도구와 상호작용하거나 대용량 데이터 페이로드를 처리해야 할 때 코드 실행을 채택하세요.
- 점진적 공개(파일 시스템 탐색 또는
search_tools)를 사용하여 컨텍스트 크기를 최소화하세요. - 샌드박스 실행을 활용하여 개인정보를 보호하고 단계 간 상태를 유지하세요.
- 자주 사용하는 코드를 Skills로 패키징하여 향후 에이전트 개발을 가속화하세요.
커뮤니티 초대
Anthropic은 개발자들이 이 패턴을 실험하고 MCP 커뮤니티와 결과를 공유할 것을 권장합니다(링크).