定义
Tool Call(工具调用) 是大语言模型(LLM)与外部系统交互的核心机制。当模型判断需要执行特定操作(如查询数据库、调用API、计算数学题)时,它会生成结构化的调用请求,由外部执行环境负责实际执行并返回结果。
Tool Call 与 Function Calling 基本等价,但"Tool Call"强调更广泛的"工具"概念,包括搜索、计算、文件操作等各类能力。
工作原理
工具调用通常包含以下流程:
- 工具定义 :向模型提供可用工具的描述(名称、参数Schema、功能说明)
- 意图识别 :模型分析用户请求,判断是否需要调用工具
- 参数生成 :模型根据工具Schema生成符合规范的调用参数
- 执行与反馈 :执行环境运行工具,将结果返回给模型
- 结果整合 :模型将工具结果融入最终回答
应用场景
- 实时信息查询 :搜索最新新闻、股票行情、天气数据
- 数据库操作 :查询、插入、更新企业数据
- API集成 :调用外部服务(邮件、CRM、日历等)
- 代码执行 :运行代码片段进行计算或测试
- 文件处理 :读取、生成、分析各类文档
示例
OpenClaw中的工具调用配置
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "获取指定城市的天气信息",
"parameters": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "城市名称"},
"unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}
},
"required": ["city"]
}
}
}
]
用户问"北京今天天气怎么样"时,模型识别到需要调用
get_weather
工具,自动生成参数
{"city": "北京", "unit": "celsius"}
,执行后返回天气信息。