AI Agent 在未来能够使模型与成百上千种工具协同工作。例如,集成 Git 操作、文件处理、包管理器、测试框架和部署管道的 IDE 助手;以及能够同时连接 Slack、GitHub、Google Drive、Jira、公司数据库和数十个 MCP 服务器的运维协调器。
为了构建更高效的 Agent,需要使用无限的工具库,而无需预先将所有定义都加载到上下文中。Anthropic 之前一篇论文讨论过,将代码执行与 MCP 结合使用会在 Agent 读取请求之前消耗超过 50,000 个tokens。Agent 应该按需发现并加载工具,只保留与当前任务相关的工具。
除此之外,智能体也需要具备从代码调用工具的能力,能够根据当前任务灵活处理。Agent 不仅需要学习模式定义,还需要从示例中学习工具的正确用法。
而就在昨日,Anthropic 发布了三项测试功能,让这一切成为可能。
工具搜索工具:允许 Claude 使用搜索工具访问数千种工具,而无需占用上下文窗口。
程序化工具调用:Claude 在代码执行环境中调用工具,从而减少对模型上下文窗口的影响。
工具使用示例:为演示如何有效使用特定工具提供了一个通用标准。
工具定义消耗超过 1 万个令牌
构建具有多个服务器的 MCP 系统
10 多种可用工具
代币节省:平均使用量从43,588个代币降至27,297个 tokens,复杂研究任务的代币消耗量减少了 37%。
降低延迟:在单个代码块中协调 20 多个工具调用,从而减少了 19 次以上的推理过程。
准确率提升:内部知识检索准确率从25.6% 提升至 28.5%;GIA 基准测试准确率从 46.5% 提升至 51.2%。
格式规范:日期采用 YYYY-MM-DD 格式,用户 ID 采用 USR-XXXXX 格式,标签采用 kebab-case 格式。
嵌套结构模式:构建带有嵌套联系人对象的报告者对象。
可选参数关联:包含完整的联系信息和升级机制,并有严格的服务级别协议 (SLA)。
搜索工具
随着连接的服务器数量增加,tokens 的数量也会不断累积。
58 个工具就能消耗了大约 5.5 万个令牌。在 Anthropic 的测试中,工具定义在优化之前就能消耗13.4 万个 tokens。
工具搜索工具不会预先加载所有工具定义,而是按需发现工具。Claude 只会看到当前任务实际需要的工具。
根据传统方法,所有工具定义会预先加载,并且对话历史记录和系统提示会争夺剩余空间。这就导致工作开始前,上下文总消耗量约为77K个tokens。
若使用工具搜索工具,仅预先加载工具搜索工具,而且会根据需要按需发现工具。总上下文消耗量仅约8.7K个代币,保留了95%的上下文窗口。
测试表明,启用工具搜索功能后,Opus 4 的准确率从49% 提高到 74%,Opus 4.5 的准确率从79.5% 提高到 88.1%。
值得注意的一点是,启用工具搜索功能也需要权衡利弊。该功能会在工具调用前增加一个搜索步骤,当上下文节省和准确性提升带来的收益超过额外延迟时,它才能带来最佳的投资回报率。
由此看来,该功能在以下场景中发挥最大:
程序化工具调用
随着工作流程变得越来越复杂,传统的工具调用方式会带来两个根本性问题:第一,中间结果造成的上下文污染;第二,每次工具调用都需要一次完整的模型推理。
程序化工具调用使 Claude能够通过代码而非单独的 API 调用来协调工具。Claude 可以通过编写代码来调用多个工具,并控制哪些信息最终进入其上下文窗口。
该功能可以提升以下效率:
程序化工具调用最适合处理大型数据集、运行多步骤工作流、处理中间数据并执行操作多个项目。
工具使用示例
JSON Schema 擅长定义结构,但它无法表达使用模式。比如何时包含可选参数、哪些组合有意义。
工具使用示例则允许直接在工具定义中提供示例工具调用。这样无需依赖模式就能向 Claude 展示具体的用法模式。
在 Claude 内部测试中,工具使用示例将复杂参数处理的准确率从72% 提高到 90%。
工具使用示例适用于复杂的嵌套结构、具有众多可选参数和包含模式的工具等。
参考资料:
https://www.anthropic.com/engineering/advanced-tool-use
【免责声明】本站所刊内容仅代表作者本人观点,与机器人网站无关。机器人网站对文中陈述、观点判断保持中立。本网转载自其它媒体的信息,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权,请联系我们删除。
本文地址:http://www.jiqiren.org.cn/tt/1264.html
