1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AI評価指標の「SWE-bench」ってそもそも何なのか?

1
Posted at

はじめに

ChatGPTやClaudeがコードを出力してくれるのは知っているけど、「実際に使えるレベルなのか」を判断する基準が欲しい。そんなときに登場するのが SWE-bench というAI評価指標です。

新しいAIが出るたびに、その評価指標としてSWE-benchが広く用いられていますが、そもそもSWE-benchとは何か、どんな仕組みで動いているのか、そしてスコアをどう読めばよいかを、初心者の方でも理解できるように解説します。

SWE-benchとはなにか

SWE-benchは Software Engineering Benchmark の略で、AIモデルが本物のソフトウェア開発タスクをどれだけ正確にこなせるかを測定するためのベンチマーク(評価指標)です。

2023年にMIT・UCバークレー・Meta AIの研究者たちによって開発され、現在はGitHub上でオープンソースとして公開されています。ICLR 2024(機械学習分野の主要な国際学会)でオーラルプレゼンテーション(口頭発表、採択率の中でも特に評価が高い)に選ばれた、信頼性の高いベンチマークです。

なぜSWE-benchが重要なのか

AIのコーディング性能を測る方法はいくつかあります。たとえば「フィボナッチ数列を書いて」のような単純な問題を解かせる手法も存在します。しかしそういった問題は、AIが「それっぽいコードを出力する」だけでも高得点が取れてしまうという弱点がありました。

SWE-benchが注目された理由は、実際の現場で使われているコードの問題を解かせるという発想の転換にあります。GitHubという世界最大のソースコード共有サービスに実際に報告されたバグや機能追加のリクエスト(Issue)を使って、AIに本物のエンジニアリング作業をやらせるわけです。

SWE-benchの仕組みを3ステップで理解しよう

ステップ1. 問題の用意

SWE-benchのタスクはGitHubの実際のIssue(バグ報告や機能リクエスト)から作られています。Issueとは、ソフトウェアの問題点や改善したい点をテキストで報告する仕組みです。

もとのデータセットには約2,300件以上のPythonコードのタスクが含まれており、それぞれのタスクには「問題の説明文」と「修正前のソースコード」が紐づいています。AIにはこのIssueの文章とコードベースだけが渡されます。正解となるテストコードは見せません。これが重要なポイントです。

ステップ2. AIがコードを修正する

AIはIssueのの内容を読み、コード全体を分析して、どのファイルをどのように変更すれば問題が解決できるかを判断します。そして「パッチ(差分)」と呼ばれる修正内容を出力します。

これは「このコードにバグがあるから直して」という1ファイルの問題ではなく、複数のファイルにまたがった変更が必要になることもあります。実際の開発現場と同等の複雑さが要求されるわけです。

ステップ3. テストで自動採点する

AIが出したパッチを実際に適用して、自動テストを走らせます。採点は以下の2種類のテストで行われます。

FAIL_TO_PASS テスト
バグ修正前は失敗していたテストが、AIのパッチを適用後に成功するかどうかを確認します。つまり「問題を本当に解決できたか」の確認です。

PASS_TO_PASS テスト
もともと正常に動いていた機能が、AIのパッチを適用した後も引き続き正常に動くかどうかを確認します。「直そうとして別の部分を壊していないか」のチェックです。

実務でAIを使っている方は、「バグを直したら別の箇所でバグが出た」という体験をしたこともあるはずです。

SWE-benchではそういった方面もテストを行い、バグ修正によるバグ発生がどれだけ少ないのかをスコアとして可視化することができます。

両方のテストをクリアして初めて、そのタスクは「正解」と見なされます。スコアは「全タスクのうち何割を正解できたか」を示す割合(0〜1、または0〜100%)で表されます。

SWE-benchのバリエーション

SWE-benchには用途によっていくつかの種類があります。

SWE-bench(フルセット)

元々のバージョンで、約2,300件のタスクを含みます。タスクの難易度や品質にばらつきがあるため、研究目的での利用が中心です。

SWE-bench Lite

フルセットから300件のバグ修正タスクに絞ったサブセットです。評価にかかる時間とコストを抑えるために使われます。

SWE-bench Verified

2024年8月にOpenAIとの共同作業でリリースされたバリエーションです。プロのソフトウェアエンジニア3名が独立してレビューし、不適切なテストケースや曖昧なIssueを除外した、500件の高品質なタスクで構成されています。AIモデルの性能比較や向上を示す際に最もよく用いられてきたサブセットです。

ただし、2025年以降の調査でOpenAIはSWE-bench Verifiedのタスクの約59.4%に「テスト設計または問題記述の重大な欠陥」があることを明らかにしています。この信頼性の問題を受け、OpenAIはSWE-bench Verifiedのスコア報告を停止し、後継となる SWE-bench Pro への移行を推奨しています。

SWE-bench Pro

Scale AIが提供する、より高難度な後継ベンチマークです。複数のファイルやリポジトリにまたがる長期的なタスクを含み、バグ修正だけでなく機能追加・最適化・セキュリティ対応など多様なカテゴリのタスクが含まれています。

SWE-bench-Live

月次更新で最新のGitHub Issueを追加し続けるバリエーションです。2025年時点で1,565件以上のタスクが含まれており、AIが「過去の問題を記憶している」可能性を排除する汚染対策として設計されています。

2025〜2026年の最新スコア動向

SWE-bench Verifiedのリーダーボードには現在89モデルが登録されており、スコアの平均は0.645(64.5%)となっています。トップスコアはAnthropicのClaude Mythos Previewによる0.939(93.9%)です。

スコアの進化は目覚ましく、2024年初頭は多くのモデルが10〜20%台に留まっていましたが、2025〜2026年にかけてトップモデルは80〜90%台に達しています。ただし、前述のとおりSWE-bench Verified自体の信頼性の問題が指摘されており、スコアの絶対値を鵜呑みにすることには注意が必要です。

SWE-benchのスコアを読む際に注意すること

「自己申告」スコアに注意する

リーダーボードに掲載されているスコアの多くは、各AIの開発会社が自分で評価して報告する「自己申告」です。第三者機関が検証したスコアは少数です。スコアを比較する際は、誰が・どのような条件で評価したかを確認することが重要です。

評価方法が違うと数字は変わる

同じモデルでも、評価に使うツールや環境(Dockerの設定、トークン制限など)が異なると、スコアが数ポイント変わることがあります。Epoch AIはこの問題に対応するため、2026年2月に評価環境を大幅アップグレードし、以前のスコアとの単純比較が難しくなる再評価を実施しました。

ベンチマーク汚染(コンタミネーション)に注意する

AIが学習データの中にSWE-benchのタスクを「見たことがある」状態だと、実力より高いスコアが出てしまいます。これをベンチマーク汚染(コンタミネーション)と呼びます。SWE-bench-Liveのような月次更新型ベンチマークが重視されるのは、この問題に対応するためです。

Python以外の言語はまだ少ない

元のSWE-benchはPythonコードのみが対象でした。TypeScript・Go・Rust・Javaなど他の言語に対応したバリエーションは開発が進んでいますが、データの規模や品質の面でまだ発展途上です。

まとめ

SWE-benchは、AIが「コードを書けること」と「本物のエンジニアリング問題を解けること」の違いを測るための指標として、AIの性能評価において重要な役割を果たしています。

ポイントをおさらいします。

  • SWE-benchはGitHubの実際のIssueを使ってAIの開発能力を測るベンチマーク
  • AIにはコードと問題文のみを与え、テストを見せずに修正させて自動採点
  • Verified・Lite・Pro・Liveなど目的に応じたバリエーションがある
  • スコアは条件や評価方法によって変わるため、鵜呑みにせず文脈を確認することが重要
  • 2026年現在、トップモデルのスコアは90%台に達しているが、ベンチマーク自体の信頼性改善も継続して議論されている

AIツールを選ぶときや、AIの性能記事を読むときに「SWE-benchのスコアが高い」という情報が出てきたら、この記事を思い出していただければ幸いです。

参考リンク

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?