Appearance
Tool Use / Toolformer
大型语言模型通过 API 调用外部工具以弥补自身能力缺陷的技术范式,是 Function Calling / Tool Use 概念的底层学术基础。
概述
Tool Use(工具使用)是指 LLM 通过调用外部 API、数据库或计算资源来扩展自身能力的技术。与纯参数内知识不同,工具使用让模型能够:获取实时信息、执行精确计算、与物理世界交互。Toolformer 是这一方向的奠基性工作,展示了模型可以自监督地学习何时以及如何调用工具。
Toolformer: 自监督工具学习
核心思想
Toolformer 由 Meta AI 于 2023 年提出,核心洞见是:LLM 可以通过简单的自监督流程,学会在生成文本时自动决定是否需要调用工具、调用哪个工具、传递什么参数,以及如何将工具返回结果融入后续生成。
训练流程
- API 采样: 对每个 API,提供少量人工编写的调用示例
- 数据标注: 在大型无标注文本语料中,模型预测每个位置调用 API 的潜在收益
- 过滤筛选: 只保留那些实际提升下一 token 预测概率的 API 调用
- 微调训练: 在带有 API 调用标记的增强数据上微调模型
支持的工具类型
- 计算器: 解决精确算术问题
- 问答系统: 获取事实性知识
- 搜索引擎: 检索实时信息
- 翻译系统: 跨语言转换
- 日历: 日期和时间计算
关键创新
- 自监督: 无需大量人工标注的 tool-use 数据
- 决策能力: 模型自主判断何时需要工具、何时仅靠自身知识即可
- 无缝集成: 工具调用以文本形式嵌入生成流程,无需特殊架构
从 Toolformer 到 Function Calling
层次关系
Tool Use (概念层)
├── Toolformer (学术基础 —— 自监督工具学习)
├── Function Calling (工程标准 —— OpenAI/Anthropic 结构化接口)
└── MCP (协议层 —— 标准化工具连接)技术演进
| 阶段 | 代表 | 特点 |
|---|---|---|
| 学术研究 | Toolformer (2023) | 自监督学习,文本嵌入 API 调用 |
| 工程标准化 | OpenAI Functions (2023) | 结构化 JSON Schema,强制格式输出 |
| 协议统一 | MCP (2024) | 标准化工具描述与调用协议 |
与 Function Calling 的差异
- Toolformer: 模型在 token 流中自发插入 API 调用标记(如
<API>Calculator(2+2)</API>),更贴近语言建模本质 - Function Calling: 预定义函数 schema,模型输出结构化 JSON 供外部解析执行,更工程化
为什么 LLM 需要工具
LLM 存在根本性能力边界:
- 知识截止: 训练数据有截止日期,无法获取实时信息
- 计算不可靠: 大数运算、逻辑推理容易出错
- 无状态: 无法持久化存储或访问外部系统
- 无感知: 无法直接观察或操作物理世界
工具使用是弥补这些缺陷的最小必要扩展,使 LLM 从"封闭系统"转变为"开放系统"。
关键论文
| 论文 | 作者 | 年份 | 链接 |
|---|---|---|---|
| Toolformer: Language Models Can Teach Themselves to Use Tools | Schick et al. (Meta AI) | 2023 | arXiv |
相关概念
- Function Calling / Tool Use —— LLM 与外部世界交互的标准化接口
- Model Context Protocol (MCP) —— AI 应用与外部系统的标准化连接协议
- AI Agents —— 结合推理、工具调用和任务执行的 AI 系统形态
- Chain-of-Thought & Reasoning —— 思维链推理,与工具调用协同增强推理能力
- Structured Output / JSON Mode —— 强制 LLM 输出符合预定义 schema 的技术