← 最新论文
💬 NLP

Pull Requests as a Training Signal for Repo-Level Code Editing

本文介绍了 Clean-PR,这是一种通过利用大量重构的 GitHub 拉取请求(pull requests)来使模型内化仓库级代码编辑能力的中间训练范式,在无需依赖复杂智能体脚手架的情况下,其在 SWE-bench 上的表现显著优于基准模型。

原作者: Qinglin Zhu, Tianyu Chen, Shuai Lu, Lei Ji, Runcong Zhao, Murong Ma, Xiangxiang Dai, Yulan He, Lin Gui, Peng cheng, Yeyun Gong

发布于 2026-06-01
📖 1 分钟阅读☕ 轻松阅读

原作者: Qinglin Zhu, Tianyu Chen, Shuai Lu, Lei Ji, Runcong Zhao, Murong Ma, Xiangxiang Dai, Yulan He, Lin Gui, Peng cheng, Yeyun Gong

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

想象一下你拥有一座巨大的、古老的图书馆(一个软件仓库),里面有数百万本书(代码文件)。你的目标是修复其中一本书里的一个特定拼写错误,或者增加一个新章节。

通常情况下,为了做到这一点,你需要雇佣一位非常聪明但有点笨手笨脚的图书管理员(一个 AI 模型)。因为图书馆规模如此庞大,图书管理员需要一个助手团队、一套复杂的地图阅读系统以及大量的时间来找到正确的书、翻到正确的页码并完成修改。这就是目前大多数“AI 软件工程师”的工作方式:它们使用沉重且复杂的工具来应对混乱的局面。

这篇论文提出了一个简单的问题:我们能否教会这位图书管理员变得如此擅长寻找和修复问题,以至于他们不再需要那些沉重的助手了?

作者们说“可以”,并且通过以下几种创意类比说明了他们是如何做到的:

1. 问题所在:“嘈杂”的图书馆

作者研究了 GitHub,它就像是一个记录人们如何修复和更改代码的巨大公共档案库。他们发现,这个记录极其混乱。

  • 噪声: 想象一下,你试图通过观看一段有人换轮胎的视频来学习如何修车,但视频中有 40% 是他们在吃午饭,25% 是机器人在假装修理工,还有 25% 是从未完成的视频。
  • 结果: 如果你只是把这些混乱的视频喂给你的 AI 图书管理员,他们会感到困惑。他们会学到坏习惯,比如试图去修复那些并不需要修复的东西,或者在错误的走廊里迷失方向。

2. 解决方案:“Clean-PR”(过滤后的视频)

团队构建了一个名为 Clean-PR 的机器。你可以把它看作是一个超级聪明的视频剪辑师,它观看所有那些混乱的 GitHub 视频,并剪掉其中的垃圾内容。

  • 过滤器: 它会丢弃那些没有进行实际工作、由机器人完成工作或修复从未被批准的视频。
  • 翻译: 与其向 AI 展示一个难以阅读的“修改前与修改后”的对比图,该机器会将修复过程转化为清晰的、分步骤的指令:“找到以‘Hello’开头的段落,并将其改为‘Goodbye'。”
  • 验证: 在保存指令之前,机器实际上会在一本测试书中尝试应用该指令,以确保其完美无误。如果不起作用,该指令就会被丢弃。

最终,他们建立了一个包含 200 万条完美指令(称为 Pull Requests)的大型洁净图书馆,涵盖了 12 种不同的语言。

3. 训练过程:两步学习法

他们并没有直接把这些数据倾倒给 AI。他们分两个特定的阶段进行了教学:

  • 阶段 1:中段训练(“学徒”阶段)
    他们将这 200 万条洁净指令喂给了 AI。这就像是给图书管理员进行了一场关于现实中人们如何在真实图书馆中修复问题的速成课程。AI 学习了编辑的模式,而无需与任何人交流。这种技能被“内化”到了 AI 的大脑(其权重)中。

  • 阶段 2:专门实践(“SFT”阶段)
    现实世界的问题很棘手。有时,图书管理员被给了一千本书的列表,但问题仅存在于其中一本书中。如果图书管理员试图修复所有的书,他们就会把事情搞砸。
    为了解决这个问题,作者设计了一个特殊的训练练习,通过欺骗 AI 来进行:他们给它一本正确的书加上一堆错误的干扰书,然后问:“哪一本需要修复?”
    这教会了 AI 说:“我不需要碰这些其他的书”,从而防止了不必要的改动。

4. 结果:一位超级图书管理员

当他们使用 SWE-bench(一项针对 AI 软件工程师的严苛考试)测试这个新 AI 时:

  • 旧方法: 此前的顶尖模型需要庞大的数字助手团队和复杂的规划循环才能解决大约 20% 的问题。
  • 新方法: 这个新的 AI,使用一种更简单的、“无需助手”的方法,解决了 30.6% 的问题。
  • 惊喜之处: 尽管这个 AI 规模较小(320 亿个“脑细胞”),但它的表现优于一些竞争对手(720 亿规模)。

核心启示

这篇论文证明了,你不需要一台带有大量工具的庞大复杂机器来修复软件。相反,如果你给模型提供高质量、经过验证的示例来学习如何修复问题,它可以直接习得这项技能。

这就像是教学生开车时,是给他一本关于如何修理汽车引擎的手册(混乱且理论化),还是让他坐在已经由专业人士完美驾驶了 200 万英里的汽车驾驶座上(Clean-PR)。通过后者,学生能如此深刻地理解驾驶的“感觉”,以至于他们不再需要副驾驶来告诉他们何时转弯。

简而言之: 作者清理了互联网上的混乱数据,教会了 AI 如何从洁净版本中学习,并证明了这能让 AI 成为一名更优秀、更独立的软件工程师。

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

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

试用 Digest →