奖励只盯最终答案,过程全被忽略

说实话,最近跑Agent开发的朋友可能都遇到过一种诡异的体验:模型明明知道下一步该干嘛,却非要把同一个工具调用重复发出去。上下文被疯狂消耗,任务进度条卡在半空,用户干等。

这不是玄学,是算法的“盲区”。

小米MiMo团队最近在技术博客里把这件事扒了个干净。MiMo-V2.6系列模型上线后,用户反馈集中指向一个痛点:工具调用重复。在MiMo Desktop、OpenCode这些场景里,模型经常生成高度相似甚至完全相同的调用指令,白白浪费算力。

Image 1: logo

团队拉出内部数据一看,Flash和Pro版本在不同Harness下的响应级重复率最高达到了1.02%。对于追求极致效率的Agent来说,这已经属于不可接受的卡顿。

更扎心的是,这个问题是在强化学习不断扩大的过程中被放大的。训练日志显示,随着RL步数从0走到20,单次输出超过10次工具调用的样本比例,直接从11.1%飙升到了24.6%。

Image 2: tool_call_flood context hit count and hit rate over training steps in the MixRL training log; both the Flash and Pro runs rise sharply after roughly step 15

原因很简单:当时的奖励机制只管最终答案对不对,不管中间过程多狼狈。只要单轮调用不超过32次,系统就默认你做得还行。阈值设得太宽松,低效行为不仅没被惩罚,反而在扩展训练中成了习惯。

两百万美元的硬刚,不如九千块的巧劲

发现问题容易,治好它难。

团队首先试了一条最直白的路:把惩罚阈值从32次直接砍到8次。实验结果很干脆,高频调用确实少了,整体Reward也没掉。但代价让人倒吸一口凉气——要在完整数据集上重跑20步MixRL,预估成本高达231万美元。

说实话,个人觉得这种推倒重来的思路在工业界几乎行不通。钱不是问题,时间成本和机会成本才是。

于是他们换了打法。没有大动干戈地重训主干模型,而是单独训练了一个“重复专用”的轻量级RL教师模型。只喂了大约7000个示例,跑了12步,算上KL约束,把重复行为死死按住。

最后通过MOPD把这个小老师合并进主模型。总成本大概9万美元,还不到之前方案成本的4%。

效果怎么样?看概率分布图就懂了。修复前,模型在第12个工具调用位置,选择继续调用的概率高达94.56%,而结束本轮的概率只有5.43%。修复后,情况彻底翻转:结束本轮的概率飙升至92.17%,继续调用的概率跌到7.83%。

Image 5: Schematic of the example trajectory's token sequence: after the thinking block, 59 consecutive tool_call blocks before the end-of-turn token. The 12th tool_call position is highlighted; before the fix the model predicts tool_call with 94.56% and the end token with 5.43%, after the fix 7.83% and 92.17% respectively

用通俗的话讲,原来的模型是个停不下来的话痨,新模型学会了见好就收。

热图对比更是直观。MOPD之后,无论输入长度怎么拉长,还是换什么Agent Harness跑,重复率曲线集体跳水,基准测试分数却稳如泰山。

Image 10: Heatmaps of MiMo-V2.6-Pro repetition rate by agent harness and input-length bucket, before MOPD (left) and after MOPD (right)

自曝家丑,反而成了最硬的底牌

修好了只是第一步,敢不敢摊开来讲,是另一回事。

9月25日零点,更新后的模型悄无声息地上线了API平台。同一天,Hugging Face上新了一批带MOPD后缀的开源权重。紧接着,官方推文补了一句:MiMo Desktop当前窗口内所有用户的剩余配额将被重置。

社区反应挺有意思。有人吐槽公告日期写得乱,也有人质疑连9B的小模型都有这毛病还能信吗?但更多声音集中在透明度和诚意上。

老实讲,现在大厂发Bug报告,要么轻描淡写,要么甩锅第三方环境。小米这份技术报告直接把底层逻辑、训练曲线、失败方案的成本账全扒出来了。不藏着掖着,反而让开发者觉得踏实。

“Issues that may appear minor and evade standard metrics, yet materially affect the model's real-world performance across diverse scenarios.”

当然,技术上的完美永远在路上。报告中明确写了,他们使用的指标是单轮内的精确重复率,这只是可观测重复的下限。跨轮次的重复、参数微调导致的近重复,依然在监控范围内。

但这不妨碍这次操作成为一次教科书级的工程自救。用极小的边际成本,修补了强化学习扩张期的系统性漏洞。

Image 11: Heatmaps of MiMo-V2.6-Flash repetition rate by agent harness and input-length bucket, before MOPD (left) and after MOPD (right)

模型会死循环,我们的期待呢?

AI正在从能回答问题进化到能干活。但干活的过程中,偶尔也会像人类一样犯懒、钻牛角尖、陷入无意义的重复劳动。

MiMo-V2.6的这次翻车与修复提醒我们一件事:当奖励只盯着终点时,过程里的坑迟早会塌。

技术迭代从来不是直线向上的,它是一边踩雷,一边填坑。下一次,当你的Agent再次卡在同一个工具调用上时,或许可以想想,是算法忘了教它适可而止,还是我们的训练范式还没跟上自主智能的野心?

【锐评】:不掩盖缺陷、用四成成本化解百万级难题,这份坦诚比任何营销稿都更能赢得开发者信任。

参考链接:
https://x.com/XiaomiMiMoDevs/status/2104251067039191324