[論文紹介#170]ソフトウェア工学エージェントと検証者のトレーニング:SWE-Gymを用いて

Training Software Engineering Agents and Verifiers with SWE-Gym

この論文は、SWE-Gymというソフトウェア工学エージェントと検証者を訓練するための環境を提案し、実際のPythonタスクを用いた成果を報告しています。

SWE-Gymは、2,438の実世界のPythonタスクを用いて、言語モデルベースのソフトウェア工学エージェントの訓練を可能にし、解決率を最大19%向上させる新しい訓練環境を提供します。

論文:https://arxiv.org/abs/2412.21139
リポジトリ:https://github.com/SWE-Gym/SWE-Gym

以下は、LLMを用いてこの論文の内容を要約したものになります。

概要

本論文では、実世界のソフトウェア工学(SWE)エージェントを訓練するための最初の環境であるSWE-Gymを提案します。SWE-Gymには、実行可能なランタイム環境、単体テスト、自然言語で指定されたタスクを含む2,438の実世界のPythonタスクインスタンスが含まれています。

私たちはSWE-Gymを使用して、言語モデルベースのSWEエージェントを訓練し、人気のSWE-Bench VerifiedおよびLiteテストセットで解決率に最大19%の絶対的な向上を達成しました。また、SWE-Gymからサンプリングされたエージェントの軌跡に基づいて訓練された検証器を通じて推論時のスケーリングを実験しました。

私たちの微調整されたSWEエージェントと組み合わせることで、SWE-Bench Verifiedで32.0%、Liteで26.0%を達成し、オープンウェイトのSWEエージェントにおける新たな最先端を反映しています。さらなる研究を促進するために、私たちはSWE-Gym、モデル、およびエージェントの軌跡を公開します。

ソフトウェア工学エージェントと検証者のトレーニング:SWE-Gymを用いて

本論文では、実世界のソフトウェア工学(SWE)エージェントをトレーニングするための初の環境であるSWE-Gymを提案しています。この環境は、2,438の実世界のPythonタスクインスタンスを含み、各タスクは実行可能なランタイム環境、ユニットテスト、および自然言語で指定されたタスクから構成されています。

1. SWE-Gymの特徴

SWE-Gymは、言語モデルに基づくSWEエージェントのトレーニングに使用され、人気のあるSWE-Bench VerifiedおよびLiteテストセットにおいて、解決率で最大19%の絶対的な向上を達成しています。この開発により、実際のソフトウェアエンジニアリングタスクにおけるエージェントの性能向上が期待されています。

2. 使用した方法

本研究では、SWE-Gymを用いて言語モデルベースのSWEエージェントを訓練しました。この訓練プロセスでは、自然言語処理技術を用い、エージェントが与えられたタスクを解決するために必要なコードを生成するように指導されます。訓練の結果、特に以下の点が重要です。

  • エージェントの訓練: SWE-Gym内のタスクインスタンスを通じて、実際のソフトウェア工学の問題を解決する能力を向上させました。
  • 検証器のスケーリング: SWE-Gymからサンプリングされたエージェントの軌跡を用いて訓練された検証器を使用し、推論時のスケーリング実験も行いました。

3. 実験の詳細

実験では、SWE-Gymで訓練されたエージェントと微調整されたエージェントを組み合わせ、以下の成果を達成しました。

  • SWE-Bench Verifiedで32.0%
  • Liteで26.0%

これにより、オープンウェイトのSWEエージェントにおける新たな最先端の性能を示しました。

4. 公開リソース

本研究の成果を促進するために、SWE-Gym、モデル、およびエージェントの軌跡を公開しました。これにより、他の研究者が新たなアプローチや改良を試みることができる基盤を提供しています。