OpenAI の SWE‑Bench Pro コーディング評価欠陥の分析
OpenAI の SWE-Bench Pro コーディング評価欠陥の分析
OpenAI は SWE‑Bench Pro コーディングベンチマークに重大な欠陥があることを特定し、タスクの約 30% が壊れていると推定しています。この結果を受けて、OpenAI はモデル開発者が SWE‑Bench Pro を SWE‑bench Verified の代替として採用すべきだという以前の推奨を撤回しました。
監査結果とタスク失敗率
SWE‑Bench Pro の公開スプリット(731 タスク)に対する監査により、データセットのかなりの部分がモデル能力の信頼できないシグナルを提供していることが明らかになりました。分析では、使用した手法に基づいて 2 つの異なる失敗率が特定されました。
- Human Annotation: 破損タスク 249 件(34.1%)を特定。
- Data Quality Pipeline: 破損タスク 200 件(27.4%)をフラグ付け。
評価欠陥の主なカテゴリ
OpenAI は破損タスクをベンチマークの結果を無効にする 4 つの主要な失敗モードに分類しました。
- 過度に厳しいテスト: プロンプトで要求されていない実装の詳細を強制し、機能的に正しい解答が不正解とマークされるテスト。
- 不十分に指定されたプロンプト: 隠れたテストで強制される要件が省略されているが、モデルが合理的に推測できないプロンプト。
- カバレッジが低いテスト: 要求された機能を十分にチェックせず、不完全または誤った修正が通過できてしまうテスト。
- 誤解を招くプロンプト: モデルを誤った振る舞いへ導く、またはテストの要件と直接矛盾するプロンプト。
品質保証の手法
タスク失敗がベンチマークの欠陥ではなく、実際のモデル制限を反映していることを確認するため、OpenAI は多段階の品質保証パイプラインを採用しました。
自動フィルタリング
最初の自動フィルタはモデルの試行、タスクメタデータ、失敗トレースをレビューし、286 件の潜在的に問題のあるタスクをフラグ付けしました。
人間監督エージェントレビュー
Codex ベースの調査エージェントにタスクリポジトリと環境へのアクセス権を付与しました。これらのエージェントはテストを実行し、ファイルを検査し、一般的な失敗モードを調査して、合理的な曖昧さと真の不十分な指定を区別しました。その後、研究者がエージェントの要約をレビューし、最終判断を下しました。
人間アノテーションキャンペーン
経験豊富なソフトウェアエンジニアがフラグ付けされたサブセットをレビューしました。各タスクは 5 人のエンジニアによってレビューされ、問題文、テストケース、ゴールドパッチ(真の参照解答)に基づいて独立した判断を行い、パイプライン分析を確認しました。
エージェントと人間レビューの比較
人間のレビュアーは調査エージェントよりもタスクを破損と判定する傾向が強かったです。エージェントパイプラインと人間レビュアーは 74% のケースで一致しましたが、人間は単一タスクに複数ラベルを付与することが多く、エージェント+レビュアーパイプラインが保守的であることを示唆しています。最も顕著な違いは「カバレッジが低いテスト」で、人間はベンチマーク全体の 9.4% を、エージェントパイプラインは 4.1% をそれとして特定しました。
コーディングベンチマークへの示唆
OpenAI は、オープンソースリポジトリの履歴からプログラム的に取得されたベンチマーク(イシューやプルリクエストは人間の協働を前提に設計されている)が、クリーンで孤立したタスクを生成しにくいことに注意を喚起しています。プルリクエスト内のテストは、実装に依存しない標準を定義するというよりも、特定の変更を検証するために書かれることが頻繁です。
OpenAI は、モデル評価のために経験豊富なソフトウェア開発者が意図的に作成した新しいベンチマークの開発を推奨します。これにより、ベンチマークがゲーム化しにくく、信頼しやすく、モデルの実際の能力を正確に反映することが期待されます。