Claude Developer Platform Advanced Tool Use
Anthropic은 Claude Developer Platform을 위한 세 가지 새로운 기능—Tool Search Tool, Programmatic Tool Calling, Tool Use Examples—을 출시했습니다. 이 기능들은 AI 에이전트가 모델의 컨텍스트 창을 소진하지 않고도 방대한 도구 라이브러리와 복잡한 데이터 세트를 운영할 수 있도록 설계되었습니다. 이러한 업데이트는 도구 사용을 단순한 함수 호출에서 지능적인 오케스트레이션으로 전환하여, 토큰 오버헤드를 줄이고 실행 정확도를 향상시킵니다.
Tool Search Tool: On-Demand Tool Discovery
Tool Search Tool은 모든 정의를 사전에 로드하는 대신 필요할 때 도구를 발견함으로써 컨텍스트 소비를 줄입니다. 수많은 Model Context Protocol (MCP) 서버가 있는 환경에서는 대화가 시작되기 전에 도구 정의가 100K 이상의 토큰을 소비할 수 있으며, 이는 "context bloat"와 도구 선택 오류를 유발할 수 있습니다.
Technical Implementation
개발자는 defer_loading: true를 사용하여 도구를 초기 컨텍스트에서 제외할 수 있습니다. Claude에게는 Tool Search Tool 자체(및 defer_loading: false로 표시된 중요한 도구들)가 제공됩니다. 특정 기능이 필요할 때, Claude는 검색 도구를 사용하여 관련 참조를 찾고, 이는 컨텍스트 내에서 전체 정의로 확장됩니다.
Performance Gains
- Token Reduction: 50개 이상의 MCP 도구를 사용하는 테스트 케이스에서 컨텍스트 소비가 약 77K 토큰에서 약 8.7K 토큰으로 감소하여 85%의 감소율을 보였습니다.
- Accuracy Improvements: 내부 MCP 평가 결과, Opus 4는 49%에서 74%로, Opus 4.5는 79.5%에서 88.1%로 정확도가 크게 향상되었습니다.
- Caching: 지연 로드되는 도구들은 초기 프롬프트에서 제외되므로, 시스템 프롬프트와 핵심 도구 정의는 프롬프트 캐싱과 호환성을 유지합니다.
Programmatic Tool Calling: Code-Based Orchestration
Programmatic Tool Calling은 Claude가 샌드박스 환경 내의 Python 코드를 통해 여러 도구를 오케스트레이션할 수 있게 하여, 중간 데이터가 모델의 컨텍스트를 오염시키는 것을 방지합니다. 전통적인 도구 호출 방식은 매 호출마다 전체 추론 과정을 거쳐야 하며, 모든 원시 결과가 컨텍스트 창에 입력되어 대규모 데이터 세트의 경우 비효율적입니다.
How it Works
순차적인 자연어 요청 대신, Claude는 여러 도구를 호출하고 출력을 처리(루프, 조건문, 변환 사용)하는 Python 스크립트를 작성하여 최종 결과만을 모델에 반환합니다.
- Opt-in: 도구는
allowed_callers: ["code_execution_20250825"]로 표시됩니다. - Execution: Claude는 Python 코드를 포함하는
server_tool_use요청을 생성합니다. - Processing: 도구 결과는 Code Execution 환경 내에서 처리됩니다. 모델은 원시 중간 데이터를 보지 못합니다.
- Final Output: 스크립트의 최종
stdout만이 Claude의 컨텍스트에 들어갑니다.
Key Benefits
- Token Savings: 복잡한 연구 작업에서 평균 사용량이 43,588에서 27,297 토큰으로 37% 감소했습니다.
- Latency Reduction: 20개 이상의 도구 호출을 하나의 코드 블록에서 실행함으로써, 시스템은 19개 이상의 불필요한 추론 과정을 제거합니다.
- Accuracy: 지식 검색(Knowledge retrieval)은 25.6%에서 28.5%로, GIA 벤치마크는 46.5%에서 51.2%로 상승했습니다.
- Real-world Application: Claude for Excel은 이 기능을 활용하여 수천 개의 행이 있는 스프레드시트를 컨텍스트 창의 과부하 없이 수정할 수 있습니다.
Tool Use Examples: Improving Invocation Precision
Tool Use Examples는 JSON 스키마가 표현할 수 없는 서식 지정 규칙이나 매개변수 상관관계와 같은 올바른 도구 사용 패턴을 보여주는 보편적인 표준을 제공합니다. JSON 스키마는 구조적 유효성을 정의하지만, 선택적 매개변수를 언제 사용해야 하는지 또는 API가 기대하는 특정 문자열 형식을 지정할 수 없습니다.
Implementation and Impact
개발자는 도구 정의에 샘플 도구 호출이 포함된 input_examples 배열을 추가할 수 있습니다. 이를 통해 Claude에게 다음을 학습시킵니다:
- Format Conventions: 예: 날짜에 YYYY-MM-DD 형식을 사용하거나 특정 ID 접두사(예: "USR-12345")를 사용합니다.
- Nested Structures: 복잡한 중첩된 객체를 올바르게 채우는 방법.
- Parameter Logic: 다양한 시나리오리오에 적합한 선택적 매개변수의 조합(예: 더 높은 에스컬레이션 수준이 필요한 심각한 버그).
내부 테스트 결과, 예시를 제공함으로써 복잡한 매개변수 처리 정확도가 72%에서 90%로 향상되었습니다.
Deployment Best Practices
Anthropic은 에이전트의 특정 병목 현상에 따라 이러한 기능들을 계층적으로 사용하는 것을 권장합니다:
| Bottleneck | Recommended Feature |
|---|---|
| Context bloat from tool definitions | Tool Search Tool |
| Large intermediate results polluting context | Programmatic Tool Calling |
| Parameter errors and malformed calls | Tool Use Examples |
Optimization Tips
- Discovery: 검색 정확도를 높이기 위해 도구에 명확하고 설명적인 이름을 사용하고 설명을 추가하십시오. 빈도가 높은 3-5개의 도구는 항상 로드된 상태로 유지하고 나머지는 지연 로드하십시오.
- Execution: Claude가 정확한 Python 파싱 로직을 작성할 수 있도록 도구 설명에 반환 형식을 명확히 문서화하십시오. Programmatic calling은 멱등성(idempotent) 작업과 병렬화 가능한 작업에 집중하십시오.
- Accuracy: 스키마가 불충분한 모호한 영역에 초점을 맞추어 도구당 1-5개의 현실적인 예시를 제공하십시오.
Sources
관련
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- 프로젝트