AI・機械学習
上級

SWE-bench(エスダブリューイーベンチ)

実際のGitHubリポジトリから収集されたソフトウェアエンジニアリングのissueを使い、LLMがコードベースを理解し正しいパッチを生成できるかを評価するベンチマーク。実務レベルのコーディング能力を測定する事実上の標準指標。

0 回閲覧
0 いいね

SWE-benchとは

SWE-bench(Software Engineering Benchmark)は、Princeton大学のCarlos E. Jimenez等が2023年10月に公開した、LLMの実務的なソフトウェアエンジニアリング能力を評価するベンチマークである。Django・scikit-learn・sympy・matplotlib等の実際のPythonオープンソースプロジェクトからGitHub issueとその修正パッチを収集し、LLMが同等の修正を自律的に生成できるかを測定する。2026年現在、AIコーディングエージェントの能力を示す最も重要な指標の1つとなっている。

データセットの構成

SWE-bench Full

項目詳細
総問題数2,294問
対象リポジトリ12個のPython OSS
問題形式GitHub issue → パッチ生成
評価方法テストケース通過率(pass@1)
平均修正ファイル数1.7ファイル
平均修正行数23行

対象リポジトリ:Django, Flask, scikit-learn, sympy, matplotlib, requests, astropy, sphinx, pylint, xarray, pydicom, seaborn

SWE-bench Verified

2024年に導入されたサブセットで、人間のソフトウェアエンジニアが各問題の品質を検証済みの500問で構成される。Full版には曖昧な問題や不適切なテストケースが含まれるため、Verified版がより信頼性の高い評価指標として主流となっている。

バージョン問題数品質保証主な用途
Full2,294自動収集網羅的評価
Lite300難易度調整迅速な評価
Verified500人間検証済み公式報告

評価プロセス

問題の構造

各問題は以下の要素で構成される:

  1. Issue記述: バグ報告または機能要求のテキスト
  2. リポジトリスナップショット: issue報告時点のコードベース全体
  3. テストパッチ: 正しい修正を検証するテストケース
  4. ゴールドパッチ: 実際の開発者による修正(評価時には非公開)

評価フロー

  1. エージェントにissue記述とリポジトリを提供
  2. エージェントがコードベースを探索・理解
  3. 修正パッチ(diff形式)を生成
  4. テストパッチを適用してテストケースを実行
  5. 全テストケースが通過すれば「resolved」と判定
  6. pass@1(1回の試行で解決できた割合)をスコアとして報告

2026年6月時点の主要スコア

エージェントpass@1 (Verified)ベースモデル組織
OpenHands + Claude 4 Opus65.2%Claude 4 OpusOpenHands
Devin v262.8%非公開Cognition
SWE-Agent + GPT-4o58.4%GPT-4o (2026-05)Princeton
Agentless + Claude 4 Sonnet55.6%Claude 4 SonnetUIUC
AutoCodeRover + Gemini 2.552.1%Gemini 2.5 ProNUS
Aider + DeepSeek-V348.7%DeepSeek-V3Aider

主要エージェントフレームワーク

SWE-Agent

Princeton大学が開発した初期のSWE-bench特化エージェント。カスタムのAgent-Computer Interface(ACI)を通じてファイル閲覧・編集・テスト実行を行う。ReAct形式の思考-行動ループで問題解決を進める。

OpenHands (旧OpenDevin)

オープンソースのAIソフトウェアエンジニアリングプラットフォーム。Dockerコンテナ内でブラウザ操作・ターミナル操作・ファイル編集を統合的に実行する。CodeActエージェントアーキテクチャにより、コード実行結果をフィードバックとして活用する。

Agentless

UIUCが提案したフレームワークで、エージェントループを使わずに2段階(ローカライゼーション→修正)で効率的にパッチを生成する。エージェント方式より大幅に低コスト(1問あたり約$0.50)で、pass@1も競争力がある。

SWE-benchの意義と課題

意義

  • 実務能力の直接測定: 抽象的なコーディング問題ではなく、実際のバグ修正能力を評価
  • エンドツーエンド評価: コード理解→問題特定→修正生成→テスト通過の全工程を含む
  • 業界標準: AIコーディングツール(GitHub Copilot Workspace・Cursor・Devin等)の能力指標として広く参照

課題

  • Python限定: Java・TypeScript・Rust等の他言語は対象外
  • 修正規模の偏り: 大規模リファクタリングや設計変更は含まれない
  • テストカバレッジ依存: テストケースが不十分な問題では偽陽性が発生
  • コスト: 1回のフル評価で$200-500のAPI費用が必要

よくある質問(FAQ)

Q1: SWE-benchのpass@1が60%を超えたということは、AIが人間のエンジニアの60%の能力を持つということですか?

A: そうではない。SWE-benchの問題は中規模のバグ修正に限定されており、要件定義・設計・コードレビュー・チーム協調等の幅広いエンジニアリング能力は評価対象外である。pass@1=60%は「定型的なバグ修正の6割を自律的に解決できる」という限定的な指標である。

Q2: SWE-bench VerifiedとFullの違いは何ですか?

A: Verified版は人間のエンジニアが各問題の品質(issue記述の明確さ・テストケースの適切さ・ゴールドパッチの正確さ)を検証した500問のサブセットである。Full版の2,294問には曖昧な問題や不適切なテストが含まれるため、Verified版のスコアがより信頼性の高い指標として採用されている。

Q3: 自社のプロジェクトでSWE-benchのようなベンチマークを作れますか?

A: SWE-bench-style Evaluation(SWE-bench形式の評価)を自社リポジトリに適用するツールが複数公開されている。GitHubのissueとPR履歴から問題セットを自動生成し、社内コードベースでのAIエージェント性能を測定できる。

まとめ

  • SWE-benchは実際のGitHub issueからLLMの実務的コーディング能力を評価するベンチマーク
  • Verified版(500問)が2026年の公式報告標準
  • 最新のエージェントはpass@1=65%超を達成し、実用的なAIコーディング支援の到来を示唆
  • OpenHands・SWE-Agent・Agentless等の多様なフレームワークが競争
  • Python限定・中規模修正限定という制約があり、汎用エンジニアリング能力の完全な指標ではない