Open-SWE-Traces: Advancing Dual-Mode Multilingual Distillation for Software Engineering Agents
本論文は、実際のプルリクエストから派生した207,489件のソフトウェアエンジニアリング・エージェントの軌跡からなる大規模かつ多言語なデータセットであるOpen-SWE-Tracesを紹介するものであり、これにより、多様なSWE-bench評価において最先端の結果を達成できる高性能なオープンソースモデルの蒸留が可能となる。
原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
膨大なソフトウェアライブラリの中で、壊れたコードを修正する方法をロボットに教えたいと想像してみてください。問題は、ロボットに「何を」直すべきかだけを伝えるのではなく、「どのように」問題について考え、間違いを犯し、再挑戦し、そして最終的に成功するかという「思考プロセス」を見せる必要があるということです。これまでは、ロボットを十分に教育できるだけの「映像(フッテージ)」が、多くのプログラミング言語において不足していました。
本論文では、AIエージェントにソフトウェアエンジニアとしての振る舞いを教えるために設計された、大規模な新しい「映像」ライブラリであるOPEN-SWE-TRACESを紹介します。
以下に、彼らが行ったことを簡単な比喩を用いて解説します。
1. 問題点:「トレーニングビデオ」の不足
ソフトウェアエンジニアリングを複雑なスポーツだと考えてみてください。新しい選手(AI)を訓練するには、その動きを学ぶために、プロの試合を何千時間も観戦する必要があります。
- ボトルネック: これまで、研究者たちが手にできたのは、わずか数時間の「試合映像」だけでした。Python、Java、C++といった異なる言語でバグを修正する方法を示す、多様な例が不足していたのです。
- 解決策: 著者らは、207,489件の記録された「試合」を含むデータセット、OPEN-SWE-TRACESを作成しました。これらは、AIが実際のソフトウェアプロジェクト内のバグを修正しようと試みた、現実世界のシナリオです。
2. 学習方法:二つの思考モード
論文では、人間の働き方に着想を得た、AIに教えるための巧妙な方法、**「デュアルモード蒸留(Dual-Mode Distillation)」**を紹介しています。
- モードA:「考える」モード(低速かつ慎重)
チェスのグランドマスターが、駒に触れる前にあらゆる可能な手を計算して立ち止まる様子を想像してください。このデータセットには、AIが行動を起こす前に、明示的に「思考を言語化(Chain-of-Thought)」するトレースが含まれています。- 魔法の効果: 論文では、AIが考える時間を取ることで、問題を解決するために必要な「総手数」が実際に減少することが分かりました。これは、道に迷って同じ場所をぐるぐる回らないように、あらかじめルートを計画するようなものです。これにより、長期的には時間と労力を節約できます。
- モードB:「実行する」モード(高速かつ直接的)
整備士が緩んだボルトを見つけ、長い演説をすることなく即座に締め付ける様子を想像してください。データセットには、内部的な独り言なしに素早く行動するトレースも含まれています。- 目標: AIはこれらのモードを切り替えることを学びます。「難しい問題」には「考える」、「単純な問題」には「実行する」という具合です。
3. データセットの構築方法
彼らは単に架空の問題を作ったわけではありません。現実の世界へと赴きました。
- ソース: 彼らは、オープンソースプロジェクトからの20,000件の実際のプルリクエスト(人間による実際のコード変更)を調査しました。
- 演者: 二つの強力なAI「コーチ」(MiniMax-M2.5およびQwen3.5)を使用し、これらの現実の課題を観察させ、エージェントがどのように解決するかをシミュレートさせました。
- 安全チェック: ライブラリに記録を追加する前に、厳格なセキュリティフィルターを実行しました。AIが答え(gitの履歴)を覗き見たり、ルールを破ったりして「ズル」をしていないかを確認しました。もしAIがズルをしようとした場合、その記録は破棄されました。
4. 結果:新たなチャンピオン
この膨大な「映像」ライブラリを学生AI(Qwen3-30Bモデルに基づく)に学習させた後、AIが現実のバグをどれだけ修正できるかを測定する3つの有名な「試験(ベンチマーク)」でテストを行いました。
- SWE-bench Verified: 学生AIは、問題の**61.7%**を正解しました。
- SWE-bench Multilingual: 多くの異なる言語にわたって、**57.1%**を正解しました。
- SWE-bench Pro: 非常に困難なプロレベルのタスクにおいて、**36.8%**を正解しました。
なぜこれが大きなニュースなのか?
論文では、この新しい学生AIを他のトップクラスのAIモデルと比較しています。この特定のデータセットで訓練された新しいモデルは、多くのオープンソースモデルを凌駕し、最も高価な「クローズドソース」の超知能に近い性能を示しました。
5. 得られた重要な教訓
著者らは、何がAIを賢くしたのかを探るために実験を行いました。
- 言語の重要性: AIをPythonのみで訓練しても一定の効果はありましたが、9つの言語(Python、Go、Javaなど)で訓練することで、Pythonの問題を含むすべてのタイプの問題を解く能力が大幅に向上しました。これは、雨や雪、砂の中での運転を学ぶことが、街中での運転をより上手にするのと似ています。
- 失敗は善である: バグの修正に失敗した記録を含めることも、実は非常に有用であることを見出しました。それは、AIに対して「何をすべきでないか」を教えるからです。もし学生に勝利のプレーだけを見せたら、彼らは負けを避ける方法を学ぶことができません。
- 「思考」のトレードオフ: 「考える」トレースはAIが難しい問題を解く助けとなりましたが、標準的なタスクにおいては、AIが素早く行動できる(「思考なし」)状態の方が全体的なパフォーマンスはわずかに高くなりました。最善のアプローチは、両方の組み合わせです。
まとめ
本論文は、AIエージェントに人間の開発者のように考え、行動する方法を教える、高品質で大規模なソフトウェアエンジニアリングの「リプレイ」ライブラリを提示しています。多くのプログラミング言語にわたる「遅い思考」と「速い行動」の例を組み合わせることで、現実世界のソフトウェアバグの修正において現在最高峰の一つとなる、オープンソースのAIを作り上げました。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。