Tool-Calling作为Agent的核心模块,智能体的双手,这项关键能力允许 LLM 调用外部函数,例如应用程序接口(APIs)、数据库、计算器和搜索引擎,决定了AI Agent的可执行边界。但在业界,提升LLM的工具调用准确率一直是一个难题,核心原因归纳为三类:
- 1.目标不匹配:现有的许多模型在预训练和微调时在做“下一个 token 的似然最大化”。它让输出像训练语料,但不保证整体是可执行的函数调用(类型、必填项、单位范围、调用顺序都不在 token 级目标里)。结果会导致句子“看起来对”,但一个小token错误就让工具报错(JSON 缺逗号、参数名拼错、枚举值不在域内)。
- 2.LLM 的结构性限制:全局结构约束难以由局部token概率保证,JSON、AST参数表是一种全局一致性对象,而LLM的 softmax 是局部贪心(或采样)。只要偏了一两个 token,就整体失效。

- 函数选择是“类别判别”,却被当成生成:从N个工具里选1个,本质近似多分类;但 LM 是通过生成函数名字符串完成的,同义相近的名字很容易混淆(get_weather vs weather_lookup)。
- 槽位填充需要强类型语义:例如 date: ISO8601、currency: USD、count: int>=1,LLM的隐式表示不天然对类型和范围敏感,最容易错在数值、时间、单位转换、ID 引用。
- 3.长上下文衰减与注意力干扰:工具说明往往很长,放在系统提示或上下文前部;随着对话变长,注意力对早期关键信息衰减,出现漏必填、错字段、错顺序。
来自IBM Research的研究者们认为,问题可能出在我们如何评价模型的“工具使用”行为上,目前行业里通用的“奖励模型”(Reward Model),也就是我们用来训练和评价LLM的“裁判”,它们其实更擅长评价一句话说得好不好,而不是一个API调用写得对不对,在自然语言中,一个微小的语法错误或用词不当,可能不影响理解,不叫事。但工具调用要求的是绝对精确,参数错一个、函数名少个字母都不行,而这些细节,恰恰是通用“裁判”容易忽略的。因此,这篇论文做了两件事:1.建“专用考场”:FC-RewardBench。2.训“专业裁判”:面向工具调用的结果型奖励模型ToolRM。

建一个“专业考场”:FC-RewardBench
为了客观地衡量“裁判”们在工具调用领域的真实水平,研究者们做的第一件事,就是建立一个专门的、高标准的“考场”FC-RewardBench。这个基准测试可不是随便出几道题,它的构建过程非常严谨,确保了评估的专业性和挑战性。

- 数据来源:基准测试的核心数据源自一个业界非常知名的函数调用排行榜 Berkeley Function Calling Leaderboard (BFCL) V3。这保证了测试任务的权威性和现实相关性。
- 数据构成:研究者们从中提取并最终形成了 1500个 独特的测试数据点。每一个数据点都包含了一套完整的上下文信息,具体来说就是:
- 一个工具列表 (tool catalog)
- 一个用户请求 (user query)
- 一个正确的工具调用 (correct tool call)
- 一个错误的工具调用 (incorrect tool call)
- “错误答案”从何而来:为了让考题足够真实,研究者们找来了 25个 不同大小的开源LLM组成一个“模型军团”,让它们去完成BFCL中的任务。只要模型生成的调用代码和标准答案不符,这个“错误”的输出就会被收集起来,作为“错误答案”进入题库,这就确保了错误样本都是现实中模型会犯的典型错误。
这个考场最厉害的地方在于,它充满了各种非常“微妙”的错误,比如参数值只差一点点、函数名大小写不对、或者调用了多余的函数。这些错误对于通用模型来说极难发现,因此FC-RewardBench能真正考验出一个“裁判”是否具备火眼金睛,而不是只会看表面文章。
火眼金睛的裁判:ToolRM的诞生
有了专业的考场,下一步就是训练专业的裁判,ToolRM。研究者们的目标是创建一个只关心最终结果的“结果奖励模型”(Outcome RM),这种模型训练起来更高效,也更符合用户只关心“对不对”的最终需求。
- 训练样本构造:他们采用了一种“从错误中学习”的策略来大规模制造高质量的训练数据。
- 数据来源:他们选取了多个开源数据集,覆盖了单轮、多轮对话以及需要判断是否调用工具等多种复杂场景,例如APiGen、Schema-Guided Dialogue (SGD)等。
- 生成过程:研究者们动用了 11个 开源模型(如IBM Granite、Qwen2.5、Mistral系列)去处理这些数据集中的任务。如果模型生成的工具调用与标准答案不一致,这个“错误调用”就会被保留下来,与“正确调用”配对,形成一条宝贵的训练数据。
- 最终数据集:通过这种方式,他们最终获得了 18万条 高质量的“正确 vs. 错误”的成对训练样本,真实地反映了模型在实践中可能犯的各种错误。
- 模型架构与训练目标:
- 模型架构:研究者们选择了开源且表现出色的 Qwen-2.5-Instruct 系列模型(包括1.5B, 7B, 14B三种尺寸)作为ToolRM的基础。他们只是将模型的最后一层替换为一个能输出单个分数(奖励值)的线性层,相当于给一个强大的语言模型装上了一个“打分器”。
- 偏好模型(The Preference Model):ToolRM 的训练基于一个经典的概率模型布拉德利-特里模型 (Bradley-Terry model)。它定义了对于一个给定的输入 x(即用户问题和工具列表),“正确”的工具调用 y+ 比“错误”的工具调用 y− 更受偏好的概率:

- r(x,y)是奖励模型(ToolRM)为一次工具调用 y 打出的分数。
- 这个公式的核心思想是:奖励模型给出的分数越高,这个调用被认为是“更好”的概率就越大。
- 训练目标(The Training Objective):这个训练目标在技术上被称为“成对偏好学习”。为了实现它,研究人员使用最大似然估计来优化目标函数(也常被称为损失函数)。在训练过程中,模型会同时看到一个正确的工具调用和一个错误的工具调用,其核心任务是:

- D 代表包含大量 (输入, 正确调用, 错误调用) 三元组的训练数据集。
- rθ 就是带有参数 θ 的 ToolRM 模型。
- σ 是 Sigmoid 函数,它会将任意值映射到 (0, 1) 区间。
- 训练的目标是最大化这个 J(r) 函数。要做到这一点,就必须让 rθ(x,y+)(正确调用的分数)远大于 rθ(x,y−)(错误调用的分数),这样它们的差值才会是一个很大的正数,经过 Sigmoid 和 Log 函数计算后,最终的目标函数值才会变大。
这个过程就像在培养一个经验丰富的代码审查(Code Review)专家,你看过的错误代码越多,以后识别错误的能力就越强。结果是,ToolRM被训练得对工具调用中的各种细微错误极其敏感,成了一位名副其实的“火眼金睛的裁判”。
Outcome RM只看“结果”不看“过程”
Outcome RM,全称为 Outcome Reward Model,中文叫做“结果奖励模型”。它是一种奖励模型(Reward Model, RM),其核心特点是只评估模型输出的最终结果(final answer),而不关心得出这个结果的具体步骤或中间推理过程。
您可以把它理解为一位只看最终“答题卡”对错的考官,只要答案正确,就能得高分,至于考生在草稿纸上是怎么演算的,这位考官并不关心。
研究者选择 Outcome 的理由
- 与任务目标高度契合:对于工具调用任务而言,最终用户最关心的就是生成的函数调用代码是否绝对精确并能成功执行。一个参数错误就可能导致整个任务失败。ORM只关心最终结果“对不对”的特性,完美契合了这一需求。
- 跨域可比:不同系统,工具链的中间过程千差万别,但最终调用对象(函数+参数)可统一成JSON、AST,便于跨任务打分与泛化。
- 标注更省:判“最终对错”远比定义“过程最优性”便宜且一致性高。
- 工程即插即用:产出的就是一个打分器,可直接用于 Best-of-n 重排,与任何生成模型解耦。
代价和局限
- 过程不可解释:可能把“绕远路但最终对”的方案判高分。
- 可答性易混:在应拒答和无关场景上,单看结果分数可能误判,因此需要一个可答性判定器前置。
- 环境依赖弱:它不直接读取运行时和外部状态,如果正确性强依赖环境,需要把状态摘要拼进输入。
ToolRM到底有多猛?三大实验见真章
那么,这位新裁判的水平到底怎么样呢?研究者们通过三个研究问题(RQ)来验证其方法的有效性 :
RQ1: ToolRM 与现有奖励模型在 FC-RewardBench 上的表现对比如何?
这个实验的目的是验证 ToolRM 在其专门构建的工具调用评估基准 FC-RewardBench 上的性能。
实验方法:
- 奖励模型(RMs)评估:通过比较模型为“正确”和“不正确”的工具调用输出分配的分数来进行评估。如果正确调用的得分高于不正确调用的得分,则计为一次正确预测。
- 作为裁判的大语言模型(LLMs-as-Judges)评估:向大模型展示一对工具调用(一正一误),并要求它选择更好的一个。为了避免位置偏见,候选答案的顺序是随机的。
- 基准相关性验证:为了证明 FC-RewardBench 的有效性,研究者们计算了奖励模型在该基准上的得分与它们在五个下游实际任务中(通过 Best-of-n 采样)的表现之间的皮尔逊相关系数。
实验结果

- 专业的奖励模型在工具调用上表现不佳:尽管许多在 RewardBench 上表现出色的奖励模型在其他领域很强,但它们未能有效泛化到工具调用领域。
- LLMs-as-Judges 准确但成本高:作为裁判的大型语言模型(如 Llama-3.1-405B)准确率很高(普遍超过 80%),但它们的巨大规模带来了高昂的计算成本。
- ToolRM 在效率和准确性上均取得领先:ToolRM-14B 和 ToolRM-7B 的表现超过了所有其他模型。甚至1.5B版本都能超过gpt-oss-120B这类超大评审模型。
- FC-RewardBench 与下游任务强相关:实验发现,FC-RewardBench 上的分数与下游任务的准确率有很强的相关性,平均相关系数为0.84。这证明了该基准可以作为评估奖励模型在工具调用方面能力的有效且计算成本更低的替代方案。
RQ2: ToolRM 能否通过 Best-of-n 采样在推理时提升模型性能?
这个实验评估了在不重新训练模型的情况下,ToolRM 作为“裁判”能否从模型的多个输出中选出最好的一个,从而提升最终性能。
实验方法:
- 对于每个输入,让一个生成模型(如 Qwen3 或 xLAM-2 系列)独立生成 32 个候选的工具调用。
- 使用 ToolRM 对这 32 个候选进行打分,并选择得分最高的那个作为最终输出。
- 将此方法与“贪婪解码”(Greedy Decoding,即模型只生成一个最优答案)和“多数投票”(Majority Voting)两种基线进行比较。
实验结果

- 小语言模型(SLMs)受益最大:使用 ToolRM-14B 对 Qwen3-0.6B 模型的输出进行优选,在非 BFCL 基准测试上的准确率从39.5%大幅提升到64.38%,提升了 24.9个百分点
- “小模型 + RM”组合可超越大模型:Qwen3-8B 结合 ToolRM-14B 的性能,超过了 Qwen3-32B 使用贪婪解码的性能。
- 奖励模型的规模与增益相关:在几乎所有情况下,使用更大规模的 ToolRM(例如 14B vs 7B vs 1.5B)会带来更显著的性能提升。
- 增益具有普适性:性能提升的效果在所有测试的基准、从 0.6B 到 70B 的不同规模模型以及不同模型家族中都是一致的。
- 超大模型的收益递减:对于 32B 以上的非常强大的基础模型,使用 Best-of-n 带来的性能提升相对有限。
RQ3: ToolRM 能否用于数据过滤以改善模型的微调效果?
这个实验旨在验证 ToolRM 是否能作为有效的数据过滤器,通过筛选高质量的训练数据来提升模型微调的效率和效果。
实验方法:
- 研究人员准备了一个包含 16,000 个样本的训练数据集,这些数据源与 ToolRM 的训练数据没有交集,以测试其泛化能力。
- 他们使用 Llama-3.1-8B-Instruct 作为基础模型,并进行了三种微调实验 :
- 在完整的 16K 数据集上进行微调。
- 在随机抽样的 8K 子集上进行微调。
- 使用 ToolRM-14B 对 16K 数据集进行评分,并选择得分最高的 8K 样本进行微调。
实验结果

- 微调能稳定提升性能:所有经过微调的模型都比基础模型表现更好。
- 简单的随机降采样会损害性能:在随机抽样的 8K 数据上训练的模型,其平均准确率(58.4%)比在完整 16K 数据上训练的模型(61.0%)低了 2.6 个百分点。
- 基于 ToolRM 的数据过滤效果最佳:使用 ToolRM 筛选出的高质量 8K 数据集训练出的模型,平均准确率达到了 62.5%,不仅超过了随机采样,甚至超过了使用两倍数据量(16K)训练的模型。这证明了 ToolRM 能够有效识别高质量数据,从而在更少的数据预算下实现更优的性能。
写在最后:这对我们开发者意味着什么?
这是一篇非常扎实且具有实践价值的论文,它把“工具调用是否正确”变成一个可泛化、可复用的打分器(ToolRM),并用一个专用考场(FC-RewardBench)证明:这个打分器的分数与真实业务提升强相关。有了它,您可以用更小更便宜的模型,配合重排拿到接近大模型的工具调用准确率,同时减少评测与数据成本。作者还展望了未来的研究方向,例如:
- 开发能够提供“思想链”(Chain-of-Thought)推理的生成式验证器,以增强模型的鲁棒性和可解释性。
- 将工具和环境状态纳入训练,帮助模型从执行失败中安全恢复。
- 结合“过程奖励”和“结果奖励”,找到一个既可扩展又可精细控制推理质量的统一框架。
如果您的Agent频繁需要工具调用,不妨实践一下这篇论文提出的方法。https://arxiv.org/abs/2509.11963
文章来自于“Al修猫Prompt”,作者“Al修猫Prompt”。