Agent工具太多怎么办:用按需发现缩小候选工具集
本文根据 Anthropic 于2025年11月24日发布的《Introducing advanced tool use on the Claude Developer Platform》中 Tool Search Tool 部分编译,并补充实践建议;不是逐段直译,也不宣称原创。
当一个 Agent 接入多个系统时,工具说明可能先于用户任务占用大量上下文。相近的工具名称也会增加误选机会。原文提出按需发现:把少量高频工具直接保留在上下文里,其余工具需要时再检索并加载定义。
一、发现流程如何工作
开发者仍向接口提供工具定义,但为适合延迟加载的工具设置 defer_loading: true。模型先调用工具搜索,得到匹配的工具引用,再将引用展开为完整定义,最后根据参数规范调用。工具搜索入口本身必须可用;常用且关键的工具可以保持直接加载。
二、工具描述就是检索入口
原文强调工具名称与描述影响发现效果。描述应说明业务对象、支持的筛选条件和返回内容。例如,一个订单查询工具可以说明支持日期范围、状态筛选以及结果字段,帮助模型判断它能否满足当前问题。含糊的“执行查询”很难区分相似工具。
三、什么时候值得使用
工具很多、定义很长、多个MCP服务并存时,按需发现更有价值。代价是增加一次搜索步骤。若只有几个简短且每次都会用到的工具,直接加载通常更简单。原文报告的内部测试收益不能直接当作自己业务的性能承诺。
四、一个落地实验(本文补充)
先挑选30条真实任务,固定模型、提示词与工具版本,分别运行“全部加载”和“按需发现”。同时记录初始工具定义token量、搜索次数、漏检率、错误工具调用率以及端到端延迟。只有成功率保持稳定且总体开销下降,才逐步扩大延迟加载范围。对搜索不到工具的情况应明确返回能力不足,不要凭相似名称猜测调用。
按需发现改变的是模型看到工具的时机,应用端仍应独立检查权限、参数和执行结果。上线前应核对当前平台文档的模型支持与参数版本。
来源:Anthropic,Introducing advanced tool use on the Claude Developer Platform
https://www.anthropic.com/engineering/advanced-tool-use
- 点赞
- 收藏
- 关注作者
评论(0)