ETCLOVG · T — Tool Interface & Protocol (도구 인터페이스 · 프로토콜)
에이전트가 무엇을 할 수 있는지를 정의하는 계약(contract)의 계층. 도구 스키마, 호출 프로토콜(MCP, A2A), 도구 선택, 세션 관리.
상위 노트: 2026-05-24-agent-harness-engineering-survey · MOC: moc-ai-agents-harness
정의 (Scope)
Tool interface & protocol.
에이전트가 외부 능력을 호출하는 인터페이스 표면. 도구의 이름·인자 스키마·반환 타입·에러 모델과, 도구 호출을 운반하는 프로토콜(MCP / A2A / SDK-native function calling)을 포함한다.
서베이의 1차 프로젝트 수: 12개. 비교적 적지만, 다른 모든 레이어가 의존하는 계약 계층.
핵심 관심사 (Key Concerns)
| 관심사 | 내용 |
|---|---|
| 스키마 명세 | JSON schema / type / parameter doc / 예시 — 모호성을 제거하는 계약 |
| 호출 프로토콜 | MCP (Model Context Protocol), A2A (Agent-to-Agent), provider-native function calling |
| 도구 선택(selection) | 메뉴가 커질수록 정확도 하락 — retrieval, ranking, capability hint 필요 |
| 세션·상태 | 도구가 가진 자체 상태(예: 브라우저 탭, MCP 세션)의 라이프사이클 관리 |
| 자가 치유 | 잘못된 호출에 대한 자동 보정 루프(예: Typia + AutoBe) |
| 계약 진화 | 도구 버전이 바뀔 때 하네스가 어떻게 안전하게 마이그레이션하는가 |
대표 오픈소스 (Awesome-Agent-Harness · Protocols, Tool Interfaces & Agent Contracts)
- MCP / A2A — Model Context Protocol과 Agent-to-Agent 프로토콜 (생태계 표준화의 핵)
- mcp-agent (lastmile-ai) — MCP 도구 생태계 중심의 워크플로우 프레임워크
- PydanticAI / Pydantic AI Harness — 타입 안전 도구 계약, hooks, instructions, model settings를 재사용 가능한 하네스로
- Gorilla / ToolLLM / Toolformer — 학습된 도구 사용(learned tool use)의 시초
우리 vault 연결 노트
- 2026-04-03-qwen-function-calling-harness — Wrtn AutoBe + Typia: Function Calling 성공률 6.75% → 100% 사례
- 핵심 통찰: “타입은 모호성을 제거하고, 스키마는 부재를 통해 제약한다”
- 2026-04-16-openai-agents-sdk-next-evolution — MCP + skills + AGENTS.md + shell + apply patch + sandbox 통합
도구 설계 원칙 (Anthropic 글들과 결합)
- “Writing effective tools for AI agents” (Anthropic) — 에이전트가 안전·정확하게 호출하도록 인터페이스 설계
- 좋은 도구 = 이름이 의도를 말한다 + 스키마가 잘못된 호출을 막는다 + 에러 메시지가 다음 행동을 알려준다
열린 문제 연결
- Open Problem 4 (standard handoffs) — 도구 호출이 사람·다른 에이전트에게 넘어갈 때 intent/permission/provenance까지 전달되는 계약이 필요.