Introducing advanced tool use on the Claude Developer Platform
这是一篇 Anthropic 关于 Claude Developer Platform 高级工具调用能力的文章。文章发布了三项 beta 特性:Tool Search Tool、Programmatic Tool Calling 和 Tool Use Examples。核心判断是:随着 agent 要跨越成百上千个工具工作,传统“预加载全部工具定义 + 自然语言逐次 tool call”的方式会在上下文、延迟和准确率上同时触顶,因此需要把工具发现、调用和学习方式都升级。
- 文章把问题拆得很清楚:第一,工具定义太多会把上下文窗口在任务开始前就吃掉;第二,自然语言逐次调用工具会让中间结果不断污染上下文;第三,JSON schema 只能表达“结构合法”,却表达不了“这个工具到底该怎么用”。
Tool Search Tool解决的是大规模工具发现问题。它让 Claude 先只加载一个搜索工具,再按需把相关工具定义拉进上下文,而不是一开始就把几十上百个工具全部塞进去。- 文中给出的量化结果非常激进:在一个 50+ MCP 工具的场景里,Tool Search Tool 把上下文消耗从约
77K降到约8.7Ktoken;内部 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 或单步调用,额外复杂度未必值得。
- Anthropic
- Programmatic tool calling
- Model Context Protocol (MCP)
- Tool ergonomics for agents
- Agent scaffold
- Agentic engineering
- Anthropic, “Introducing advanced tool use on the Claude Developer Platform”, 2025-11-24: https://www.anthropic.com/engineering/introducing-advanced-tool-use-on-the-claude-developer-platform
- 原文摘录:[llm-wiki/raw/anthropic/Introducing advanced tool use on the Claude Developer Platform](/raw/anthropic/Introducing advanced tool use on the Claude Developer Platform.md)