본문 바로가기

인공지능

Engineering at Anthropic - MCP 코드 실행으로 AI 에이전트의 효율성을 극대화하는 방법

728x90
반응형
728x170

AI 에이전트가 비효율적으로 느려지는 이유

AI 에이전트를 설계할 때 가장 자주 부딪히는 문제가 있습니다.
“모델이 점점 느려지고, 토큰 사용량이 급격히 늘어난다.”
이는 단순히 모델의 성능 문제라기보다, 에이전트가 연결된 외부 도구와 데이터를 비효율적으로 다루고 있기 때문입니다.

이 문제를 해결하기 위한 핵심 기술이 바로 **MCP(Model Context Protocol)**입니다.
MCP는 AI 에이전트가 다양한 외부 시스템과 연결될 수 있도록 만든 개방형 표준입니다.
하지만 MCP를 통해 연결되는 도구가 많아질수록, 모델이 불필요하게 많은 정보를 로드하고, 중간 결과를 반복 처리하면서 토큰 비용과 응답 지연이 커지는 문제가 발생합니다.

이번 글에서는 이러한 문제를 해결하기 위해 등장한 “코드 실행(Code Execution)” 기반의 MCP 활용 방식을 소개합니다.
이 접근법을 통해 에이전트는 더 많은 도구를 효율적으로 다루면서도, 처리 속도와 비용을 획기적으로 개선할 수 있습니다.

반응형

1. MCP(Model Context Protocol)란 무엇인가

MCP는 AI 에이전트와 외부 시스템(예: Google Drive, Salesforce, Slack 등)을 연결하기 위한 공통 통신 프로토콜입니다.
기존에는 각 도구마다 별도의 API 통합이 필요했지만, MCP를 사용하면 한 번의 구현으로 다양한 시스템과 연결할 수 있습니다.

즉, MCP는 “도구 연결의 표준화”를 목표로 한 통합 인터페이스라고 할 수 있습니다.
이를 통해 개발자는 에이전트가 수백 개의 툴에 접근하도록 구성할 수 있으며, AI가 자동으로 데이터를 조회하고 수정하거나, 여러 시스템 간의 워크플로우를 조율할 수 있습니다.

하지만 여기에는 근본적인 제약이 있습니다.
툴이 많아질수록, MCP가 로드해야 하는 도구 정의(tool definition)와 중간 데이터가 늘어나면서 모델의 컨텍스트 윈도우를 빠르게 소모하게 됩니다.


2. 비효율의 근원: 토큰 오버로드와 중간 결과의 반복 처리

MCP를 사용하는 대부분의 에이전트는 툴 정의를 한꺼번에 모델 컨텍스트에 로드합니다.
예를 들어, Salesforce의 updateRecord나 Google Drive의 getDocument 같은 도구 정의가 모두 모델 입력으로 들어갑니다.
이 정의들은 각기 수백 개의 토큰을 차지하기 때문에, 수천 개의 도구를 연결하면 수십만 개의 토큰이 한 번에 로드됩니다.

또한, 툴 간 데이터 이동 과정에서도 비효율이 발생합니다.
예를 들어, Google Drive에서 회의록을 가져와 Salesforce에 업로드할 때, 모델은 다음과 같은 절차를 거칩니다.

  1. gdrive.getDocument() 호출 → 회의록 전체가 모델 컨텍스트로 로드됨
  2. salesforce.updateRecord() 호출 시 → 동일한 텍스트가 다시 모델을 통과

이때 수만 개의 토큰이 중복 처리되며, 대용량 데이터의 경우 컨텍스트 한계를 초과할 수도 있습니다.
결과적으로 모델은 느려지고 비용이 급등합니다.


3. 해결책: 코드 실행(Code Execution) 기반의 MCP 접근법

이 문제를 해결하기 위한 방법은 모델이 직접 툴을 호출하는 대신, 코드로 MCP 서버를 제어하도록 하는 것입니다.
즉, 에이전트가 툴을 코드 형태로 다루며, 필요한 시점에만 정의를 불러와 실행합니다.

다음은 TypeScript를 이용해 MCP 서버를 파일 트리로 구성하는 예시입니다.

servers
├── google-drive
│   ├── getDocument.ts
│   └── index.ts
├── salesforce
│   ├── updateRecord.ts
│   └── index.ts

각 도구는 독립된 코드 파일로 존재하며, 에이전트는 파일을 탐색하면서 필요한 도구만 로드합니다.
이 구조를 통해 모델은 불필요한 정의를 전부 읽을 필요가 없게 되고, 토큰 사용량을 150,000개에서 2,000개 수준으로 98% 이상 절감할 수 있습니다.


4. 코드 실행 방식의 실제 구현 예시

Google Drive의 문서를 Salesforce로 전달하는 간단한 워크플로우를 코드로 표현하면 다음과 같습니다.

import * as gdrive from './servers/google-drive';
import * as salesforce from './servers/salesforce';

const transcript = (await gdrive.getDocument({ documentId: 'abc123' })).content;
await salesforce.updateRecord({
  objectType: 'SalesMeeting',
  recordId: '00Q5f000001abcXYZ',
  data: { Notes: transcript }
});

이 방식의 핵심은 모델이 중간 데이터를 직접 다루지 않는다는 점입니다.
대신 코드 실행 환경이 데이터를 처리하고 결과만 모델에 전달하므로,
토큰 낭비를 방지하면서 처리 속도와 안정성을 높일 수 있습니다.


5. 코드 실행 방식이 가져오는 추가 이점

1) 점진적 로딩 (Progressive Disclosure)

모델이 한 번에 모든 툴 정의를 읽는 대신, 필요한 시점에만 파일 시스템을 탐색해 필요한 도구만 불러옵니다.
이 접근법은 탐색 속도와 메모리 효율을 극대화합니다.

2) 컨텍스트 효율적 데이터 처리

대용량 데이터를 필터링하거나 정제하는 과정을 모델 외부의 코드에서 처리할 수 있습니다.
예를 들어, 10,000행의 스프레드시트 중 ‘pending’ 상태의 주문만 추출해 모델에 전달하는 식으로,
불필요한 토큰 낭비를 막을 수 있습니다.

3) 보안성 강화와 개인정보 보호

코드 실행 환경에서 데이터를 가공하면, 민감한 정보(이메일, 이름 등)는 모델 컨텍스트에 포함되지 않습니다.
대신 토큰화(tokenization)된 형태로 처리되어, 개인정보 유출 위험을 원천적으로 차단합니다.

4) 상태 관리와 스킬 재사용

파일 시스템에 접근 가능한 코드 실행 환경에서는, 작업 중간 결과를 파일로 저장할 수 있습니다.
이 덕분에 에이전트는 **이전 상태를 기억하고, 재사용 가능한 스킬(Skill)**을 구축할 수 있습니다.
이는 점점 더 복잡한 업무를 수행하는 AI 에이전트에게 중요한 기반이 됩니다.


6. 코드 실행의 한계와 고려사항

코드 실행 방식은 강력하지만, 새로운 복잡성도 동반합니다.
모델이 생성한 코드를 실행하려면 반드시 보안 샌드박스 환경이 필요하며,
리소스 사용량과 오류를 모니터링할 시스템도 갖춰야 합니다.

따라서 이 방식을 도입할 때는 다음 사항을 고려해야 합니다.

  • 코드 실행 환경의 접근 제어 및 격리
  • 리소스 제한 및 실행 시간 모니터링
  • 코드 주입 공격 방지를 위한 입력 검증

이러한 인프라 설계가 선행되어야 MCP의 코드 실행 방식이 안전하게 운용될 수 있습니다.


728x90

MCP와 코드 실행이 열어가는 AI 에이전트의 새로운 시대

MCP는 AI 에이전트가 다양한 시스템과 데이터를 자유롭게 연결하도록 설계된 강력한 표준입니다.
하지만, 도구가 많아질수록 발생하는 토큰 과부하와 효율성 저하 문제는 개발자들이 반드시 직면하게 되는 과제입니다.

코드 실행(Code Execution)은 이러한 병목을 해결할 수 있는 실질적 대안입니다.
이 접근법은 단순히 효율을 높이는 것을 넘어, 보안성·유연성·지속 가능성을 모두 강화합니다.

앞으로 AI 에이전트가 점점 더 많은 도구와 데이터를 다루게 될수록,
MCP와 코드 실행의 결합은 차세대 에이전트 아키텍처의 표준적 기반으로 자리잡을 것입니다.
지금이 바로 그 변화를 이해하고 준비해야 할 시점입니다.

https://www.anthropic.com/engineering/code-execution-with-mcp

 

Code execution with MCP: building more efficient AI agents

Learn how code execution with the Model Context Protocol enables agents to handle more tools while using fewer tokens, reducing context overhead by up to 98.7%.

www.anthropic.com

728x90
반응형
그리드형