ホームへ戻る

程式代理評測

SWE-Gate、コーディングエージェントにレビュー制約テストを導入――機能テストを通過したパッチの3分の1が要件違反

SWE-Gateは、実際のpull requestのレビューコメントを実行可能な第2のテストスイートに変換し、機能修正とエンジニアリング上の制約を個別に評価する。4モデルが生成した機能テスト合格パッチ644件のうち、221件は明示されたレビュー要件に違反していた。

Jolanta Dyr · CC BY-SA 3.0 pl · Image source
zh-Hant

新たなベンチマークSWE-Gateは、コーディングエージェントが既存テストをすべて通過させても、そのパッチがマージ可能だとは限らないことを示した。研究チームは、実際のpull requestのレビューコメントから、既存の例外セマンティクスの維持、引数順序の保持、冪等性の確保、公開schemaの破壊回避など、客観的に検証可能な要件を抽出。それらを75のオープンソースPythonリポジトリに移植し、303件の修正ケースを作成した。各ケースには機能テストと制約テストを別々に用意し、さらに「機能的には正しいが要件には非準拠」のパッチと、両方を通過するgold patchを付属させた。これにより、2種類の要件を実際に切り分けられ、かつ同時に満たせることを確認している。

研究では、同一のMini-SWE-Agentと最大100回のインタラクションステップを用い、GPT-5.5、GPT-5.4-mini、DeepSeek-V4-Flash、GPT-4o-miniを評価した。エージェントがプロンプト内で自然言語の制約を確認できる状態でも、4モデルが生成したパッチのうち計644件が機能テストを通過した一方、その34.3%に当たる221件は制約テストに不合格だった。最も高性能だったGPT-5.5は機能成功率が74.9%に達したものの、機能テストと制約テストの双方を通過する共同成功率は52.8%にとどまった。機能テストに合格した同モデルのパッチでも、29.5%は隠れた失敗を抱えていた。制約を明示すると、各モデルの制約遵守率は10.2~25.6ポイント向上したが、機能成功率は0.7~9.9ポイント低下した。これは、限られたステップ数の中で追加ルールを満たそうとすることで、エージェントが本来の修正を犠牲にする可能性を示している。

この研究がCIに直接示唆するのは、単一のテストスイートをエージェント生成パッチの十分な受け入れ基準と見なすべきではないということだ。チームは、互換性、例外型、リソース解放、再入可能性に関する動作を独立したmerge gateとして実装し、機能成功率と共同成功率を個別に追跡できる。一方、ケースはLLMの支援を受けて合成され、対象言語もPythonに限られるうえ、各モデルの実行回数は1回のみだった。この結果が明らかにするのは、あくまで本ベンチマーク上の乖離であり、実際のあらゆるPRにおける却下率へ直接外挿することはできない。

出典

  1. SWE-Gate: Passing Functional Tests Is Not Enough for Software Engineering Agents
  2. DeepSoftwareAnalytics/SWE-Gate