火韦先生
26-06-27 09:46

unit test pass 当 coding agent 的 reward,是最香也最容易撞墙的设计。

可执行、二值化、不用人标注,看着完美。但 RL 几轮之后必然出鬼,最近这篇《The Verification Horizon》算是把这事儿摆台面上说了。

🔍 第一层坑:test case 本身就是有限的。模型针对性优化几轮,pass rate 蹭蹭涨,换一个 repo 立刻崩——这跟做 video gen 时 reward model 被 hack 是一回事,本质都是奖励信号比真实目标窄太多。

⚠️ 第二层坑:verifier 自身误差。你拿更强的模型当裁判,它对长 context、集成测试、边界条件的判错率,比你想的高得多。verifier 不靠谱,下游 RL 信号全是噪声,越练越歪。

💡 第三层是真要命:多步任务的 credit assignment。agent 改代码、跑测试、修 bug 一通十几步,最后崩了——到底哪步错的?现在的 RL 框架基本是连坐,要么全奖要么全罚,根本对不上工程因果。

论文那个词起得好:verification horizon。

你的 reward 信号能看多远,你的 agent 就能学多远。剩下的全靠人工补丁、规则模板、rejection sampling 兜底,确实没银弹。 arXiv: 2606.26300

发布于 日本