精选今天0 投票
函数级执行反馈:STEP-KTODER 框架优化代码生成的偏好学习
函数级执行反馈:STEP-KTODER 框架优化代码生成的偏好学习
在代码生成领域,过程监督(process supervision)的潜力尚未充分挖掘,因为没有统一的标准来定义“步骤”。不同于数学推理中的思维链(chain-of-thought),代码生成中的步骤可以是代码行、推理轨迹或程序状态,这导致监督标签难以确定。
针对这一问题,研究团队提出了 STEP-KTODER 框架,该框架在多函数程序中将步骤定义为模块级函数,并利用自动生成的单元测试为这些函数分配二值正确性标签。这一方法将函数级过程监督与整体程序的结果级反馈相结合,实现了逐步 KTO(Kahneman-Tversky Optimization)的代码特定实例化。
研究团队在 HumanEval(+)、MBPP(+)、BigCodeBench 和 LiveCodeBench 等基准上进行了评估,结果显示 STEP-KTODER 优于仅使用结果级反馈的 KTO 和 DPO 方法。这证明了函数级过程监督的有效性。
进一步分析发现,执行标签至关重要:LLM 作为评判者的标注系统会系统性高估函数失败,破坏正样本标签,从而降低下游偏好优化的性能。这表明,基于执行的自动反馈比 LLM 评判更可靠。
该研究已被 EMNLP 2026 Findings 接收,代码已开源。
主要贡献
- 提出了 STEP-KTODER 框架,定义了代码生成中的步骤为模块级函数。
- 利用单元测试自动生成二值标签,结合过程监督和结果反馈。
- 在多个基准上验证了方法的有效性,并揭示了 LLM-as-a-judge 的局限。
影响与展望
这项工作为代码生成中的过程监督提供了一种可行的实现方案,有望推动代码智能的进一步发展。未来,类似方法或可应用于更复杂的软件工程任务,如代码修复、重构等。