跳转到内容

Introducing advanced tool use on the Claude Developer Platform

这是一篇 Anthropic 关于 Claude Developer Platform 高级工具调用能力的文章。文章发布了三项 beta 特性:Tool Search ToolProgrammatic Tool CallingTool Use Examples。核心判断是:随着 agent 要跨越成百上千个工具工作,传统“预加载全部工具定义 + 自然语言逐次 tool call”的方式会在上下文、延迟和准确率上同时触顶,因此需要把工具发现、调用和学习方式都升级。

  • 文章把问题拆得很清楚:第一,工具定义太多会把上下文窗口在任务开始前就吃掉;第二,自然语言逐次调用工具会让中间结果不断污染上下文;第三,JSON schema 只能表达“结构合法”,却表达不了“这个工具到底该怎么用”。
  • Tool Search Tool 解决的是大规模工具发现问题。它让 Claude 先只加载一个搜索工具,再按需把相关工具定义拉进上下文,而不是一开始就把几十上百个工具全部塞进去。
  • 文中给出的量化结果非常激进:在一个 50+ MCP 工具的场景里,Tool Search Tool 把上下文消耗从约 77K 降到约 8.7K token;内部 MCP eval 上,Opus 4 从 49% 提升到 74%,Opus 4.5 从 79.5% 提升到 88.1%
  • Programmatic Tool Calling 解决的是复杂工作流的中间结果污染和多轮推理开销。Claude 不再一轮一轮地自然语言调工具,而是写一段代码,在 code_execution 环境里并行调工具、做循环/条件/聚合,然后只把最终结果返回给模型。
  • 文章给出的预算审计例子很典型:传统模式会把 2,000+ 条费用明细都塞进模型上下文;程序化调用则把这些处理留在代码执行环境里,只把最终超预算名单回给模型。
  • Tool Use Examples 解决的是“schema 之外的使用约定”。通过在工具定义里直接放 input_examples,模型能学到日期格式、ID 约定、参数联动和何时该填哪些可选字段。文中内部测试显示,复杂参数处理准确率从 72% 提升到 90%
  • 文章最后给出的最佳实践也很重要:不是所有 agent 都该一次性启用三项功能,而应该先识别当前真正的瓶颈,是工具定义过重、执行开销过高,还是参数错误过多,再按需叠加。
  • 这篇文章和此前的《Code execution with MCP - Building more efficient agents》是连续关系:前者更多讲工程模式,后者把其中一部分正式产品化为 Developer Platform 功能。

ℹ️ Conflict:

  • 三项高级能力都能提升性能,但都会引入额外系统复杂度:搜索步骤、代码执行环境、安全边界、工具定义扩展字段和更重的调试成本。
  • 文章中的收益很大程度上来自“大工具库、复杂多步工作流、复杂参数模式”场景;对于小工具集、简单 lookup 或单步调用,额外复杂度未必值得。