前置知识
阅读本文前,建议先了解:
- 01-Prompt 的定义与工作原理 - 理解Prompt原理
- 大模型基础理论 - 了解LLM能力边界
一、什么是Tool(工具)?
Tool(工具) 是LLM可以调用的外部能力——让LLM不只是”能说”,还能”能做”。
✅ LLM + Tool = 能够:
- 查询实时信息(天气、新闻、股票...)
- 执行实际操作(发邮件、建日程、读写文件...)
- 访问专业知识(数据库、企业文档...)
[!比喻] Tool像什么? 就像给LLM配备了”手”和”脚”——它能真正与世界交互。
二、什么是Function Call?
Function Call(函数调用) 是让LLM调用Tool的技术实现方式。
简单理解:
┌─────────────────────────────────────┐
│ Tool(工具) ← 广义概念,指外部能力 │
│ Function Call ← 技术实现,调用Tool的方法 │
└─────────────────────────────────────┘
在主流LLM API中(OpenAI、Claude等),Function Call就是实现Tool调用的接口。本质上是同一个东西。
2.1 对比:没有Tool vs 有Tool
❌ 没有Tool时:
你:今天北京天气怎么样?
LLM:我不知道实时天气,因为我无法访问互联网...
✅ 有Tool时:
你:今天北京天气怎么样?
LLM:(调用天气Tool)→ 返回:北京今天晴,25度
三、Tool/Function Call解决什么问题?
3.1 LLM知识有截止日期
LLM的训练数据有时间限制,不知道最新信息。
❌ "2024年12月的天气如何?"
→ LLM可能回答"我不知道"或编造答案
✅ Tool解决:调用实时天气API获取最新信息
3.2 LLM无法执行操作
LLM只能生成文字,不能真正”做事”。
❌ "帮我订一张机票"
→ LLM只能给你订机票的建议,无法真正操作
✅ Tool解决:调用机票API完成真正的订票操作
3.3 LLM可能产生幻觉
对于不确定的事实,LLM可能编造内容。
❌ "秦始皇活了多少岁?"
→ LLM可能给出一个错误的历史数据
✅ Tool解决:调用搜索Tool获取准确历史信息
四、Tool的核心作用
4.1 获取实时信息
LLM + 天气Tool → 获取实时天气
LLM + 搜索Tool → 获取最新新闻、股票...
4.2 执行实际操作
LLM + 日历Tool → 创建日程
LLM + 邮件Tool → 发送邮件
LLM + 文件Tool → 读写文件
4.3 访问专业知识
LLM + 数据库Tool → 查询企业数据
LLM + 文档Tool → 读取内部知识库
五、Tool/Function Call vs 纯Prompt
| 对比维度 | 纯Prompt | Tool/Function Call |
|---|---|---|
| 能力 | 仅生成文本 | 可调用外部工具 |
| 知识 | 训练数据(有时效) | 实时/外部知识 |
| 执行 | 无法操作 | 可执行操作 |
| 准确性 | 可能幻觉 | 更可靠 |
六、典型应用场景
6.1 智能助手
用户:帮我查一下明天去上海的机票
LLM:调用机票API → 返回结果 → 组织成自然语言回答
6.2 数据分析
用户:分析上季度的销售数据
LLM:调用数据库API → 查询数据 → 生成分析报告
6.3 自动化工作流
用户:帮我预约下周三下午2点的会议
LLM:调用日历API → 检查空闲时间 → 创建会议 → 发送邀请
七、总结
- Tool(工具) = LLM可以调用的外部能力
- Function Call = 调用Tool的技术实现方式
- 解决的核心问题:知识时效性、执行操作、减少幻觉
- 本质:LLM + Tool = 更强大的AI助手
八、延伸阅读
- 02-Function_Call 的工作原理 - 了解LLM如何决定调用工具
- 03-Function_Call 的实现与应用 - 实际应用与实现方式