Claude Developer Platform Advanced Tool Use
Anthropic 发布了 Claude Developer Platform 的三项新功能——Tool Search Tool、Programmatic Tool Calling 和 Tool Use Examples——旨在允许 AI agent 在庞大的工具库和复杂的数据集中运行,而不会耗尽模型的上下文窗口。这些更新将工具使用从简单的函数调用转变为智能编排,从而减少了 token 开销并提高了执行准确性。
Tool Search Tool: On-Demand Tool Discovery
Tool Search Tool 通过按需发现工具而非预先加载所有定义来减少上下文消耗。 在拥有众多 Model Context Protocol (MCP) 服务器的环境中,工具定义可能会在对话开始前就消耗超过 100K tokens,导致“上下文膨胀”并增加工具选择的错误率。
Technical Implementation
开发者可以使用 defer_loading: true 将工具标记为延迟加载,从而将其排除在初始上下文之外。Claude 会获得 Tool Search Tool 本身(以及任何标记为 defer_loading: false 的关键工具)。当需要特定能力时,Claude 会使用搜索工具来查找相关引用,然后这些引用会在上下文中展开为完整的定义。
Performance Gains
- Token Reduction: 在一个包含 50 多个 MCP 工具的测试案例中,上下文消耗从约 77K tokens 降至约 8.7K tokens,降幅达 85%。
- Accuracy Improvements: 内部 MCP 评估显示出显著提升:Opus 4 从 49% 提高到 74%,Opus 4.5 从 79.5% 提高到 88.1%。
- Caching: 由于延迟加载的工具被排除在初始提示词中,系统提示词和核心工具定义与提示词缓存(prompt 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: 在复杂的研究任务中,平均使用量下降了 37%(从 43,588 降至 27,297 tokens)。
- Latency Reduction: 通过在一个代码块中执行 20 多个工具调用,系统消除了 19 个以上不必要的推理过程。
- Accuracy: 知识检索准确率从 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 schemas 无法表达的,例如格式约定和参数关联。 虽然 JSON schemas 定义了结构有效性,但它们无法指定何时使用可选参数或 API 预期的特定字符串格式。
Implementation and Impact
开发者可以在工具定义中添加一个 input_examples 数组,其中包含示例工具调用。这可以教导 Claude:
- Format Conventions: 例如,使用 YYYY-MM-DD 格式表示日期,或特定的 ID 前缀(例如 "USR-12345")。
- Nested Structures: 如何正确填充复杂的嵌套对象。
- Parameter Logic: 哪些可选参数的组合在不同场景下是合适的(例如,需要更高升级级别的严重错误)。
内部测试显示,在处理复杂参数时,提供示例可将准确率从 22% 提高到 90%。
Deployment Best Practices
Anthropic 建议根据 agent 的具体瓶颈点进行功能分层使用:
| 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 解析逻辑。将程序化调用集中在幂等操作和可并行任务上。
- Accuracy: 精度提升:为每个工具提供 1-5 个真实的示例,重点关注 schema 无法涵盖的模糊领域。
Sources
相关
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- 项目