💯

モデルとエージェントの進化を評価する:SWE-bench とは

に公開

SWE-bench ( Software Engineering Benchmark ) とは

SWE-bench (Software Engineering Benchmark ) は、モデルやエージェントのソフトウェア開発能力を評価するためのベンチマークです。モデルやエージェントは、GitHub から収集されたリアルなコードと課題(Issue)を提示され、バグ修正や機能追加を行います。単なるコード生成力ではなく、問題の特定や解決、テストをパスするまでの一連の開発タスクを行う能力を、客観的に評価できるベンチマークです。

モデルやエージェントの能力比較や向上を示す際は、SWE-bench Verified というサブセットが用いられることが多いです。このサブセットは、プロのソフトウェア開発者が不適切なテストケースや不明瞭な Issue を除いた、500個の高品質なタスクで構成されています。SWE-bench Verified がどのようにして作られているかは、OpenAIがリリースの際にわかりやすく解説しています。

https://openai.com/ja-JP/index/introducing-swe-bench-verified/

SWE-bench の Resolved % とは

Resolved % で示されるスコアは、Pass@1 スコアと呼ばれる、一発正解の正答率です。1度の回答で、全てのテストケースを完全にパスした場合に、スコアが加算されます。 Resolved % ( Pass@1 ) が 70% とは、全体のタスク数のうち70% を、最初の回答で解決できたことを表しています。

多くのモデルやツールが SWE-bench を公表しているので、SWE-bench についての基本を知ると、モデルそのものの進化と、それを利用するエージェントの工夫の両方の側面から、AIの能力向上を捉えることができます。何より、自分の使っているエージェントやモデルの改善報告記事は、コーディングエージェントがどのように動作しているかの理解の大きな助けになります。

例. Warp の直近の改善 SWE-bench Verified で 75.8%

https://www.warp.dev/blog/swe-bench-verified-update

https://www.warp.dev/blog/introducing-warp-code-prompt-to-prod

Warp はシングルエージェントを基盤としてGPT-5を活用。直近は以下の改善を実施。

  • タスクリストの導入。実装ステップをTODO管理できるようになった ( これで2%も改善! )
  • 長い会話の要約時の工夫。タスクリストやルール等はそのまま保持、有効な要約を行うためのプロンプト設計
  • ファイルへ編集ツールの改善。変更された部分と周辺箇所のみをエージェントに返すことでコンテキストを節約。
  • run_command ツールの改善。REPLやgit log などのプロセスと対話して入出力のやり取りを行う。自らテストを実行したり、デバッグしたりできるようにした。

ちなみに、GPT-5自体はSWE-bench Verified で74.9% です。

https://openai.com/ja-JP/index/introducing-gpt-5-for-developers/

コーディングエージェントが優秀だな、と思った時、それがモデルによるものなのか、エージェントの能力によるものなのか、はっきりさせることは難しいです(使い勝手や他ツールとの連携の観点もありますし)。ただ、基本的にモデル自体が大きく能力向上していて、SWE-benchにおけるモデルとそれを利用するエージェントとの差分は、モデルの進化によるスコアの向上よりはずっと小さいんだとは言えると思います。

最近よく見かける他のベンチマーク

また、SWE-benchを簡単に紹介しましたが、最近では他にも様々なベンチマークが、モデルやツールの能力・改善の評価に利用されています。

以下、例

  • Aider polyglot

    • C++、Go、Java、JavaScript、Python、Rustの6言語にわたる課題でコードの記述と編集能力を評価

    Aider LLM Leaderboards

  • PR Benchmark

    • プルリクエストのコードを分析し、有用なコード提案を行う能力を評価

    Qodo Merge

  • Terminal-bench

    AIエージェントがターミナル環境をどれだけ使いこなせるかを評価

    Terminal-Bench

終わりに

モデルやエージェントの驚くべき進化は、これからも続いていくことでしょう。こうしたベンチマークの概要を理解することで、毎月のように飛び込んでくる「モデルが進化しました!」「エージェントがさらに賢くなりました!」といったニュースを、ただの速報としてではなく、その裏にある技術的な進歩として、より深く、面白く読み解けます。

この進化の波を楽しみながら、LLMを駆使して、より良いソフトウェアを、そしてこれまで実現不可能だったことを現実のものにしていきたいです。

Sparkle AIブログ

Discussion