← 最新论文
🤖 machine learning

Domain-Adaptable Reinforcement Learning for Code Generation with Dense Rewards

本文提出了一种基于近端策略优化并配备可定制、执行感知奖励系统的强化学习框架,用于微调大语言模型,显著提升了其在代码生成任务中的功能正确性以及对机器人等特定领域约束的适应能力。

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

发布于 2026-05-21
📖 1 分钟阅读☕ 轻松阅读

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

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象你有一位才华横溢但缺乏经验的学徒程序员。这位学徒(即大型语言模型)能够写出外观出色且符合语法规则的代码,但当你实际运行这些代码时,它们往往会崩溃、行为异常,或无法完成你要求的功能。

本文介绍了一种训练这位学徒的新方法,称为强化学习,但有一个特定的转折:他们不再等到项目完全结束时才说“做得好”或“失败”,而是对学徒采取的每一步都提供持续、详细的反馈。

以下是他们系统工作原理的分解,使用简单的类比:

1. 问题:“全有或全无”的评分

传统上,在教人工智能编程时,系统会等到整个程序编写完成。然后,它运行代码。

  • 如果代码能运行:人工智能获得一颗金星。
  • 如果代码崩溃:人工智能得到一个大大的“不及格”。

问题在于,人工智能不知道它失败的原因。是它在第一行犯了错?还是最后一行?或者整个想法都是错的?这就像一名学生写了一篇 10 页的论文,提交后只收到一个没有评语的“不及格”。他们不知道应该修改哪一段。

2. 解决方案:“密集奖励”教练

作者创建了一个框架,就像一位严格但乐于助人的教练站在学徒身旁,看着他们打字。教练不再在结束时给出一个总分,而是对学徒输入的**每一个单词(token)**都给出评分。

这被称为密集奖励系统。以下是教练在每一步检查的内容:

  • 语法检查(语法警察):句子结构是否正确?(例如:你是否忘记了一个冒号或括号?)
  • 风格与安全检查(代码检查员):代码是否杂乱?是否存在安全漏洞?(他们使用名为"Ruff"的工具来检查这一点。)
  • “如果”检查(模拟器):如果这是一个机器人,这个动作会导致它撞墙吗?系统会模拟代码,看看它在物理上是否可行。
  • “不要偏离”检查:教练确保学徒不会过度偏离其原始的训练风格,保持其稳定性。

3. 学习如何发生(循环)

该论文描述了一个反复进行的三步循环:

  1. ** rollout(练习运行)**:人工智能一次生成一个单词的代码。
  2. 评估(记分卡):一旦代码完成,系统就会通过上述所有检查来运行它。它会计算整段代码的“分数”,但也会找出哪些具体单词导致了高分或低分。
    • 类比:如果代码因为第 5 行的一个拼写错误而失败,系统会知道要重罚第 5 行,而不是第 1 行。
  3. 优化(课程):人工智能利用这些分数来更新其“大脑”。它学会了:“哦,当我在这个上下文中输入这个特定单词时,会导致崩溃。下次,我会选择不同的单词。”

4. 结果:从“损坏”到“可用”

作者在两种截然不同的任务上测试了这种方法:

  • 通用编程(办公室工作):他们要求人工智能编写标准的 Python 程序。
    • 结果:人工智能正确完成任务的比例从约 46% 提高到了65%。它学会了编写真正能运行并能处理棘手边缘情况的代码。
  • 机器人编程(体力工作):他们要求人工智能编写代码,让机器人移动并执行任务。
    • 结果:在训练之前,机器人的代码几乎总是在开始移动之前就崩溃了(失败率高达 96%)。训练后,机器人能够成功执行任务,成功率达到了51%。代码变得“环境感知”,意味着机器人学会了不要尝试穿墙或举起过重的物体。

核心要点

该论文证明,通过在编程过程的每一步给予人工智能持续、详细的反馈,而不仅仅是一个最终评分,你可以教会它编写不仅语法正确,而且安全、功能完备且准备好应对现实世界的代码。

他们不仅让人工智能变得更聪明;他们让它变得更加谨慎,并意识到其行动的后果,无论这些行动是在计算机上运行,还是在移动实体机器人。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →