Yunkai Zhan 等 · arXiv · 阅读原文

原始来源:Yunkai Zhan 等 · arXiv

发现渠道:Hugging Face Daily Papers

仅用单元测试奖励训练调试模型,可能提高通过率,也鼓励多改代码。PreciseCoder 将单元测试与经执行核验的修改精确率、召回率组合:把候选修改块放入参考修复中,检查它是否真正修复对应故障。实验使用Python任务;4B模型的平均修改从GRPO的13.8行降至3.0行,通过率为55.3%对55.1%。作者另测1512份原本正确的程序,避免只看到修复旧故障、遗漏新引入的错误。

可信度 65 · 重要性 78 · 新颖度 76

技术与主题

AI 编程 · 评测与基准 · 训练与对齐 · RLVR · Program Repair · Counterfactual Verification

Yunkai Zhan 等

观点原文

作者对单位测试奖励、局部修改及局限的说明。

忠实转述(非原句):作者认为只给最终程序打分,会漏掉不必要修改;同时承认评分需要参考修复,执行检查增加训练耗时,其他语言尚未实验。

编辑评读

这里的精确并不等于字符数少。最小补丁可以漏修问题,大补丁也可能包含必要的重构。方法使用参考修复与反事实执行,试图把必要工作从无用编辑中分出来。论文消融确实显示,直接优化小改动会损失通过率;因此亮点是给修改的作用加反馈,而非宣布三行补丁优于十行。

原本正确的程序是有价值的另一半测试。只向模型展示有缺陷输入,它容易学成“收到代码就必须改”。作者的结果提示,修复精确性可能与正确时保持不动有关;但两者相关还没有解释全部因果机制。模型仍会损伤一部分正确输入,不能因平均进步就省去审阅。

参考修复也带来成本和偏向。它需要可靠修复与足够测试,替代的有效实现可能难以对齐到原参考块;目前实验又限于Python。把奖励搬到开放的长任务,首先要解决怎样定义必要动作,而不是直接套用行数惩罚。作者报告语义评分增加约5至7%的训练耗时,这笔费用也应纳入同预算比较。

需要留意

  • 作者自报;训练与评测限于Python,并依赖参考修复和测试。
  • 代码、切分与权重在论文中仍表述为将发布,未把计划写成可下载。

核查依据

所属事件

收录记录