SWE-bench

SWE-bench

SWE-benchとは

SWE-bench(Software Engineering Benchmark)とは、AIエージェントのソフトウェアエンジニアリング能力を評価するためのベンチマークです。実際のGitHubリポジトリから収集されたバグ修正タスクで構成され、AIコーディングエージェントの実力を測る標準的な指標として広く使用されています。

表:SWE-benchの要点まとめ
ひとことで言うと実際のGitHubの課題を解かせて、AIの開発能力を測るベンチマーク。
何がうれしいか作り物でなく現実のバグや要望なので、実務に近い能力が測れる。
注意点Python系OSSが中心。他の言語や業務システムでの実力は別途確認が必要。

SWE-benchの構成

SWE-benchは、人気のあるPythonリポジトリ(Django、scikit-learn、matplotlibなど)から収集された実際のGitHubイシューとそのプルリクエスト(修正パッチ)で構成されています。エージェントはイシューの説明を読み、コードベースを理解し、テストを通過する修正パッチを生成することが求められます。

図:SWE-benchの評価方法
1実際のIssueを提示OSSの課題
▶
2AIが修正を作るコードを変更
▶
3テストを実行既存+新規テスト
▶
4通れば成功解決率で評価

SWE-bench Verified

SWE-bench Verifiedは、オリジナルのSWE-benchから人間の専門家が検証した高品質なサブセットです。評価の信頼性を高めるために、テストケースの品質やタスクの妥当性が確認されています。多くのAIコーディングエージェントの公式ベンチマークスコアはSWE-bench Verifiedで報告されています。

スコアの推移と意義

SWE-benchのスコアは急速に向上しており、最新のエージェントは人間のエンジニアに匹敵する結果を示しています。ただし、SWE-benchのタスクは比較的小規模なバグ修正が中心であり、大規模な設計変更や新機能の実装など、より複雑なソフトウェアエンジニアリングタスクの評価には限界があることも認識すべきです。