Tool Calling(工具调用)
Tool Calling 是 AI Agent 调用外部函数或服务的能力,使其能够执行计算、访问数据、与外部系统交互,突破语言模型的固有局限性。
什么是 Tool Calling?
Tool Calling(也称为 Function Calling)是大型语言模型(LLM)的一种能力,允许 AI Agent 在生成响应时主动调用预定义的函数或工具。与仅仅生成文本不同,Tool Calling 使 AI 能够:
- 获取实时信息:查询数据库、调用 API、获取最新新闻
- 执行具体操作:发送邮件、创建文件、调用外部服务
- 进行复杂计算:运行代码、执行数学运算、处理数据
- 访问外部世界:浏览网页、操作文件系统、控制软件
核心工作原理
Tool Calling 的工作流程通常包括以下步骤:
- 工具定义:开发者预先定义可用的工具及其参数规范(通常使用 JSON Schema)
- 模型推理:LLM 分析用户请求,判断是否需要调用工具
- 参数生成:模型生成调用所需的参数
- 工具执行:系统执行工具并返回结果
- 结果整合:LLM 将工具返回的结果整合到最终响应中
应用场景
Tool Calling 广泛用于以下场景:
- 智能助手:帮助用户完成订票、点餐、查询天气等任务
- 数据分析:让 AI 执行 SQL 查询、生成图表、分析数据
- 自动化工作流:通过 AI 驱动的工作流编排工具
- 代码开发:AI 编程助手执行代码、运行测试、部署应用
- 企业集成:连接企业系统(CRM、ERP、数据库等)
简单示例
以天气查询为例:
// 定义天气查询工具
{
"name": "get_weather",
"description": "查询指定城市的天气",
"parameters": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "城市名称"}
},
"required": ["city"]
}
}
// 用户请求:"北京今天天气怎么样?"
// LLM 推理并生成调用:
{
"name": "get_weather",
"arguments": {"city": "北京"}
}
// 系统执行后返回结果,LLM 生成最终回答:
// "北京今天天气晴朗,温度 22-28°C,适合外出。"
相关术语
- Agent Workflow - Agent 的工作流程编排
- MCP (Model Context Protocol) - 模型上下文协议
- Multi-Agent - 多 Agent 系统
- Function Call - 函数调用