SWE-benchとは
SWE-bench(Software Engineering Benchmark)とは、AIエージェントのソフトウェアエンジニアリング能力を評価するためのベンチマークです。実際のGitHubリポジトリから収集されたバグ修正タスクで構成され、AIコーディングエージェントの実力を測る標準的な指標として広く使用されています。
| ひとことで言うと | 実際のGitHubの課題を解かせて、AIの開発能力を測るベンチマーク。 |
|---|---|
| 何がうれしいか | 作り物でなく現実のバグや要望なので、実務に近い能力が測れる。 |
| 注意点 | Python系OSSが中心。他の言語や業務システムでの実力は別途確認が必要。 |
SWE-benchの構成
SWE-benchは、人気のあるPythonリポジトリ(Django、scikit-learn、matplotlibなど)から収集された実際のGitHubイシューとそのプルリクエスト(修正パッチ)で構成されています。エージェントはイシューの説明を読み、コードベースを理解し、テストを通過する修正パッチを生成することが求められます。
1実際のIssueを提示OSSの課題
▶
2AIが修正を作るコードを変更
▶
3テストを実行既存+新規テスト
▶
4通れば成功解決率で評価
SWE-bench Verified
SWE-bench Verifiedは、オリジナルのSWE-benchから人間の専門家が検証した高品質なサブセットです。評価の信頼性を高めるために、テストケースの品質やタスクの妥当性が確認されています。多くのAIコーディングエージェントの公式ベンチマークスコアはSWE-bench Verifiedで報告されています。
スコアの推移と意義
SWE-benchのスコアは急速に向上しており、最新のエージェントは人間のエンジニアに匹敵する結果を示しています。ただし、SWE-benchのタスクは比較的小規模なバグ修正が中心であり、大規模な設計変更や新機能の実装など、より複雑なソフトウェアエンジニアリングタスクの評価には限界があることも認識すべきです。