Domain-Adaptable Reinforcement Learning for Code Generation with Dense Rewards

📄 arXiv: 2605.21180v1 📥 PDF

作者: Erfan Aghadavoodi Jolfaei, Daniel Maninger, Abhinav Anand, Mert Tiftikci, Mira Mezini

分类: cs.LG, cs.SE

发布日期: 2026-05-20

备注: 10 pages, 2 figures, under review


💡 一句话要点

提出一种领域自适应强化学习框架,通过密集奖励提升代码生成质量,尤其在机器人领域。

🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 代码生成 强化学习 领域自适应 机器人程序合成 近端策略优化

📋 核心要点

  1. 现有代码生成模型难以保证代码的正确性、质量和安全性,尤其是在机器人等对领域知识要求高的场景。
  2. 该论文提出了一种基于强化学习的微调框架,通过定制化的奖励函数和token级别的奖励映射,优化代码生成过程。
  3. 实验结果表明,该框架在通用代码生成和机器人程序合成任务上均取得了显著提升,验证了其有效性。

📝 摘要(中文)

大型语言模型在自动化代码生成方面展现出巨大潜力,但缺乏对正确性、质量、安全性以及领域特定约束的保证。例如,在机器人领域,代码生成越来越多地用于规划和执行动作,对环境和物理约束的感知至关重要。为了促进代码生成LLM适应多样化的需求,包括领域特定的需求,我们提出了一个强化学习框架,该框架使用近端策略优化来微调预训练的LLM。我们可定制的、执行感知的奖励公式捕获并优化语法、功能正确性、代码风格、安全性和模拟器可执行性。一种token级别的奖励映射机制能够有效地将执行结果分配到生成的token。该框架在通用代码生成(MBPP/MBPP+)和机器人程序合成(RoboEval)上进行了评估。结果表明,在功能正确性和模拟器可执行性方面有显著提高,包括MBPP上绝对pass@1提高了19%,RoboEval上执行失败减少了51%。这些发现表明,结构化的强化学习可以有效地使语言模型与正确的程序生成和领域特定需求对齐。

🔬 方法详解

问题定义:现有的大型语言模型在代码生成方面表现出色,但缺乏对代码正确性、质量、安全性和领域特定约束的保证。尤其是在机器人等领域,需要生成的代码能够与环境交互并满足物理约束,现有方法难以满足这些需求。因此,需要一种方法来使代码生成模型能够适应不同的领域和约束条件。

核心思路:该论文的核心思路是利用强化学习来微调预训练的语言模型,使其能够生成满足特定领域约束的代码。通过设计一个可定制的奖励函数,可以引导模型生成语法正确、功能正确、代码风格良好、安全且可在模拟器中执行的代码。此外,token级别的奖励映射机制可以将执行结果反馈到生成的每个token,从而实现更有效的学习。

技术框架:该框架主要包含以下几个模块:1) 预训练的语言模型:作为代码生成的基础模型。2) 强化学习环境:提供代码执行和评估的平台,例如模拟器。3) 奖励函数:根据代码的语法、功能、风格、安全性和可执行性等指标,对生成的代码进行评分。4) 近端策略优化(PPO):用于更新语言模型的参数,使其能够生成更高质量的代码。5) Token级别奖励映射:将执行结果分配到生成的每个token,以便更精确地进行学习。

关键创新:该论文的关键创新在于:1) 提出了一个可定制的、执行感知的奖励公式,可以根据不同的领域和约束条件进行调整。2) 引入了一种token级别的奖励映射机制,可以将执行结果反馈到生成的每个token,从而实现更有效的学习。3) 将该框架应用于机器人程序合成任务,并取得了显著的成果。

关键设计:奖励函数的设计是关键。它综合考虑了代码的语法正确性、功能正确性、代码风格、安全性和模拟器可执行性。具体来说,可以使用不同的指标来衡量这些方面,例如,可以使用静态分析工具来检查代码的语法错误,可以使用单元测试来验证代码的功能正确性,可以使用代码风格检查器来评估代码风格,可以使用安全漏洞扫描器来检测代码中的安全漏洞,可以使用模拟器来测试代码的可执行性。PPO算法使用标准的参数设置,token级别奖励映射使用一种加权平均的方法,根据token对最终结果的贡献程度分配奖励。

🖼️ 关键图片

fig_0
fig_1

📊 实验亮点

实验结果表明,该框架在通用代码生成任务(MBPP)上,pass@1指标提升了19%,在机器人程序合成任务(RoboEval)上,执行失败率降低了51%。这些结果表明,该框架能够有效地提高代码生成模型的性能,并使其能够更好地适应不同的领域和约束条件。相较于直接使用预训练语言模型,该方法能够显著提升代码的正确性和可执行性。

🎯 应用场景

该研究成果可应用于各种需要自动化代码生成的领域,例如机器人、自动化测试、软件开发等。通过领域自适应的强化学习,可以生成满足特定领域约束的代码,提高代码的质量和效率,并降低开发成本。未来,该方法可以进一步扩展到更复杂的代码生成任务,例如生成具有特定功能的应用程序或服务。

📄 摘要(原文)

Large language models show strong potential for automated code generation, but lack guarantees for correctness, quality, safety, and domain-specific constraints. For instance in robotics, where code generation is increasingly being used for planning and executing actions, awareness of the environment and physical constraints is critical. To facilitate the adaption of code-generating LLMs to diverse requirements, including domain-specific ones, we present a reinforcement learning framework that fine-tunes pre-trained LLMs using proximal policy optimization. Our customizable execution-aware reward formula captures and optimizes syntax, functional correctness, code style, security, and simulator executability. A token-level reward mapping mechanism enables effective credit assignment from execution outcomes to generated tokens. The framework is evaluated on general-purpose code generation (MBPP/MBPP+) and robotic program synthesis (RoboEval). The results show substantial improvements in functional correctness and simulator executability, including an absolute pass@1 increase of 19% on MBPP and a reduction in execution failures by 51% on RoboEval. These findings demonstrate that structured reinforcement learning can effectively align language models to correct program generation and domain-specific requirements.