新研究发现Agent评测工具调用率为零可能由服务接口缺陷造成,而非模型本身
一项预印本研究显示,在BFCL v4和tau-bench评测中,仅更换服务适配器便可使同一模型的工具调用率从0升至0.96或使服务器解析调用数从0增至636,表明观测到的工具调用率是模型与接口共同作用的结果。
AI解读:这项研究揭示了一个评测方法上的陷阱:当你给AI助手测试工具调用能力时,得到零分可能不是模型不会用工具,而是服务器接口在模型发出正确指令前就把数据拦下了。作者在BFCL v4和tau-bench等标准评测上反复验证,只更换服务适配器(一个中间层组件),同一模型能从0分跳到0.96分,或让服务器成功解析的调用从0暴增到636次。这意味着不少团队拿到的工具调用率数值失真,可能误导对模型能力的判断。对开发者来说,别急着归咎于模型权重或训练数据,先检查聊天模板和解析器是否匹配;如果发现所有模型都得分极低,大概率是接口问题。论文提供了一个98行的预检工具可捕获此类静默故障,但影响有限:修复接口能恢复评估机制,却不一定带来显著的最终任务成功率提升(如pass rate从53%到62%,统计上不显著)。
arXiv预印本论文指出,Agent评估中报告的工具调用率可能并非模型能力的真实体现。作者Wenbo Wang发现,在服务堆栈层面读取的工具调用率可以为零,而模型同时在生成格式正确的调用——接口在信息传递给下游任何环节之前,就对轨迹进行了审查。
核心发现:适配器更换导致评分剧烈波动
在BFCL v4自己的数据、执行器和评分器上,固定权重、案例、解码方式和随机种子,仅更换服务适配器,同一模型的得分可在0.00与0.96 / 0.19之间变化。一个2x2实验设计(涉及聊天模板和解析器)精确锁定了效应来源:两个主效应均为零,全部效应来自交互部分——组件本身无缺陷,但单独修复任何一侧都无法带来收益。
在tau-bench的115个交互式零售任务中,同样的适配器更换使服务器解析的调用从0增加到636,达到工具执行阶段的任务数从0增至103。作者将这一现象称为“静默截断”,即工具调用的漏斗在到达下游前就被切断。
规模依赖性与训练中的影响
在Qwen2.5-Coder的21倍规模范围内(探测实验),服务器解析在所有参数规模下均为0/100,而格式正确的生成调用在32B时升至80/100(经校准后约72)。在匹配的接口设置下,静默比例保持极低(0-2),这一预测在运行前已提交至仓库。
Llama-3.1-8B将任务函数本身作为工具调用的23%概率,在启用某个strict:true标志后降至0。该不匹配延伸至训练循环中:在verl的AgentLoop中,7B规模的115次生成中45次携带完整调用,但0次被接受,0次执行,0次返回观察结果;在1.5B规模,同一零结果被过度确定,作者分别报告两个规模。
在评估时修复适配器恢复了机制,但未带来显著的效果提升:解析率从0升至84,救援任务从0升至9,通过率从53%升至62%(统计不显著)。作为工具,作者发布一个98行的预检程序,可捕获本研究中所有静默失败。
结论与局限
论文结论指出,观测到的工具调用率不仅取决于模型本身,而是取决于测量它的“模型-接口堆栈”。这一发现暗示,依赖此类指标进行模型对比或迭代的实践可能存在系统性偏差,尤其在接口配置未被严格控制的情况下。