正在加载模式…
工具使用
外部工具集成与函数调用模式
30秒速览
- 是什么
- 把 AI 系统连接到外部工具、API、数据库和服务,让智能体能够执行文本生成之外的动作,比如计算、数据检索、文件操作和系统交互。
- 何时使用
- 需要训练数据中没有的实时信息的任务、超出文本能力的精确计算、与 API 或数据库的交互,或文件与系统层面的操作。
- 注意
- 当工具失败或不可用时,若错误处理不到位,故障会层层扩散,导致系统崩溃和工作流中断。
就这些模式咨询 AI 专家
打开助手并预填您的问题,发送前可先确认。
概览
工具使用模式使 AI 系统能够通过与外部工具、API、数据库和服务集成来扩展自身能力。这些模式让 AI 智能体能够执行超越文本生成的操作,例如进行计算、访问实时数据、执行代码、操作文件或与外部系统交互,从而极大地拓展了它们可以自主完成的任务范围。
实际应用与使用场景
数据分析:与分析工具和数据库集成,执行复杂的数据处理与可视化。
代码执行:运行并测试各种编程语言的代码,以验证功能并提供结果。
API 集成:连接外部服务以获取天气数据、金融信息或第三方功能。
文件管理:跨不同格式与存储系统读取、写入和操作文件与文档。
数学计算:使用专门的计算工具进行复杂的数学运算与科学计算。
Web 自动化:与 Web 服务交互、抓取数据或自动执行基于浏览器的任务。
系统管理:执行系统操作、监控资源并管理基础设施。
内容创作:利用专门的工具进行图像生成、视频编辑或文档排版。
为什么这很重要
工具使用模式对于打造能够与现实世界系统交互并执行具体操作的实用 AI 智能体至关重要。它们弥合了 AI 推理能力与实际效用之间的鸿沟,使智能体能够获取最新信息、进行精确计算,并执行需要与外部系统交互的任务。这种能力将 AI 从单纯的文本生成工具转变为多功能的自动化平台。
实施指南
何时使用
- 需要训练数据中不具备的实时或最新信息的任务
- 需要超越文本生成的精确计算或数据分析的应用
- 必须与外部 API 或数据库交互的系统
- 需要文件操作或系统操作的工作流
- 需要验证或执行所生成代码的场景
- 需要与现有业务系统集成的应用
最佳实践
- 为工具故障和网络问题设计健壮的错误处理
- 为工具访问实施适当的身份验证与安全措施
- 使用工具抽象层以简化集成与维护
- 验证工具输入并对输出进行净化,以防范安全问题
- 为工具使用实施速率限制与资源管理
- 为每个可用工具提供清晰的文档与示例
- 监控工具的使用情况与性能,以发现优化机会
常见陷阱
- 错误处理不足,导致工具不可用时系统发生故障
- 因输入验证不当或权限过大而产生的安全漏洞
- 对本可仅凭 AI 能力完成的任务过度依赖工具
- 工具选择不当,导致任务执行低效或错误
- 未考虑使用外部工具在延迟和成本方面的影响
- 对工具交互的监控与日志记录不足,不利于调试
可用技术
函数调用
供 AI 调用外部函数和 API 的结构化接口
代码执行
在隔离环境中安全地执行 LLM 生成的代码,用于计算和数据处理
Model Context Protocol(MCP)
用于在 AI 模型与工具之间共享上下文和能力的标准化协议
作为工具的控制平面(CPT)
向智能体暴露单一、统一的工具接口,同时由内部控制平面将每个请求路由到其背后正确的工具、服务或模型。随着工具目录的演进,智能体的提示词保持稳定,而认证、策略、速率限制和可观测性都在同一处强制执行。
计算机操作(CU)
智能体像人一样操作图形用户界面(桌面、浏览器或移动端),通过读取截图并发出鼠标和键盘操作,而不是调用 API。核心挑战在于 GUI 定位:将意图映射到屏幕上精确的像素坐标。智能体循环执行截图、推理、行动和观察,直到任务完成。
智能体技能(AS)
以自包含文件夹形式打包的能力。每个技能都是一个 SKILL.md 文件,包含 YAML frontmatter(名称和描述),以及可选的脚本和资源。智能体通过元数据发现技能,并借助三个层级的渐进式披露来加载它们:先读取名称和描述以判断相关性,激活后加载完整的 SKILL.md,然后按需执行打包的脚本和资源。这样既能保持上下文精简,又能提供众多能力,而且该格式是一项被众多厂商采用的开放标准。
工具检索(Tool RAG)(TR)
当智能体可以访问成百上千个工具或 MCP 服务器时,将每个 schema 都加载进提示词既昂贵又会损害选择准确性。工具检索会对工具定义建立索引,并在模型做出选择之前,针对每个查询只检索语义相关的工具(嵌入检索、主动发现和重排序)。RAG-MCP 报告称,工具选择准确率从约 13% 提升到 43%,同时将提示词的 token 数量削减了一半以上。
结构化输出(SO)
通过约束解码来保证模型输出符合某个 schema。JSON Schema、正则表达式或语法会被编译成一个有限状态机,在每个解码步骤中,会屏蔽掉那些会违反 schema 的 token,从而只能采样出有效的续写。在严格模式下,这使得格式错误的 JSON 和无效的工具参数成为不可能。该功能在 OpenAI、Google 和 Anthropic 上原生可用,也可用于 Outlines 和 vLLM 等开源库。
代码即行动(CodeAct)(CA)
智能体的行动空间不再是每一轮输出一个 JSON 工具调用,而是用循环、条件和变量来编排工具的可执行代码。单个代码块可以调用多个工具、根据结果进行分支,并将中间数据保留在运行时中,而不必把每个结果都通过上下文窗口传回。Anthropic 报告称,当通过 MCP 从代码中调用工具时,在某些多工具工作流上可将 token 削减约 98%。
结构化反思(Think Tool)
在智能体的工具 schema 中声明的一个专用、无副作用的“think”工具(Anthropic),模型在轨迹中途调用它,以在工具结果与下一步行动之间追加结构化推理。该调用没有任何外部效果,也不返回任何有用的内容:它只是为模型提供一个检查点,以便在一条很长的工具调用链中行动之前重新阅读策略、核对约束并进行规划。Anthropic 报告称,当把该工具与一段展示其用法的提示词搭配使用时,在 tau-bench 的 pass^1 airline 指标上取得了 54% 的相对提升(0.570,而基线为 0.370)。它不同于 `metacognitive-monitoring`:后者指的是监控自身推理的通用能力,而 think 工具是实现这一能力的一种具体的工具 schema 层面的机制,与在首次响应之前进行的扩展思考或推理时思考不同。
MCP 网关(工具联邦与治理)(MCPG)
作为反向代理置于众多后端 MCP 服务器之前的单一受治理 MCP 入口,将它们的工具汇聚(联邦化)为供智能体连接的一个经过精选、统一管理的工具界面。每次工具调用都经由该网关,由其强制执行集中式认证、将调用方身份与下游服务器权限相分离的按工具授权、策略检查、速率限制、审计日志与遥测。这样一来,一堆各自独立部署、杂乱无章的服务器就变成了单一的受控集成契约,从而无需改动每个智能体即可对工具进行精选、版本管理和撤销。它区别于 `control-plane`:控制平面是暴露单一接口、在内部将请求路由至任意工具、服务或模型的通用模式,而 MCP 网关则是 MCP 生态特有的实现,专注于联邦化众多 MCP 服务器并治理共享的工具访问界面。
Patterns Pack
把整个目录带走:MCP服务器、编辑器规则与技能,以及数据。
The Agent Architect
每周一个模式、一个权衡、一个生产事故案例。为构建智能体系统的人准备的每周简报。
每周一封邮件,一键退订。您的地址仅用于发送简报。
由本目录背后的工程师执行
为你的智能体架构做一次评审
本页讲的是一个模式。真实系统会同时跑几十个,而多数故障恰恰出在它们的衔接处。我们按本目录的 288 个模式评审你的整体设计:架构、可靠性、评测与成本,每一条结论都对应到能修复它的模式。
€750(原价 €1,500),一周交付,书面报告加讲解通话,9月30日前