第3章 工具调用(Tool Use / Function Calling)
🔧 "如果 LLM 是一个博学但足不出户的学者,那工具就是它的手脚——让它能走出书房,触摸真实世界。"
想象一下:你问 ChatGPT "现在苹果股价是多少?",它只能回答"根据我训练数据中的信息……"。因为它被训练完后就与世隔绝了——不能搜索、不能计算、不能执行任何操作。
工具调用(Function Calling)要解决的就是这个问题。
它让模型不再只是"说",还能"做"。模型自己不执行任何操作,而是输出一段结构化的指令:"请帮我调用天气 API,查询北京"。我们的代码收到指令后执行真正的操作,再把结果反馈给模型。
这就是 Function Calling 的核心思想:LLM 当大脑做决策,代码当手脚去执行。
🎓 学习目标
完成本章学习后,你将能够:
- ✅ 理解 Function Calling 的 5 步流程到底是什么
- ✅ 设计出让模型"听懂"的工具定义
- ✅ 编写高质量的
description字段——它直接决定了 Agent 的"智商" - ✅ 从零搭建一个能搜索、能计算的 Agent
- ✅ 了解工具学习的学术前沿(Toolformer / Gorilla / ToolLLM)
⏱️ 预计学习时间
约 60-80 分钟(精读 + 动手实践)
💡 前置知识
- 了解 Python 基本语法(函数、字典)
- 知道 JSON 是什么
- 有过一次调用 OpenAI API 的经验即可
📚 本章结构
| 小节 | 内容 |
|---|---|
| 3.1 为什么需要工具? | 先建立直觉:LLM 的三个"先天残疾" |
| 3.2 Function Calling 机制 | 核心章节:5 步流程 + 最小可运行代码 |
| 3.3 自定义工具的设计原则 | 不是怎么写代码,而是怎么思考设计 |
| 3.4 工具描述的编写技巧 | description 写得好不好,Agent 智商差一倍 |
| 3.5 实战:搜索引擎+计算器 | 把前面学的全部串起来 |
| 3.6 论文解读 | 学术前沿:Toolformer / Gorilla / ToolLLM |
📌 一句话总结本章:工具调用的本质是 "用自然语言桥接 LLM 的推理能力和外部系统的执行能力"。掌握好这一章,后面学 RAG、Multi-Agent 都会顺畅很多。
🔗 学习路径
前置知识:第2章 大语言模型基础
后续推荐:
- 👉 第4章 记忆系统(Memory) — 让 Agent 记住交互历史
- 👉 第6章 检索增强生成(RAG) — 工具调用与外部知识检索的结合