Toolformer:让语言模型学会使用工具的自监督训练范式
Toolformer:让语言模型学会使用外部工具的自监督方法
1. 背景:为什么大模型需要“工具能力”?
尽管大语言模型(LLM)在文本生成方面表现强大,但它仍然存在一些结构性问题:
❗能力局限
- 无法获取实时信息
- 容易产生事实错误(hallucination)
- 数学计算能力有限
- 对时间变化不敏感
- 依赖参数记忆,而不是外部知识
❗本质问题
LLM 本质上是:
一个“闭卷考试模型”
但现实世界需要:
查资料 + 计算 + 推理 + 调用系统
2. 核心目标:让模型学会使用工具
Toolformer 的目标可以概括为:
👉 让模型自己学会:
- 什么时候调用工具
- 调用哪个工具
- 如何使用工具返回结果
3. 核心思想(一句话)
用自监督方式,让模型自动学习 API 调用行为
关键点:
- 不依赖人工标注
- 自动生成训练数据
- 用 loss 判断工具是否有价值
4. 方法整体流程
Toolformer 的整体训练流程:
- 模型在文本中预测可能需要工具的位置
- 生成候选 API 调用
- 执行 API 获得结果
- 判断 API 是否降低预测误差
- 过滤无效 API 调用
- 构造增强训练数据
- 重新训练模型
![image]()
5. API 是什么?
在 Toolformer 中,API 是:
外部工具的统一接口
API 表达形式
无结果:
[API] a(i) [/API]
有结果:
[API] a(i) → r [/API]
参数说明
| 符号 | 含义 |
|---|---|
| a | 工具名称 |
| i | 输入参数 |
| r | 返回结果 |
6. 核心机制:loss 筛选
模型判断标准:
使用工具是否让预测更准确

核心逻辑
- 如果使用工具降低 loss → 保留
- 否则 → 删除
7. 工具来源
Toolformer 使用的工具包括:
| 工具 | 功能 |
|---|---|
| QA 系统 | 问答 |
| 搜索引擎 | 信息检索 |
| 计算器 | 数学计算 |
| 翻译系统 | 语言转换 |
| 时间工具 | 日期与时间 |
8. 为什么是自监督?
核心特点:
❗无需人工标注
模型自动完成:
- 生成 API 调用
- 获取结果
- 判断是否有效
- 过滤训练样本
❗本质
用模型自身 loss 作为监督信号
9. 数据构造方式
训练样本变换:
原始文本 → 插入 API 调用 → 插入 API 返回结果
示例:
Pittsburgh is also known as [API] QA(...) → Steel City [/API]



10. 模型学到的能力
Toolformer 学到的是三种能力:
| 能力 | 说明 |
|---|---|
| 是否调用工具 | 判断是否需要 API |
| 选择工具 | QA / Search / Calc |
| 融合结果 | 使用返回信息 |
11. 实验结果
不同任务上表现提升:
| 任务 | 效果 |
|---|---|
| 数学计算 | 显著提升 |
| 问答任务 | 明显提升 |
| 多语言任务 | 稳定提升 |
| 时间推理 | 部分提升 |
重要现象
- 阈值低 → 调用多但噪声高
- 阈值高 → 调用少但更精确
12. Toolformer vs Function Calling
| 对比 | Toolformer | Function Calling |
|---|---|---|
| 本质 | 学习方法 | 工具协议 |
| 是否训练 | 是 | 否 |
| 标准化 | 否 | 是 |
| 目标 | 学会用工具 | 统一接口 |
13. 方法优势
- 无需人工标注
- 自动生成训练数据
- 支持多工具
- 不破坏语言模型能力
14. 方法局限
- 工具链能力有限
- API 结构简单
- 训练成本较高
- 对 prompt 敏感
15. 核心启示
⭐ 1. 工具能力可以学习出来
不是规则设计,而是数据驱动
⭐ 2. loss 可以作为工具价值判断
核心创新点
⭐ 3. LLM 从“生成器”变成“调度器”
模型角色变化:
知识生成 → 工具调用协调
16. 总结
Toolformer 的核心思想是:
通过自监督学习,让语言模型自动学会在合适位置调用外部工具,并通过 loss 筛选有效调用行为。
📌 一句话总结
Toolformer = 让模型学会“什么时候该用工具”

浙公网安备 33010602011771号