工具使用
/tuːl juːz/
Also known as: function calling, API calling, tool calling, external tool use
technical intermediate
什么是工具使用?
工具使用是 AI 模型调用外部函数、API、数据库和系统以完成任务的能力。这是将语言模型从文本生成系统转变为可以在世界上采取实际行动的代理的关键。
当模型具有工具使用能力时:
- 它可以用适当的参数调用函数
- 它接收结果来自这些函数调用
- 它将结果纳入其推理和响应
- 它链接多个工具以完成复杂任务
为什么工具使用很重要
在工具使用之前:“我无法访问实时数据或采取行动——我只能处理文本。”
在工具使用之后:“让我检查您的账户余额、安排那次会议并发送确认电子邮件。”
工具使用是 AI 理解语言和 AI 做工作之间的桥梁。
如何工作
基本流程
- 用户请求:“东京的天气怎么样?”
- 模型识别:这需要外部数据
- 模型调用工具:
get_weather(location="Tokyo") - 系统执行:调用天气 API,返回数据
- 模型响应:“东京 72°F,阳光明媚”
工具定义示例
{
"name": "send_email",
"description": "向收件人发送电子邮件",
"parameters": {
"to": { "type": "string", "description": "收件人电子邮件" },
"subject": { "type": "string", "description": "电子邮件主题" },
"body": { "type": "string", "description": "电子邮件内容" }
}
}
模型从定义和示例中学习何时以及如何使用此工具。
工具类型
信息检索
- 数据库查询
- Web 搜索
- 文档查找
- API 数据获取
行动
- 发送电子邮件/消息
- 创建/更新记录
- 安排事件
- 处理付款
计算
- 运行代码
- 数据分析
- 数学计算
- 文件操作
多模态
- 图像生成
- 语音合成
- 文档创建
实现方法
原生函数调用
内置于模型 API(OpenAI、Anthropic、Google):
- 模型输出结构化函数调用
- 应用程序执行并返回结果
- 最可靠、供应商支持
模型上下文协议(MCP)
Anthropic 的工具集成开放标准:
- 标准化工具定义
- 跨不同应用程序工作
- 不断增长的预构建工具生态系统
代理框架
LangChain、AutoGPT、CrewAI:
- 编排多个工具
- 处理复杂的多步骤工作流
- 添加记忆和规划
企业工具类别
| 类别 | 示例 |
|---|---|
| CRM | Salesforce、HubSpot 查询和更新 |
| 通信 | Slack、电子邮件、日历管理 |
| 数据 | SQL 数据库、数据仓库、分析 |
| 文档 | Google Docs、Notion、文件系统 |
| 付款 | Stripe、发票处理 |
| 支持 | 票务系统、知识库 |
安全考虑
工具使用引入了真实风险:
- 数据暴露:工具可能访问敏感信息
- 行动权限:代理应该被允许做什么?
- 提示注入:恶意输入触发意外的工具调用
- 速率限制:代理可以快速进行许多 API 调用
- 审计跟踪:跟踪采取了哪些行动以及为什么
工具使用革命
工具使用将 AI 从生产力增强器转变为工作执行者。擅长工具使用的模型——理解何时使用哪个工具、优雅地处理错误、有效地链接工具——将为下一代 AI 代理提供动力。