来源:市场资讯
(来源:酷酷的群)
论文标题:ToolRL: Reward is All Tool Learning Needs
论文链接:https://arxiv.org/abs/2504.13958
论文代码:https://github.com/qiancheng0/ToolRL
论文来源:NeurIPS 2025
论文分类:Tool Use
一、概述
大语言模型要成为真正可用的 Agent,一个关键能力是 Tool-Integrated Reasoning(TIR):模型不能只在文本里推理,还要能判断什么时候需要工具、选哪个工具、填什么参数、如何读取工具反馈,并在多轮交互中继续修正自己的行动。传统的 tool learning 很大程度依赖 Supervised Fine-Tuning(SFT):先构造带有工具调用轨迹的数据,再让模型模仿这些轨迹。这个思路可以教会模型格式,却不一定能教会模型“为什么这样调用工具”。
本文的核心动机正来自这个问题:SFT 容易让模型记住训练轨迹中的表面模式。例如模型可能学会在 中写出很长的“深度思考”痕迹,却没有真正理解工具是否适用。当遇到不熟悉场景或不相关工具时,它可能仍然机械地调用工具,甚至出现过度解释和错误调用。下图展示了一个典型现象:SFT 模型把 get_date 工具误用于距离计算,而经过 RL 训练的模型能识别工具不适用并直接拒绝错误调用。
这篇论文提出的问题可以概括为:如果用强化学习训练 LLM 的通用工具调用能力,奖励应该如何设计? 这与数学推理任务不同。数学题通常只需比较最终答案是否正确,而工具调用的正确性是结构化的:可能有多个工具、多个参数、参数名和参数值都要对齐,还可能涉及多轮观察与反馈。因此,粗粒度的 answer matching 很难为模型提供足够细的学习信号。
ToolRL 的主要贡献是对 TIR 任务中的 reward design 做了系统研究,并提出一个面向工具调用的原则化奖励设计:将奖励拆成格式奖励(format reward)和工具调用正确性奖励(correctness reward),再用 GRPO 对模型进行训练。实验显示,这种设计能带来稳定、可扩展的训练效果:整体上相对 base model 提升约 17%,相对 SFT model 提升约 15%,并在未见过的工具场景、无关工具检测、自由形式问答式工具使用中展现出更好的泛化能力。
二、问题定义
在 ToolRL 中,一个 TIR 任务由用户问题 和可用工具集合 构成。模型在第 步之前的交互轨迹可以写成:
其中 表示模型的自然语言思考, 表示第 步调用的工具集合, 表示工具执行后返回的 observation。每一步,模型都要根据当前轨迹生成下一段思考、决定是否调用工具、给出工具名与参数,或者直接给用户回复。
论文使用的 rollout 格式包含三个核心字段:
:模型对当前用户目标、上下文和工具可用性的分析。
:一个或多个 JSON 格式的工具调用,每个工具调用包含工具名和参数字典。
:给用户的自然语言回复。
需要注意的是, 和 并不是互斥的。模型可以在同一轮中先调用工具,也可以在判断工具不适用时直接回复用户。工具执行结果会被放入 字段并追加到历史对话中,形成下一步推理的输入。整个流程如下图所示。
这个定义带来的一个重要变化是:工具学习不再是“给定输入,模仿一个完整输出”的监督学习问题,而是一个逐步决策问题。模型每一步都需要学习如何让当前工具行为最大化奖励,同时让整条轨迹朝任务目标前进。
三、方法
1. 奖励设计:格式正确只是起点
ToolRL 的总奖励由两部分组成:
其中, 检查模型输出是否满足结构要求, 评估工具调用是否正确。
格式奖励 是一个二值奖励,取值为 。如果模型输出包含 ground truth 所需字段,并且字段顺序正确,就得到 1,否则得到 0。这个奖励的作用是让模型学会稳定地产生可解析的结构化输出,但它不能代表工具调用本身是否正确。
正确性奖励 才是本文的核心。它不是简单判断完整 tool call 是否 exact match,而是将工具调用拆成三个层次:
Tool Name Matching:预测工具名集合与真实工具名集合之间的 Jaccard 相似度。
Parameter Name Matching:比较匹配后的真实工具调用 与预测工具调用 的参数名是否一致,允许模型在部分参数正确时获得部分奖励。
Parameter Content Matching:进一步检查匹配后的真实工具调用 与预测工具调用 在对应参数上的取值是否一致。
对于每个预测工具调用和真实工具调用,论文先计算匹配分数:
然后在预测调用集合 和真实调用集合 之间寻找一个最优匹配,使总匹配分数 最大。最后将其归一化到 :
这里的 表示理论最大匹配分数。
这个设计的关键在于:工具调用的错误不是非黑即白的。选对工具但参数名错、参数名对但参数值错、多个工具中只选对一部分,这些情况都应该给模型不同程度的反馈。相比最终答案匹配或完整 tool call exact match,这种 fine-grained reward 能提供更密集的 credit assignment,尤其适合多工具、多参数、多轮交互的场景。
2. 用 GRPO 训练工具调用策略
在训练阶段,ToolRL 主要采用 Group Relative Policy Optimization(GRPO)。对同一个 query,模型会采样多个响应,形成一个 group。每个响应都有对应奖励 ,然后在 group 内计算均值和标准差:
每个样本的 advantage 定义为:
随后用 clipped PPO 风格的目标优化策略模型。与原始 GRPO 设定不同,本文去掉了相对 reference model 的 KL penalty。作者的解释是,工具调用训练需要模型更自由地适应新的结构化输出格式和奖励信号;实验中这也带来了更快收敛和相当的性能。
直观来看,GRPO 在这里做的事情是:同一个问题下生成多种可能行动,再根据相对奖励让模型偏向更好的工具调用轨迹。相比单条监督轨迹,模型能通过探索学习到“什么样的调用更有用”,而不是只模仿某一种答案格式。
四、实验结论
论文在 ToolACE、Hammer(Masked)和 xLAM 中采样构造 4K 训练数据,覆盖是否调用工具、随机化工具/参数名、多工具组合调用等场景。评测则使用 BFCL、API-Bank 和 Bamboogle,分别覆盖结构化 function calling、多轮 API 使用,以及最终答案导向的自由形式工具问答。
整体结果如下图所示。GRPO Cold Start 在多个模型和多个 benchmark 上取得最强或最稳定的表现,尤其在 Qwen2.5 系列上效果明显。
从实验中可以提炼出几个更重要的 insight。
第一,RL 从 raw instruct model 出发并不一定弱于 SFT 初始化,反而往往泛化更好。论文发现,SFT 初始化的模型在训练奖励上可能更高,因为它已经适配了训练数据的格式分布;但在 held-out benchmark 上,cold-start GRPO 往往表现更好。这说明 SFT 可能让模型过早记住训练数据模式,降低后续 RL 探索空间。
第二,PPO 也能从该奖励设计中获益,但稳定性不如 GRPO。在不同模型规模和初始化方式下,PPO 的表现波动更大;GRPO 的 group-wise advantage normalization 更适合这种结构化、样本间差异明显的工具调用任务。
第三,模型学到的不只是工具格式,还包括无关工具检测和主动澄清。论文在未显式训练过的场景中测试模型,例如未见过的编程语言、无关工具检测等。经过训练的模型能够识别工具不适用,或者在用户缺少必要信息时主动询问。这类行为接近 Agent 所需的 metacognitive reasoning:不仅知道怎么用工具,也知道什么时候不该用工具。
第四,在 Bamboogle 这种最终答案导向的多跳 QA 上也能泛化。虽然训练奖励主要关注工具调用格式和参数正确性,而 Bamboogle 只评估最终答案,ToolRL 训练出的模型仍然取得最高准确率,并且没有依赖过多工具调用。这说明细粒度过程奖励学到的能力可以迁移到更自由的工具使用环境。
五、奖励设计的消融分析
论文最有价值的部分不只是报告性能提升,而是系统回答了“什么样的 reward 对工具学习有用”。
1. 更长的思考链不一定更好
受 R1 类模型启发,一个自然想法是奖励更长的 ,促使模型生成更深入的 reasoning trace。论文尝试了固定 length reward 和动态 length reward,结果发现:长度奖励确实能让输出变长,但并不能稳定提升性能,甚至会让小模型显著退化。
从 BFCL V3 的 Overall Acc 来看,加入长度奖励后,Qwen2.5 系列的下降非常明显:
模型
原始奖励设计
加入固定 Length Reward
Dynamic Length Reward
Qwen2.5-1.5B-Instruct
46.20%
33.23%
28.51%
Qwen2.5-3B-Instruct
52.98%
48.89%
48.24%
Llama-3.2-3B-Instruct
44.10%
44.98%
43.15%
可以看到,长度奖励虽然能提高 response length 和 length reward 本身,却没有稳定转化为工具调用能力。尤其对 Qwen2.5-1.5B,小模型在固定 length reward 下从 46.20% 降到 33.23%,动态长度奖励进一步降到 28.51%,说明它更容易把优化目标转向“写得更长”,而不是“调用得更准”。
这说明工具学习中的“思考”不是越长越好。工具调用更需要的是选择、参数绑定和反馈利用,而不是把推理轨迹拉长。过长的思考可能重新引入 SFT 中的 overthinking 问题。
2. 奖励尺度应该平滑变化
论文比较了不同 reward scale:如果让 correctness reward 和 format reward 的最大值相同,性能通常会下降,因为模型可能过度关注格式而不是真正学会工具调用。更合理的做法是让 correctness reward 权重更大。
但奖励权重也不是越早越强越好。作者进一步测试了两阶段策略和连续动态策略:先强调格式,再逐步提高正确性奖励。结果显示,粗暴的 two-stage 切换会伤害训练,而平滑的 dynamic scaling 更有利于泛化。
这个结论很实用:训练早期,模型需要先学会可解析的格式;训练中后期,重点应转向工具选择和参数正确性。但这个转移最好是连续的,而不是突然改变奖励函数。
3. 细粒度奖励优于粗粒度奖励
ToolRL 进一步比较了不同 reward granularity。最细粒度的版本分别奖励工具名、参数名、参数值;中等粒度将参数名和值合并;最粗粒度则只有整个工具调用集合完全匹配才给奖励。
结果很清楚:reward 越粗,训练中的 correctness reward 越难上升,最终性能也越容易下降。
原因也很直观:粗粒度 exact match 会让奖励变得稀疏,模型很难知道自己错在哪里。细粒度拆分则能告诉模型“工具选对了,但参数还不对”或者“参数名对了,但值错了”。这类过程反馈正是工具调用任务区别于普通问答任务的关键。
六、总结
ToolRL 的核心观点可以总结为一句话:工具学习真正需要的不是更多模仿轨迹,而是更好的奖励信号。 SFT 可以教会模型输出格式,却容易造成模式记忆和过度思考;RL 可以让模型探索更优策略,但前提是奖励必须足够细、足够稳定、足够贴近工具调用的真实结构。
本文提出的奖励设计有三个值得记住的原则:
不要只看最终答案,工具调用需要 process-oriented reward。
不要把工具调用看成一个整体 exact match,应拆成工具名、参数名、参数值等细粒度组件。
不要让奖励目标突变,格式学习到正确性学习的转移应尽可能平滑。
因此,ToolRL 的意义不只是提出了一个 GRPO 训练配方,更重要的是给出了面向 LLM Agent 工具学习的 reward design roadmap。对于未来的通用 Agent 训练来说,如何把复杂行为拆解成可学习、可组合、可泛化的奖励信号,可能比单纯扩大监督数据更关键。
热门跟贴