Tool Calling 工具调用
什么是 Tool Calling?
Tool Calling(工具调用)是让 AI 模型能够调用外部工具和 API 的能力。它让 AI 从"只会说话"进化到"能做事情"。
🎯 一句话理解
Tool Calling 就像是给 AI 装上了"手"——不只是告诉你怎么做,而是直接帮你做。搜索网页、写文件、发消息,统统不在话下。
Tool Calling vs Function Calling
| 概念 | 说明 |
|---|---|
| Function Calling | OpenAI 提出的概念,特指调用预定义函数 |
| Tool Calling | 更广泛的概念,包括函数、API、外部服务等 |
现在业界更倾向于使用 Tool Calling 这个术语,因为它更准确地描述了 AI 调用各种外部资源的能力。
为什么 Tool Calling 很重要?
- 突破知识边界 - AI 可以获取最新信息
- 执行实际操作 - 不只是回答问题,还能解决问题
- 扩展能力范围 - 通过工具实现无限可能
- 提高准确性 - 用工具验证和补充信息
工作原理
Tool Calling 的执行流程
用户请求
↓
AI 分析请求 → 决定是否需要工具
↓
生成工具调用请求(工具名 + 参数)
↓
系统执行工具 → 返回结果
↓
AI 整合结果 → 生成最终回答
工具定义结构
{
"name": "get_weather",
"description": "获取指定城市的天气信息",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "城市名称,如:北京"
}
},
"required": ["city"]
}
}
工具调用请求示例
{
"tool_calls": [{
"id": "call_abc123",
"type": "function",
"function": {
"name": "get_weather",
"arguments": "{\"city\": \"北京\"}"
}
}]
}
OpenClaw 实战应用
OpenClaw 内置工具
| 工具类别 | 工具名称 | 功能 |
|---|---|---|
| 文件操作 | read, write, edit | 读写文件、精确编辑 |
| 命令执行 | exec, process | 执行系统命令、管理进程 |
| 网络访问 | web_search, web_fetch | 搜索、抓取网页 |
| 浏览器 | browser | 浏览器自动化 |
| 消息通信 | message | 发送消息到各平台 |
| 任务调度 | cron | 定时任务管理 |
场景一:自动化报告生成
1. web_search: 搜索最新行业数据
2. web_fetch: 抓取详细报告内容
3. read: 读取历史数据文件
4. write: 生成新报告文件
5. message: 发送报告到飞书群
场景二:代码开发助手
1. read: 读取现有代码
2. exec: 运行测试命令
3. edit: 修复代码问题
4. exec: 再次测试验证
5. exec: git commit 提交
代码示例
OpenClaw 工具调用示例
# AI 自动决定调用工具
用户: "帮我搜索 OpenClaw 的最新教程"
AI 思考: 需要使用 web_search 工具
工具调用:
{
"name": "web_search",
"arguments": {
"query": "OpenClaw 教程 2026",
"count": 5
}
}
工具返回: [搜索结果...]
AI 回复: "我找到了以下 OpenClaw 教程..."
自定义工具开发
// 定义自定义工具
const myTool = {
name: "send_email",
description: "发送邮件到指定地址",
parameters: {
type: "object",
properties: {
to: { type: "string", description: "收件人邮箱" },
subject: { type: "string", description: "邮件主题" },
body: { type: "string", description: "邮件正文" }
},
required: ["to", "subject", "body"]
},
execute: async (params) => {
// 实现发送逻辑
return { success: true, messageId: "msg_123" };
}
};
💡 想了解更多?
访问 妙趣AI 获取更多 OpenClaw 教程和 AI 工具推荐!