论文

CoSPlay:使用自行生成的代码和单元测试在测试时进行协作自我游戏

CoSPlay: Cooperative Self-Play at Test-Time with Self-Generated Code and Unit Test

模型推理推理验证与自校正

摘要

最近,具有可验证奖励的强化学习 (RLVR) 和测试时间缩放 (TTS) 通过可执行验证改进了 LLM 代码生成。然而,真值 单元测试 (GT UT) 仍然是一个瓶颈:SOTA RLVR 方法需要它们进行昂贵的训练,而如果没有它们,现有的 TTS 方法就会失去竞争力。这激发了无 GT TTS,其中现有方法直接使用自行生成的 UT 来细化和选择候选代码。然而,此类 UT 常常存在噪声或与错误代码虚假耦合,而如果没有可靠的代码,则无法验证 UT 质量。因此,关键的挑战是共同改进两者。为此,我们提出了 CoSPlay,一个无 GT 的 无需训练 框架,通过合作自玩来共同改进代码和 UT。它首先探索不同的解决方案想法并确定其潜在的失败模式,以产生有区别的 UT 想法。然后,它使用来自 Code-UT 执行矩阵的双向传递计数信号来迭代地修剪或修复弱代码并刷新或替换不可靠的 UT,从而让两个池共同发展。最后,当多个代码在最高通过计数上保持联系时,它会从最大的输出共识簇中挑选最终代码,因为正确的代码在相同的输入上达成一致,而错误的代码则发散。对四个具有挑战性的基准的实验表明,Qwen2.5-7B-Instruct 上的 CoSPlay 将平均 BoN 从 22.1% 提高到 33.2%,UT 准确率从 14.6% 提高到 78.3%,匹配或超越 RLVR 模型 CURE-7B。当应用于CURE-7B时,其BoN进一步提高了5.7%。 CoSPlay 还可以推广到不同的骨干网,并且在可比较的 词元预算 下优于无 GT TTS 基线,并且随着预算规模的扩大而持续增长。这些结果提出了一种可扩展的推理策略,用于在没有任何 GT 数据的情况下生成竞争性代码。