论文

经由故障代码驱动的测试用例合成与稠密奖励塑形的稳健代码RL

Robust Code RL via Faulty-Code-Driven Test case Synthesis and Dense Reward Shaping

模型训练强化学习合成数据RLVR

摘要

来自可验证奖励的强化学习(RLVR)已成为增强大语言模型(LLM)代码生成能力的关键技术。然而,RLVR在编码实现中的效力从根本上受测试用例全面性的限制,因为代码验证中不足的测试覆盖常常造成假阳性,进而导致奖励劫持和策略退化。为缓解当前自动化生成方法质量欠佳所带来的奖励偏差,我们提出RobustTests框架,它引入一种故障代码驱动的测试用例合成策略,利用“接近正确”的故障代码引导模型精确捕捉潜在逻辑差异,并进一步集成验证器智能体与行为特征聚类,以实现对无效和冗余测试用例的细粒度过滤。为解决合成测试用例中固有的幻觉噪声造成的假阴性,RobustTests还纳入了基于通过率的分步稠密奖励函数,通过细粒度反馈增强训练鲁棒性。借助这一流水线,我们构建了一个扩充CodeContests测试用例的高质量数据集,涵盖更广泛的故障代码场景并显著增强诊断效用。实验结果表明,利用CodeContests中一个中等难度的问题子集进行训练,通过RobustTests对Qwen3-32B进行RL微调,在LiveCodeBench基准上较基线方法取得3%的绝对性能提升,证实了RobustTests框架在提升LLM代码生成能力方面的有效性。

经由故障代码驱动的测试用例合成与稠密奖励塑形的稳健代码RL:论文配图
图1:LLM测试用例合成的现有方法示意。(a) 直接生成测试用例,指示LLM直接合成一组符合问题规格的测试用例。(b) 通过生成器程序生成测试用例,先指示LLM生成旨在自动化合成测试用例输入的生成器程序。