ReflexiCoder: Teaching Large Language Models to Self-Reflect on Generated Code and Self-Correct It via Reinforcement Learning
作者: Juyong Jiang, Jiasi Shen, Sunghun Kim, Kang Min Yoo, Jeonghoon Kim, Sungju Kim
分类: cs.CL, cs.LG, cs.SE
发布日期: 2026-03-06
🔗 代码/项目: GITHUB
💡 一句话要点
ReflexiCoder:通过强化学习教大型语言模型自省和自纠代码
🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 代码生成 大型语言模型 强化学习 自我反思 自我纠正 RL-zero 代码调试 代码优化
📋 核心要点
- 现有代码生成LLM在复杂算法任务中表现受限,依赖外部反馈进行迭代改进,效率较低。
- ReflexiCoder通过强化学习,使LLM具备内在的自省和自纠能力,无需外部依赖。
- 实验表明,ReflexiCoder在多个代码生成基准测试中达到SOTA,并显著提升了token效率。
📝 摘要(中文)
大型语言模型(LLMs)已经彻底改变了代码生成领域,但标准的“系统1”方法,即通过单次前向传递生成解决方案,在面对复杂的算法任务时常常达到性能瓶颈。现有的迭代改进策略试图在推理时弥合这一差距,但它们主要依赖于外部预言机、执行反馈或计算成本高昂的提示-响应循环。本文提出了ReflexiCoder,这是一种新颖的强化学习(RL)框架,它将结构化的推理轨迹(包括初始生成、bug和优化感知反思以及自我纠正)直接融入到模型的权重中。与先前的方法不同,ReflexiCoder将范式从依赖外部的改进转变为内在的、完全自主的自我反思和自我纠正能力。我们利用具有细粒度奖励函数的RL-zero训练范式来优化整个反思-纠正轨迹,从而教会模型如何在推理时调试,而无需依赖ground-truth反馈或执行引擎。在七个基准测试上的大量实验表明,我们的ReflexiCoder-8B在1.5B-14B范围内领先的开源模型中建立了新的最先进水平(SOTA),在单次尝试设置中,在HumanEval(Plus)上达到94.51%(87.20%),在MBPP(Plus)上达到81.80%(78.57%),在BigCodeBench上达到35.00%,在LiveCodeBench上达到52.21%,在CodeForces上达到37.34%,与GPT-5.1等专有模型相媲美甚至超越。值得注意的是,我们的框架比基础模型具有更高的token效率,通过有纪律的、高速的推理和反思模式,将推理时的计算开销降低了约40%。源代码可在https://github.com/juyongjiang/ReflexiCoder获得。
🔬 方法详解
问题定义:现有的大型语言模型在代码生成方面取得了显著进展,但面对复杂的算法问题时,通常依赖于单次生成,缺乏有效的自我纠错机制。现有的迭代改进方法依赖于外部执行环境的反馈或耗时的prompt-response循环,效率低下,且无法将纠错能力内化到模型中。
核心思路:ReflexiCoder的核心思路是通过强化学习,训练模型进行自我反思和自我纠正。模型不再仅仅依赖于单次生成,而是学会分析自身生成的代码,识别潜在的bug和优化空间,并进行迭代改进。这种方法旨在将纠错能力内化到模型参数中,使其在推理时能够自主地进行代码优化。
技术框架:ReflexiCoder采用RL-zero训练范式,整体框架包含三个主要阶段:初始代码生成、bug和优化感知反思、以及自我纠正。模型首先生成初始代码,然后通过反思模块分析代码,识别潜在问题,最后通过纠正模块对代码进行修改。整个过程通过强化学习进行优化,奖励函数的设计至关重要,需要能够引导模型进行有效的反思和纠正。
关键创新:ReflexiCoder的关键创新在于将自我反思和自我纠正能力内化到模型中,使其能够在推理时自主地进行代码优化,而无需依赖外部反馈。这与以往依赖外部执行环境或prompt-response循环的方法有本质区别。此外,RL-zero训练范式的应用,使得模型能够在没有ground-truth反馈的情况下进行学习,进一步提升了模型的泛化能力。
关键设计:ReflexiCoder的关键设计包括:细粒度的奖励函数,用于引导模型进行有效的反思和纠正;RL-zero训练范式,使得模型能够在没有ground-truth反馈的情况下进行学习;以及高效的推理机制,通过有纪律的推理和反思模式,降低推理时的计算开销。
🖼️ 关键图片
📊 实验亮点
ReflexiCoder-8B在多个代码生成基准测试中取得了显著的性能提升,在HumanEval(Plus)上达到94.51%(87.20%),在MBPP(Plus)上达到81.80%(78.57%),超过了同等规模的开源模型,甚至可以与GPT-5.1等专有模型相媲美。此外,ReflexiCoder还显著提升了token效率,将推理时的计算开销降低了约40%。
🎯 应用场景
ReflexiCoder具有广泛的应用前景,可用于自动化代码生成、代码调试和代码优化等领域。它可以帮助开发者更高效地生成高质量的代码,减少调试时间,并提升代码的性能。此外,该技术还可以应用于教育领域,帮助学生更好地学习编程。
📄 摘要(原文)
While Large Language Models (LLMs) have revolutionized code generation, standard "System 1" approaches, generating solutions in a single forward pass, often hit a performance ceiling when faced with complex algorithmic tasks. Existing iterative refinement strategies attempt to bridge this gap at inference time, yet they predominantly rely on external oracles, execution feedback, or computationally expensive prompt-response cycles. In this work, we propose ReflexiCoder, a novel reinforcement learning (RL) framework that internalizes the structured reasoning trajectory, encompassing initial generation, bug and optimization aware reflection, and self-correction, directly into the model's weights. Unlike prior methods, ReflexiCoder shifts the paradigm from external-dependent refinement to an intrinsic, fully autonomous self-reflection and self-correction capabilities at inference time. We utilize an RL-zero training paradigm with granular reward functions to optimize the entire reflection-correction trajectory, teaching the model how to debug without reliance on ground-truth feedback or execution engines at inference time. Extensive experiments across seven benchmarks demonstrate that our ReflexiCoder-8B establishes a new state-of-the-art (SOTA) among leading open-source models in the 1.5B-14B range, achieving 94.51% (87.20%) on HumanEval (Plus), 81.80% (78.57%) on MBPP (Plus), 35.00% on BigCodeBench, 52.21% on LiveCodeBench, and 37.34% on CodeForces in a single-attempt setting, rivaling or surpassing proprietary models like GPT-5.1. Notably, our framework is significantly more token-efficient than base models, reducing inference-time compute overhead by approximately 40% through disciplined, high-speed reasoning and reflection patterns. Source code is available at https://github.com/juyongjiang/ReflexiCoder.