跳到主要内容
别再加 rollout 了,这锅该谁背才是问题

别再加 rollout 了,这锅该谁背才是问题

嘴替
嘴替

· 阅读约 5 分钟

速评:ExecuCritic 这篇论文真正动刀的,不是 reward model,是 prompt。

2026 年 9 月 15 号挂上 arXiv,cs.SE 分类,ICONIP 2026 收的。论文里有一句轻描淡写的话,翻成大白话就是:现在这些编码系统里头,负责挑错的那个角色,是用提示词拿来的,从来没拿执行结果校准过。

这话我看了两遍。因为它说的不是某个产品,是过去两年这个行业里几乎所有人都在做的一件事——给 agent 编排里塞一个 reviewer,塞一个 tester,然后在 system prompt 里郑重写下「你是一位资深工程师,请仔细审查以下代码」。

我一开始就不待见这套。多一个角色不等于多一层保障,多数时候是多一层 token、多一次出错的机会,外加一段听上去很有权威的意见。那段意见对不对,没人算过账。它嘴很稳,但没人验证过它。

论文做的事说穿了不复杂:把编码器和评论者放在同一批执行 rollout 上联合更新。评论者不能只丢一句"这里可能有问题",它得先押一个注——这次跑通还是跑挂。押完再给一句短诊断。这里有一行很容易被一带而过:只有当评论者的判断和当前 rollout 组里执行器自己的判断一致时,编码器才采纳这个信号。

这行值得停一下。

评论员先看选手的答案,再决定要不要开口,这听着像互相盖章。但恰恰是这里,划出了它和"提示出来的审查者"的分野——提示出来的那个谁都不像,它就是一份通用模板,没有立场,说完就走;这里的评论者被绑在同一批执行结果上,得自己承担判断的后果。押错,信号不进。

但我要拧一下。它校准的是"评论者和执行器一不一致",不是"评论者说得对不对"。这两个词之间的缝,比看起来宽。

因为 ground truth 就是执行结果本身——测试过了还是没过。测试没覆盖到的坑,通过是假阳性。假阳性上,执行器和评论者可以达成非常默契的一致:一个靠弱测试骗过了验证,另一个预测"这次过了"也预测对了,信号顺利被采纳,两个模型互相点头。

所以这东西治的是信用分配,没治奖励本身的效度。它把"该怪谁"这个问题回答得比以前细,但"标准答案是不是对的"这个问题,它没碰,也碰不了——verifiable reward 这个词里那个 verifiable,说的只是"能验证",不是"验证得对"。

这里补一句我自己的旧账。前阵子我写过一条,大意是评论者如果不能被证伪,它就只是一段文风。这篇论文算是给了我半张支持票——它至少把评论者的意见和一次可查的执行结果绑上了。但得承认它比我当时想的窄:我那个口气像是"评论者终于可以被验证了",实际被验证的只是"评论者这一次预判对没对上"。口径收窄了,我认。

不过它的成绩确实不好糊弄。八个代码基准,两个近期开放权重骨干模型,一路压过不带评论者的 GRPO、提示式审查者、还有标量奖励模型基线。更狠的是梯度步数和沙箱执行次数都更少。消融说得也直:提升来自更好的信用分配,不是更大的采样预算。

这一句才是全文的重锤。

这一两年,沙箱里的 rollout 是往死里堆的。账单一张比一张长,谁堆得多谁显得更接近 AGI。堆得多就学得会?这篇东西的意思是,你缺的可能不是量,是你根本没搞清这份功劳该记在谁的账上。整个程序被压成一个通过/失败位,信息丢得干干净净,然后你抱怨模型学不会——这不叫模型笨。

要松一句口的地方也有。省沙箱执行这个卖点不是修辞,沙箱是实打实烧钱的,尤其是跑 agentic 长任务,一次执行比一次采样贵得多。它把钱花在了拆账上,这买卖划算。而且投的是软件工程的口,不是机器学习那个口——cs.SE 的审稿人对"到底省了多少"比对曲线好看更敏感,这多少是种背书。

冷水也得泼。八个基准全是代码基准,两个骨干全是开放权重,闭源那一档一个没碰。这不是挑刺,这就是这个路线的标准打法,先在拿得到 logits 的地方跑通。榜单第一的保质期摆在那儿,撑不过一个月;真正值得等的,是一两个月之后社区能不能把同样的幅度复现出来。我不怀疑它这次是真的,我怀疑它被抄过去的时候还剩多少。

评论者该被训练而不是被提示,这句话我同意;但它现在被校准的刻度是"跟选手一致",不是"跟真相一致",这个刻度迟早要还账。

这里立个 flag:半年之内,会有人把这套东西塞进产品化的 coding agent 编排里讲,讲的时候那个一致性 gating 多半会被丢掉——因为比对一致性得先拿到整组的执行结果,产品里最贵、最难对齐的恰恰就是这一环。丢完之后剩下的,就又变成 prompt 里那句"你是一位资深工程师"。