SWE-bench
概要
SWE-bench は、実際の GitHub issue とリポジトリを使って、AI システムがソフトウェアの不具合修正や機能修正を行えるかを評価するベンチマークである。モデルは issue の説明とコードベースを読み、パッチを生成し、テストで正否を判定される。
単一関数の穴埋めではなく、現実のリポジトリを対象にするため、コード理解、検索、編集、テスト実行、依存関係理解、長い文脈処理が必要になる。
背景
SWE-bench は Princeton NLP などの研究者により、"Can Language Models Resolve Real-World GitHub Issues?" として提案された。Python のオープンソースリポジトリから issue と pull request を収集し、問題解決後のテストで評価する。
その後、SWE-bench Verified、SWE-bench Lite、SWE-bench Multimodal など、評価しやすさや信頼性を高める派生版も作られた。コード生成 AI やエージェント型開発支援ツールの代表的な評価として使われている。
シンギュラリティ文脈
SWE-bench は、AI がソフトウェア開発をどこまで自動化できるかを見る重要な指標である。AI が実世界のコードベースを修正できるようになると、AI 研究開発そのもの、サイバーセキュリティ、企業システム保守、オープンソース開発に大きな影響が出る。
シンギュラリティ文脈では、ソフトウェア工学能力の向上は自己改善や自動研究開発の前提能力の一部として扱われることがある。
使い方の注意
SWE-bench の点数は、現実の開発能力を完全には表さない。対象言語・リポジトリの偏り、テストの完全性、既知 issue の公開性、評価汚染、ツール使用条件、提出パッチのスタイルが結果に影響する。
また、テストに通るパッチが必ず保守しやすいとは限らない。実務では、設計意図、レビュー、セキュリティ、性能、可読性、回帰リスクも評価する必要がある。
関連項目
- ベンチマーク
- 評価汚染
- コード生成AI
- エージェント
- モデル評価
参考
- SWE-bench official site https://www.swebench.com/
- Princeton Language and Intelligence, "SWE-bench: Can Language Models Resolve Real-World GitHub Issues?" https://pli.princeton.edu/blog/2023/swe-bench-can-language-models-resolve-real-world-github-issues
- Jimenez et al., "SWE-bench: Can Language Models Resolve Real-World GitHub Issues?" https://arxiv.org/abs/2310.06770
- SWE-bench GitHub repository https://github.com/princeton-nlp/SWE-bench