ARTICLE · 986087
AI是怎么学会自己调用工具的?Toolformer论文解析
AI是怎么学会自己调用工具的?
Toolformer论文解析
一篇论文,告诉你大模型为什么开始学会"自己找工具"
上一篇,我们讲了 ReAct。它让大语言模型开始从:
不再只是坐在那里回答问题,而是可以通过行动获取外部信息。但一个很现实的问题出现了:AI知道自己可以行动,可它什么时候该用工具?又该用哪个?
比如 ——
那么问题来了:能不能让AI自己判断——这个问题,我到底需不需要调用工具?
2023年,Meta FAIR的研究者提出了一种非常有意思的方法:
META FAIR · 2023
《Toolformer: Language Models Can Teach Themselves to Use Tools》


01一个大模型,为什么还需要工具?
大语言模型最擅长的事情,是处理语言。但是,它并不是万能的——
于是我们会发现:模型本身的能力,和现实世界需要的能力,并不是一回事。模型可能很聪明,但它没有:
真正强大的AI,很可能不是"什么都会",而是"知道什么时候应该借助工具"
02ReAct解决"行动",Toolformer解决"工具使用"
ReAct已经告诉我们,AI可以:思考 → 行动 → 获得反馈 → 再思考。但如果给它一整个工具箱:
🧰 TOOLFORMER 的工具箱
🧮 Calculator🔍 Search❓ QA🌐 Translation📅 Calendar它必须进一步解决三个问题:
真正困难的不是"工具能不能调用",而是"什么时候值得调用"——这正是Toolformer关注的核心
03最有意思的地方:让AI自己制造训练数据
研究人员当然可以人工标注"这里调用计算器、那里调用搜索",但成本太高——工具使用场景几乎是无限的。于是Toolformer采取了一个非常巧妙的办法:让模型自己尝试生成工具调用。
📌 自监督数据构造流程
↓
↓
↓
↓
例如原始文本是 "The current time in Berlin is …",模型可能插入 [CALCULATOR(...)] 或者 [QA("current time in Berlin")],然后调用对应工具,拿到返回结果后继续生成后面的文本。
04不是所有工具调用都值得保留
这里是Toolformer非常关键的一步:模型自己插入工具调用之后,研究人员不会照单全收,而是继续判断——这个工具真的有帮助吗?
✅ 保留
加入工具结果后,模型对后续文本的预测明显更准确——这个调用有价值
✕ 丢掉
加入工具后没有帮助、甚至让预测变差——直接丢弃
经过大量尝试和筛选,模型逐渐获得了一批高质量的训练样本:什么时候应该调用工具。这就是Toolformer非常巧妙的地方——
模型在一定程度上"教会了自己"如何使用工具
📎 论文将这种过程设计成一种自监督的数据构造与筛选流程,避免为每个工具建立大规模人工标注数据。(arXiv.org)
05Toolformer到底学会了什么?
它并不是简单学会"调用工具",而是学会了一整套工具使用行为:
① 判断是否需要工具
自己能解决的直接回答;需要外部信息的才调用工具
② 选择工具
计算问题→Calculator;事实查询→QA / Search;语言转换→Translation;时间相关→Calendar
③ 生成工具参数
例如 Calculator(12345 * 67890),模型需要自己构造正确的调用内容
④ 理解工具返回值
工具返回 838102050,模型要知道这个结果是什么、以及怎样继续使用它
所以完整流程其实是:
这已经非常接近今天AI Agent中的工具调用机制。
06为什么"工具"会改变大模型的能力边界?
这是Toolformer最值得我们思考的地方。
⏮ 以前:模型会什么,取决于它学过什么
没学到实时天气,就不知道天气;不会精确计算,就可能算错
⏭ 加入工具后:能力边界被重新定义
不知道 → 去查;算不准 → 去算;没有实时信息 → 去获取;不会某项操作 → 调用对应工具
模型不再需要自己拥有所有能力,它可以通过工具"借用"能力。这和人类解决复杂问题非常像——一个人不需要自己记住整个世界,真正重要的是:知道哪里能找到答案。
07这和今天的AI Agent有什么关系?
今天我们常见的AI Agent,通常都有这样的结构:
🤖 AI AGENT 的典型结构
↓
↓
↓
↓
↓
其中,ReAct 更强调"推理 + 行动";而 Toolformer 更进一步强调"模型可以学习工具使用行为"。二者结合之后,就出现了我们今天非常熟悉的 Tool Use——
大模型不再只是"说",而开始"调用能力"
08为什么这比看起来更重要?
因为真正的AI Agent,不可能什么事情都自己做。想象一下未来的AI助手,你告诉它"帮我安排下周去东京的出差",它需要:
如果这些事情全都依赖模型自己完成,它几乎不可能做好。但如果它能够调用不同工具——搜索、订票系统、日历、地图、邮件、计算器——事情就完全不同了。这时候:
一个语言模型 + 一组外部工具就可能形成一个非常强大的任务执行系统
所以从某种意义上说,工具让大模型第一次拥有了"扩展能力"。
09Toolformer不是终点
当然,Toolformer也不是一个完整的AI Agent。它重点解决的是"语言模型如何学习使用工具",但真正的Agent还需要面对更多问题:怎样制定长期计划?怎样记住过去的信息?怎样处理复杂任务?怎样避免工具调用错误?怎样同时调用多个工具?任务失败后怎样重新规划?
这些问题,会进一步走向:
所以Toolformer真正重要的价值,不是它已经构建出了今天所有意义上的Agent,而是它进一步证明了一件事:工具调用本身,也可以成为语言模型学习能力的一部分。
10AI真正的进化:从"拥有能力"到"调用能力"
现在回头看,我们可以把这条路线简单概括成:
🧬 大模型能力进化路线
↓
↓
↓
到这里,AI发生了一个非常重要的变化:过去,模型本身就是能力;现在,模型可以连接能力。一个只会搜索的模型,就只有搜索能力;一个可以连接搜索+计算+数据库+浏览器+日历+邮件+代码执行的模型,能力边界就突然被无限拓展。
真正决定一个AI系统有多强的,可能已经不只是"模型有多大",而是"它能够使用什么工具"
终AI真正的进化,不只是变得更聪明
回头看Toolformer,会发现它真正有意思的地方,并不是"让AI学会调用几个工具",而是它重新定义了一件事情:一个AI的能力,未必全部来自它自己。
🧮 计算能力不够,可以调用计算器
🗞️ 不知道最新信息,可以搜索
📚 缺少外部知识,可以查询
🛠️ 需要处理复杂任务,可以调用专业工具
这和人类解决问题的方式其实非常相似。我们并不会要求一个人记住所有知识,也不会要求他一个人完成所有事情。真正重要的是:知道自己缺什么,以及知道应该借助什么。而这恰恰是Toolformer带给我们的启发。
从GPT到今天的大语言模型,AI先学会理解语言,然后学会生成语言,后来又学会遵循指令,再后来学会思考、行动,以及调用工具。于是我们看到的AI,已经不再只是一个"会聊天的模型",它开始慢慢变成一个能够连接知识、工具和现实世界的系统。
也许真正的智能,从来都不是"什么都会"。而是:面对一个复杂的问题,知道该怎么做,知道什么时候行动,也知道什么时候借助外部能力。
Toolformer只是这条道路上的一步。但从这一步开始,大语言模型第一次真正走出了自己的"参数世界"——AI不再只是依靠自己知道什么来回答问题,它开始学会:
利用整个世界来解决问题。
📎 参考文献
Schick et al. "Toolformer: Language Models Can Teach Themselves to Use Tools." Meta AI Research (FAIR), 2023. arXiv:2302.04761
如果这篇文章让你对AI Agent有了新的理解,欢迎点赞、在看、转发给同样关注AI的朋友
— END —