Advanced Tool Use
来源:https://www.anthropic.com/engineering/advanced-tool-use
图示
Tool Search Tool 对比图(Context Usage: Traditional vs. Tool Search Tool)

Programmatic Tool Calling 流程图(Programmatic Tool Calling Flow)

核心要点
整体目标:解决三个老问题
- 工具太多:定义太长,把上下文挤爆
- 链路太长:工具链一长,来回调用慢且耗 tokens
- 仅靠 Schema 不够:只有 JSON Schema 时,模型仍会经常填错参数/用错工具
Tool Search Tool(工具搜索):
不再一次性把几十上百个工具定义全部塞进上下文,而是只提前加载一个“搜索工具 + 少数高频工具”。当 Claude 需要某类能力时,先用搜索工具按名字/描述去检索,再按需把少量匹配工具的定义展开进上下文。- 收益:减少 token 开销(官方示例:上下文消耗可降低 80%+),同时降低“选错工具”的概率
- 适用:MCP 多服务、工具数量 10+ 的场景
Programmatic Tool Calling(编程式工具调用):
以前是“自然语言 → 一次推理 → 调一个工具 → 结果全丢回模型上下文”,多步流程就意味着多次推理 + 大量中间数据灌进上下文。现在改成:Claude 写一段 Python 脚本,在沙盒里 orchestrate 工具调用(循环、并发、条件分支都写在代码里),工具结果先在代码里处理,最后只把“结论”返回给 Claude。- 收益:大数据场景下只让模型看到汇总结果,而不是几 MB 的原始日志;显著省 tokens、降延迟,也更不容易“算错账”
Tool Use Examples(工具使用示例):
JSON Schema 只能描述“结构合法”,但描述不了“怎么用才对”。因此 Anthropic 在工具定义旁补充高质量的示例调用,显著提升准确率。
启发
以后设计“AI + 工具”的系统,可以记三条:
- 工具多 → 用“搜索 + 延迟加载”,别一股脑塞定义
- 链路长 / 数据大 → 让模型写代码 orchestrate,把重计算放在代码里做
- 工具复杂 → Schema 旁边必须配高质量示例调用,不要只给一份 JSON 结构说明