前置知识

阅读本文前,建议先了解:


一、什么是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

对比维度纯PromptTool/Function Call
能力仅生成文本可调用外部工具
知识训练数据(有时效)实时/外部知识
执行无法操作可执行操作
准确性可能幻觉更可靠

六、典型应用场景

6.1 智能助手

用户:帮我查一下明天去上海的机票
LLM:调用机票API → 返回结果 → 组织成自然语言回答

6.2 数据分析

用户:分析上季度的销售数据
LLM:调用数据库API → 查询数据 → 生成分析报告

6.3 自动化工作流

用户:帮我预约下周三下午2点的会议
LLM:调用日历API → 检查空闲时间 → 创建会议 → 发送邀请

七、总结

  • Tool(工具) = LLM可以调用的外部能力
  • Function Call = 调用Tool的技术实现方式
  • 解决的核心问题:知识时效性、执行操作、减少幻觉
  • 本质:LLM + Tool = 更强大的AI助手

八、延伸阅读