2026년 8월 26일 수요일

에이전트 설계 ③ — MCP와 코드 실행: 표준이 된 도구, 만능이 된 코드

도구 생태계의 2026년 두 흐름: MCP가 도구 연결의 USB-C로 승리했고, 도구가 많아질수록 개별 호출 대신 코드 실행이 만능 도구가 되고 있다.

MCP — 승리의 숫자와 새 기능

현행 스펙(2026-07-28) 기준 SDK 다운로드 월 5억 회, TS/Python SDK 각각 누적 10억+. 2026년의 확장: Tasks(폴링·내구 핸들을 가진 비동기 장기 작업 — 느린 사내 API를 감쌀 때 중요), MCP Apps(대화 안 인터랙티브 UI), Skills over MCP. 한국어 입문은 한컴 기술블로그의 해설이 균형 잡혀 있다.

그러나 도구 설명은 공격 표면이다

Tool Poisoning(Invariant Labs): MCP 도구 설명에 숨긴 악성 지시가 — 모델에게는 보이고 사용자 UI에는 안 보이는 — 에이전트가 ~/.ssh/id_rsa를 읽어 도구 파라미터로 유출하게 만들 수 있음을 Cursor 상대로 실증. "rug pull"(설치 승인 후 설명 교체), "tool shadowing"(악성 서버가 신뢰 서버의 도구를 오염)도 명명됐다. 실무 규칙: 서드파티 MCP 서버는 미감사 npm 패키지처럼 취급 — 버전 고정, 전체 설명 UI 노출, 자격증명 보유 도구와 비신뢰 서버 혼용 금지. 판단 기준은 Simon Willison의 lethal trifecta: 비공개 데이터 + 비신뢰 콘텐츠 + 외부 전송 — 셋을 한 에이전트에 주지 마라(⑦편에서 본격).

코드 실행 — 도구의 종착지

학술 원점은 CodeAct(ICML 2024): JSON 도구 호출 대신 파이썬 코드를 행동으로 쓰면 루프·조건문으로 여러 도구를 한 번에 조합하고 인터프리터 에러로 자가수정 — 17개 LLM에서 최대 +20% 성공률. 이를 MCP 규모로 확장한 것이 Anthropic의 MCP 코드 실행: 도구 정의를 컨텍스트에 싣는 대신 파일시스템의 TS 모듈로 두고 모델이 코드로 호출 — Google Drive→Salesforce 워크플로가 150,000 → 2,000토큰(-98.7%). 중간 데이터가 모델 컨텍스트를 두 번 통과하는 낭비도 사라진다. smolagents(HF, 에이전트 로직 ~1,000줄)가 이 노선의 가장 가벼운 구현이고, 실행은 반드시 샌드박스에서.

API가 없을 때의 최후 수단 — 컴퓨터 사용

computer use 툴셋이 2026년 8월 API GA — 레거시 한국 웹 포털처럼 API가 없으면 화면 자체가 도구가 된다. 단 스크린샷당 ~1,000-1,800토큰의 비용과 GUI 프롬프트 인젝션이라는 1급 위협이 따라온다: 전용 VM, 도메인 허용목록, 중대 행동 인간 확인이 공식 요구사항이다.

한 줄 요약: MCP로 연결하고, 많아지면 코드로 조합하고, 항상 설명文을 공격 표면으로 취급하라.

— 에이전트 설계 시리즈 ③ / 다음 글: 계획·추론 패턴 — 스캐폴드는 모델이 자란다

댓글 없음:

댓글 쓰기

국정원의 댓글 공작을 지탄합니다.

에이전트 설계 ⑪ (완결) — 프레임워크와 2026 스택: 제어 흐름의 소유권만은 넘기지 마라

마지막 편. 프레임워크 전쟁은 사실상 수렴했다 — 모든 메이저 벤더가 공식 SDK를 냈고 원시 개념(도구 루프·subagent/handoff·체크포인팅·MCP)도 동일해졌다. 차별화 전선은 루프가 아니라 하네스 품질과 내구성(durability) 으로...