定义
Tool Calling(工具调用) 是大型语言模型(LLM)的一种核心能力,使其能够根据用户请求动态调用预定义的外部函数或服务。与传统的被动响应不同,具备 Tool Calling 能力的 AI Agent 可以主动执行代码、查询数据库、调用 API,将语言理解与实际行动相结合。
核心原理
Tool Calling 的实现依赖于几个关键组件:
- 工具定义(Tool Schema) :以结构化方式描述工具的名称、参数和返回值,供模型理解何时及如何调用
- 调用决策(Call Decision) :模型分析用户意图和上下文,决定是否需要调用工具以及调用哪个工具
- 执行引擎(Execution Engine) :接收模型生成的调用请求,实际执行工具并返回结果
- 结果整合(Result Integration) :将工具执行结果融入对话上下文,让模型基于反馈生成最终回答
应用场景
Tool Calling 广泛用于以下场景:
- 实时信息检索 :查询天气、股价、新闻等实时数据
- 数据库操作 :执行 SQL 查询、读取或写入数据
- API 集成 :调用第三方服务(如飞书、Slack、CRM 系统)
- 代码执行 :运行 Python、JavaScript 等代码完成计算或数据处理
- 多步骤工作流 :串联多个工具完成复杂任务,如先搜索再总结
示例
示例:查询天气
用户:今天北京天气怎么样?
模型判断需要调用天气工具,生成调用请求:
{
"name": "get_weather",
"arguments": {"city": "北京"}
}
执行工具后返回结果:"晴,25-32°C"
模型最终回答:今天北京天气晴朗,气温25到32度,适合外出。