← 最新の論文
💬 NLP

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

本論文は、再構成されたGitHubプルリクエストの膨大なコーパスを活用することで、モデルにリポジトリレベルのコード編集能力を内面化させ、複雑なエージェント・スキャフォールディングに依存することなくSWE-benchにおいてベースラインを大幅に上回る性能を実現する中間学習パラダイムであるClean-PRを提案する。

原著者: 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を調査しました。GitHubは、人々がコードを修正したり変更したりした記録の巨大な公開記録のようなものです。彼らは、この記録が信じられないほど乱雑であることを発見しました。

  • ノイズ: 車のタイヤ交換の動画を見て車の直し方を学ぼうとしているのに、動画の40%は単に誰かが昼食を食べている場面で、25%はメカニックのふりをしているロボット、そして25%は未完成の動画である、という状況を想像してみてください。
  • 結果: もしこの乱雑な動画をそのままAI司書に食べさせると、彼らは混乱してしまいます。彼らは、直す必要のないものを直そうとしたり、間違った通路で迷ったりといった、悪い癖を学習してしまうのです。

2. 解決策: 「Clean-PR」(フィルタリングされた動画)

チームは、Clean-PRと呼ばれる機械を構築しました。これは、これらすべての乱雑なGitHub動画を視聴し、不要な部分をカットする、非常にスマートな動画編集者のようなものだと考えてください。

  • フィルター: 実際の作業が行われなかった動画、ロボットが作業を行った動画、または修正が承認されなかった動画を破棄します。
  • 翻訳: AIに「修正前と修正後」の画像(これは読み取りにくい)を見せる代わりに、この機械は修正を明確なステップバイステップの指示へと翻訳します。例:「『Hello』で始まる段落を見つけ、『Goodbye』に変更せよ」。
  • 検証: 指示を保存する前に、この機械は実際にテスト用の本にその指示を適用してみて、それが完璧に機能するかどうかを確認します。もし機能しなければ、その指示は破棄されます。

その結果、12の異なる言語をカバーする、200万件の完璧な指示(プルリクエストと呼ばれます)からなる、巨大でクリーンなライブラリが完成しました。

3. トレーニング: 2段階の学習

彼らは単にこのデータをAIに流し込んだわけではありません。以下の2つの特定のステージでAIを教えました。

  • ステージ1:中間トレーニング(「見習い」フェーズ)
    彼らはこの200万件のクリーンな指示のライブラリをAIに与えました。これは、司書に、実際の図書館における実際の人の修正方法についての集中講義を行うようなものです。AIは、他の誰とも話すことなく、編集のパターンを学習しました。これにより、スキルがAIの脳(重み)の中に「内面化」されました。

  • ステージ2:専門的な練習(「SFT」フェーズ)
    現実世界の課題はトリッキーです。時には、司書が1,000冊の本のリストを与えられ、問題はそのうちのたった一冊にある、ということもあります。もし司書がすべての本を直そうとすれば、混乱を招いてしまいます。
    これを防ぐために、著者らはAIを騙す特別なトレーニング演習を作成しました。正しい本に加えて、いくつかの間違った本(ディストラクター/妨害要素)を与え、「どれを直すべきか?」と問いかけました。
    これにより、AIは「他の本には触れる必要はない」と言うことを学び、不必要な変更を防ぐことができるようになりました。

4. 結果: スーパー司書

彼らがこの新しいAIを SWE-bench(AIソフトウェアエンジニア向けの難関試験)でテストしたところ:

  • 従来の方法: 以前のトップモデルは、問題を解決するために、巨大なデジタルアシスタントのチームと複雑なプランニング・ループを必要とし、約20%の問題を解決できました。
  • 新しい方法: この新しいAIは、よりシンプルな「アシスタントなし」のアプローチを用いながら、30.6% の問題を解決しました。
  • 驚きの事実: このAIは、競合他社のモデル(720億の脳細胞)よりも小型(320億の脳細胞)であったにもかかわらず、より優れたパフォーマンスを発揮しました。

大きな教訓

この論文は、ソフトウェアを修正するために、多くのツールを備えた巨大で複雑な機械は必要ないということを証明しています。代わりに、モデルに高品質で検証済みの例を与えることで、そのスキルを直接学習させることができるのです。

それは、車のエンジンの直し方に関するマニュアル(乱雑で理論的)を読ませることで運転を教えるのか、それとも、すでにプロによって200万マイル完璧に運転されてきた車に座らせるのかの違いのようなものです(Clean-PR)。学生は、どこでハンドルを切るべきかを教えてくれる副操縦士を必要としないほど、運転の「感覚」を深く習得するのです。

要約すると: 著者たちはインターネットの乱雑なデータをクリーンアップし、そのクリーンなバージョンから学ぶようにAIを教え、それがAIをより優れた、より自立したソフトウェアエンジニアにすることを証明しました。

自分の分野の論文に埋もれていませんか?

研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。

Digest を試す →