SWE-Trail、履歴を活用してコーディングエージェントの軌跡収集を改善
導入
コーディングエージェントがリポジトリの課題を解くには、関連ファイルの探索、コードの読解、修正、テスト実行、失敗の分析、再修正といった長い手順が必要です。こうした一連の操作履歴は、コードモデルのポストトレーニングに利用される重要なデータになっています。そのため、どのように軌跡を集めるかは、最終モデルの学習内容を左右します。
独立サンプリングの限界
一般的な方法では、同じ issue に対してエージェントを複数回独立実行し、得られた軌跡を選別します。しかし、サンプリング回数が増えるほど、後続の試行は初期の経路を再現しやすくなります。同じファイルを調べ、似た修正を試し、同じ失敗に到達する軌跡が増えれば、追加計算の情報価値は下がります。
過去の軌跡をエージェントに提示し、次の方針を助言させる方法も考えられます。ただし、訓練時にだけ存在する助言をモデルが利用すると、テスト時の入力条件との間にずれが生じます。SWE-Trailは、この問題を避けるため、履歴をエージェントのコンテキストに入れません。
SWE-Trailの仕組み
新しいロールアウトでは、収集器が過去の軌跡を参照し、追加探索の価値がありそうな状態やチェックポイントを選びます。その後、エージェントは過去の履歴を見ず、通常の実行時と同じコンテキストだけを使って、次に取る候補アクションを提案します。収集器は同じチェックポイントから候補を短時間実行し、どの経路を続けるべきかを判断します。
つまり、履歴は「どこをさらに調べるか」を決めますが、「エージェントが何を生成するか」を直接決めるわけではありません。
主なポイント
- 過去の軌跡は収集器側に保持され、エージェントには提示されない。
- 探索予算を重複の多い経路ではなく、価値のありそうな状態へ振り向ける。
- 候補アクションは同じチェックポイントから比較される。
- 軌跡の本数ではなく、それを使って訓練した学生モデルの解決性能で評価する。
結果と意義
論文では、Ling-3.0-flash-baseから初期化した124Bの学生モデルを、各手法で収集した軌跡により訓練しました。独立サンプリングと比べ、SWE-TrailはSWE-bench Multilingualの平均解決率を2.33ポイント、SWE-bench Proを1.60ポイント向上させました。
対照実験も重要です。履歴を使わず同じパイプラインを動かした場合、独立サンプリングより解決済み軌跡は多く得られましたが、Multilingualでの改善は0.11ポイントにとどまりました。したがって、効果の中心はパイプラインそのものではなく、履歴を使った探索先の選択にあると考えられます。
この研究は、エージェント用データ収集を単なる大量生成ではなく、探索資源の配分問題として捉え直します。同時に、履歴がデータ生成の裏側で使われるだけなので、実運用時には存在しない助言をモデルに学習させるリスクも抑えられます。すべての課題で最適とは限りませんが、長い手順と多くの分岐を持つリポジトリ修正では、軌跡の多様性と訓練・テストの整合性を両立する考え方になり得ます。
コメント
ログイン状態を確認中…
コメントを読み込み中…