Skip to content

Tool Use / Toolformer

大型语言模型通过 API 调用外部工具以弥补自身能力缺陷的技术范式,是 Function Calling / Tool Use 概念的底层学术基础。

概述

Tool Use(工具使用)是指 LLM 通过调用外部 API、数据库或计算资源来扩展自身能力的技术。与纯参数内知识不同,工具使用让模型能够:获取实时信息、执行精确计算、与物理世界交互。Toolformer 是这一方向的奠基性工作,展示了模型可以自监督地学习何时以及如何调用工具。

Toolformer: 自监督工具学习

核心思想

Toolformer 由 Meta AI 于 2023 年提出,核心洞见是:LLM 可以通过简单的自监督流程,学会在生成文本时自动决定是否需要调用工具、调用哪个工具、传递什么参数,以及如何将工具返回结果融入后续生成。

训练流程

  1. API 采样: 对每个 API,提供少量人工编写的调用示例
  2. 数据标注: 在大型无标注文本语料中,模型预测每个位置调用 API 的潜在收益
  3. 过滤筛选: 只保留那些实际提升下一 token 预测概率的 API 调用
  4. 微调训练: 在带有 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 存在根本性能力边界:

  1. 知识截止: 训练数据有截止日期,无法获取实时信息
  2. 计算不可靠: 大数运算、逻辑推理容易出错
  3. 无状态: 无法持久化存储或访问外部系统
  4. 无感知: 无法直接观察或操作物理世界

工具使用是弥补这些缺陷的最小必要扩展,使 LLM 从"封闭系统"转变为"开放系统"。

关键论文

论文作者年份链接
Toolformer: Language Models Can Teach Themselves to Use ToolsSchick et al. (Meta AI)2023arXiv

相关概念

AI Knowledge Base — 持续积累