工具组合
AI translation, not an official translation. Refer to the original for technical details.
On this page
Anthropic 提供的工具设计为协同工作。常见的 Agent 模式会将覆盖工作流互补阶段的工具配对使用:一个工具负责收集或发现,另一个工具负责处理或执行。以下组合仅作为起点,并非硬性规定。请根据您的任务自由搭配。
每个代码片段仅展示 tools 数组。完整的请求结构请参阅处理工具调用。
研究 Agent:web_search + code_execution
搜索负责查找来源;代码执行负责分析与综合。Claude 搜索数据,然后编写 Python 代码对其进行处理、制表或可视化。这种组合非常适合既需要最新信息、又需要对该信息进行非平凡计算的问题,例如"比较排名前五的云服务提供商本季度的盈利情况"。
{
"tools": [
{ "type": "web_search_20260209", "name": "web_search" },
{ "type": "code_execution_20260521", "name": "code_execution" }
]
}
典型流程为:先搜索,再执行,若第一轮发现信息缺口,则可选择再次搜索。代码执行在服务端运行,因此无需管理客户端沙箱。
编程 Agent:text_editor + bash
文本编辑器负责读取和修改文件;bash 负责运行测试和构建命令。这是经典的软件开发循环:检查代码、进行编辑、运行测试,如此往复。两个工具均在客户端执行,因此您的应用程序可以控制哪些文件和命令是可访问的。
{
"tools": [
{ "type": "text_editor_20250728", "name": "str_replace_based_edit_tool" },
{ "type": "bash_20250124", "name": "bash" }
]
}
如果 Agent 要处理不可信代码,请将其与受限的工作目录和命令白名单配合使用。有关执行契约,请参阅文本编辑器工具和 Bash 工具。
先引用后获取:web_search + web_fetch
搜索找出候选 URL;fetch 获取相关页面的完整内容。这样可以避免预先获取所有内容。Claude 执行搜索后,检查摘要,挑选出两三个真正相关的结果,然后只获取这些页面。
{
"tools": [
{ "type": "web_search_20260209", "name": "web_search" },
{ "type": "web_fetch_20260209", "name": "web_fetch" }
]
}
当答案存在于搜索摘要无法完整呈现的长篇内容(文档页面、文章、规范)中时,这种组合非常有用。Fetch 会拉取完整页面,便于 Claude 引用具体段落。
长期运行 Agent:memory + 其他任意工具
Memory 跨对话持久化状态;其他工具负责实际工作。为任何需要记住历史会话的 Agent 添加 memory,例如能回忆客户早期问题的支持 Agent,或追踪上周决策的项目助手。
{
"tools": [{ "type": "memory_20250818", "name": "memory" }]
}
将您的其他工具与 memory 一起放入同一数组中。
Memory 与其他工具是正交的。它不会改变其他工具的行为,而是为 Claude 提供一个记录和检索事实的地方,否则这些信息会在上下文窗口重置时丢失。有关存储模型,请参阅 Memory 工具。
全能方案:computer_use
计算机使用工具通过操作完整桌面,涵盖了大多数其他工具的功能。Claude 查看截图并发出鼠标和键盘操作,这意味着它可以操控任何人类能够使用的应用程序。当任务需要更专用工具无法覆盖的任意 GUI 交互时,请使用此工具:例如没有 API 的遗留软件、视觉验证步骤,或跨多个桌面应用程序的工作流。
{
"tools": [{ "type": "computer_toolset_20260801" }]
}
工具集条目不接受 name 或显示尺寸参数:坐标以您返回的截图的像素空间表示,您可以通过条目的 configs 字段关闭单个操作。
计算机使用是最通用的选项,但也是最慢的,因为 Claude 通常在每批操作后都需要新的截图。在能覆盖您用例的情况下,优先使用更专用的工具;只有在其他工具都不适用时,才使用计算机使用工具。如果任务仅在网页浏览器中进行,请使用下一节中的浏览器 Agent 模式。有关沙箱设置,请参阅计算机使用工具。
浏览器 Agent:browser_use
当整个任务发生在网页内(填写表单、读取页面内容、跨标签页操作)时,浏览器使用工具比计算机使用工具更为合适。您的应用程序驱动其控制的浏览器并返回截图或页面状态;Claude 会调用页面感知的成员工具,例如 read_page、find、form_input 和 get_page_text,以及点击和输入操作,因此它可以基于元素引用(而不仅仅是像素坐标)进行操作。
{
"tools": [{ "type": "browser_toolset_20260801" }]
}
与计算机使用工具集一样,该条目不接受 name,您可以通过其 configs 字段关闭单个成员工具。有关执行契约,请参阅浏览器使用工具。