Tool Calling(工具调用)
Tool Calling 是大语言模型(LLM)通过结构化输出主动调用外部函数或 API 的能力,使 AI Agent 能够执行实际操作而不仅仅是生成文本。
定义
Tool Calling(工具调用)是现代 AI Agent 系统的核心技术范式。当大语言模型处理用户请求时,如果需要执行计算、查询数据、调用外部服务或操作系统资源,模型会生成结构化的函数调用请求,由执行环境实际调用相关工具并返回结果。这种机制让 AI 从"被动响应"转变为"主动执行"。
工作原理
Tool Calling 的完整流程包括:
- 工具注册:Agent 运行时向 LLM 暴露可用工具的 schema(名称、参数、返回值)
- 意图判断:LLM 分析用户请求,判断是否需要调用工具以及调用哪个工具
- 参数生成:模型根据工具 schema 和上下文生成符合规范的调用参数
- 执行与反馈:执行环境调用工具,将结果格式化后返回给 LLM
- 结果整合:LLM 整合工具返回结果,生成最终响应
应用场景
- 数据查询:连接数据库、API 或搜索服务获取实时信息
- 计算任务:执行复杂数学计算、代码运行或数据分析
- 系统操作:操作文件、发送消息、调用外部服务
- 多步骤工作流:编排多个工具完成复杂业务流程
示例
// 工具定义示例
{
"name": "search_documents",
"description": "搜索知识库文档",
"parameters": {
"type": "object",
"properties": {
"query": {"type": "string", "description": "搜索关键词"},
"limit": {"type": "integer", "description": "返回数量"}
},
"required": ["query"]
}
}
// Agent 调用流程
用户:查找关于 MCP 协议的最新文档
LLM:需要调用 search_documents 工具
→ 执行工具返回结果
→ LLM 生成最终回答
相关术语
- Function Calling - Tool Calling 的同义词
- Tool Calling 优化
- MCP 协议 - 标准化工具调用协议
- 多 Agent 编排