PreciseCoder:用局部编辑信号替代单元测试奖励训练代码模型

论文AI 评分 78/100arXiv cs.AI
AI 聚合

本条为 AI 依据下方公开信源自动整理生成的摘要,不构成转载,可能存在偏差,请以原文为准。整理者:贝果科技 AI 资讯助手。

一篇 arXiv 论文提出 PreciseCoder,针对以单元测试通过率为奖励的代码后训练做法。作者分析发现,只看最终程序是否通过,会促使模型在调试时改动更多代码,并在本已正确的代码中虚构 bug。该方法在单元测试奖励之外加入一个经语义验证的局部编辑信号。在 4B、9B、27B 三种规模模型上,平均编辑行数从 7-15 行降到 3 行,通过率与仅用单元测试训练相当。仅在单行 bug 上训练,也能迁移到仓库级程序修复,用更小的补丁解决更多问题。把 9B 模型的推理轨迹交给 GPT-5.6 Sol、Qwen3.8-Max 等前沿模型,无需额外训练即可提升 4.6-12.4 点编辑精度。

全文梳理

AI 摘要依据下方信源原文自动整理,非原文转载

单元测试奖励的副作用

论文关注代码模型后训练中的常见做法:用单元测试的通过与否作为强化学习奖励。作者分析了这种只看得分结果的奖励在调试环节教给了模型什么。结论是,通过率确实被推高,但模型同时学会了多动手改代码,并且会在本来就正确的代码里编造出不存在的 bug。也就是说,奖励只关心最终程序能否通过,并不关心修改是否必要、是否落在真正出错的位置,模型因此倾向于用更大范围的改动去碰运气,而不是定位问题。这一分析构成了后续方法设计的出发点。

局部编辑信号与训练效果

PreciseCoder 的做法是在单元测试奖励之外,增加一个针对语义已验证、位置受限的编辑的信号。论文称该信号与更小的编辑范围和更高的通过率相关。在 4B、9B、27B 三个参数规模的模型上,平均编辑行数从 7-15 行降到 3 行,而通过率与只用单元测试训练时相当。这意味着模型在保持解题能力的同时,改动变得更克制、更集中。作者还观察到,只在单行 bug 数据上训练的模型,能够迁移到仓库级程序修复任务,并且用更小的补丁解决了更多问题,说明这种精确性并不局限于训练时见过的 bug 形态。

推理轨迹的跨模型迁移

论文报告了精确性在模型之间的传递效果:把 9B PreciseCoder 模型的推理轨迹交给 GPT-5.6 Sol、Qwen3.8-Max 等前沿模型使用,无需任何额外训练,这些模型在编辑精度上获得 4.6 到 12.4 点的提升。作者对思考轨迹做了语言学分析,认为该奖励促使模型逐行推理、指出有问题的行,并形成前后一致的 bug 假设。论文共 29 页、14 张图,提交于 2026 年 10 月 13 日,编号 arXiv:2610.18755,归类于软件工程、人工智能与计算语言方向。

为什么值得看

揭示单元测试奖励会让模型多改代码、虚构 bug,并给出可迁移到仓库级修复的替代训练信号。

GPTQwen论文

信源1 家

  1. [1]arXiv cs.AI一手信源PreciseCoder: Faithful and Generalizable Debugging Beyond Unit-Test Rewards

关键事实

  • 论文指出,仅以单元测试为奖励虽能提高通过率,却让模型编辑更多代码,并在已正确的代码中虚构 bug[1]

  • PreciseCoder 在单元测试奖励之外加入语义验证的局部编辑信号,该信号与更小编辑量和更高通过率相关[1]

  • 在 4B、9B、27B 模型上,平均编辑行数从 7-15 行降至 3 行,通过率与仅用单元测试训练持平[1]

  • 仅在单行 bug 上训练即可泛化到仓库级程序修复,以更小补丁解决更多问题[1]

  • 把 9B PreciseCoder 模型的推理轨迹提供给 GPT-5.6 Sol 与 Qwen3.8-Max,编辑精度提升 4.6-12.4 点且无需额外训练[1]

相关 · 论文

本页内容由 AI 自动聚合公开信源生成,仅供了解行业动态参考,不构成任何投资或决策建议。如需引用请以原文出处为准。