ベンチマーク · agentic
SWE-bench Verified
AI エージェントが実際の GitHub issue を最初から最後まで解決できるかを測定します。「Verified」セットは、人気のオープンソース Python リポジトリから選ばれ、人手で検証された 500 件のタスクです。
詳しく見る
- 例
- バグ報告とリポジトリが与えられ、モデルはコードの patch を生成しなければなりません。たとえば、失敗している日付解析関数を修正し、プロジェクトのテストスイートが通るようにします。
- 採点方法
- 解決した issue の割合(%)。通常は pass@1(1 回の試行)で報告されます。高いほど良好です。
- 検証方法
- 完全に自動:生成された patch が適用され、プロジェクトの実際の隠しユニットテストがサンドボックスで実行されます。対象のテストがすべて通り、かつ何もリグレッションしなかった場合にのみ、そのタスクは成功と数えられます。
- 重要な理由
- 実世界のコーディングエージェントを測る代表的なベンチマークであり、あらゆるフロンティアモデルのリリースで目玉となる数値です。ここでの進捗は、エージェントが自律的なソフトウェア開発にどれだけ近づいているかを示します。
解説付きの例
課題
固定のベースコミット時点のリポジトリ
django/django。バグ報告:django.utils.text.slugify("___This-is-a-Test___", allow_unicode=True) が '___this-is-a-test___' を返すが、先頭・末尾のアンダースコアとハイフンは取り除かれ、結果が 'this-is-a-test' になるべきである。モデルには issue の本文とリポジトリだけが与えられ、unified diff 形式の patch を出力しなければなりません。解答
--- a/django/utils/text.py
+++ b/django/utils/text.py
@@ def slugify(value, allow_unicode=False):
value = re.sub(r"[^\w\s-]", "", value.lower())
- return re.sub(r"[-\s]+", "-", value)
+ return re.sub(r"[-\s]+", "-", value).strip("-_")
解説
slugify は内部の区切り文字をまとめるものの、周囲の
-/_ を決して取り除かないため、最後の re.sub に .strip("-_") を付け足すとそれらが除去されます。patch は最小限で、他の挙動はすべて保たれます。SWE-bench Verified はベースコミット時点のリポジトリに patch を適用し、隠しテストスイートを実行して採点します。すべての FAIL_TO_PASS テストが通るようになり、かつすべての PASS_TO_PASS テストが緑のままである場合にのみ合格となります。