什么是 Tool Calling?
Tool Calling(工具调用)是AI模型的一种能力,允许模型在生成响应时主动调用预定义的外部函数或工具。与传统的仅依赖训练数据进行推理不同,Tool Calling使AI Agent能够实时与外部系统交互,执行计算、获取数据、操作应用,从而突破模型知识的时间限制和能力边界。
核心原理
Tool Calling的工作流程通常包括三个阶段:首先,模型根据用户请求判断需要调用哪个工具;然后,以结构化方式输出工具名称和参数;最后,由运行时执行工具并将结果返回给模型,模型基于结果生成最终响应。这一机制使AI从被动回答转变为主动行动。
应用场景
- 数据查询:调用搜索引擎、数据库查询、API接口获取实时信息
- 计算执行:执行数学计算、代码运行、数据处理
- 系统操作:发送邮件、操作文件、调用第三方服务
- 多工具编排:组合多个工具完成复杂任务,如先搜索再总结
示例:Tool Calling 流程
# 1. 定义工具
tools = [
{
"name": "get_weather",
"description": "获取城市天气信息",
"parameters": {
"type": "object",
"properties": {
"city": {"type": "string"}
}
}
}
]
# 2. 用户请求
user: "北京今天天气怎么样?"
# 3. 模型输出工具调用
{
"tool": "get_weather",
"arguments": {"city": "北京"}
}
# 4. 执行并返回结果
天气:晴,28°C,东南风3级
相关技术
Tool Calling与Function Calling概念密切相关,是更广义的工具调用能力的具体实现。MCP(Model Context Protocol)是新一代标准化协议,定义了工具描述、调用格式和结果处理的统一规范,使不同平台间的工具互操作成为可能。