コーディングベンチマークの信頼性検証(9 分読了)
OpenAI が SWE-Bench Pro の信頼性を再検証した結果、約 3 割のタスクに致命的な欠陥が見つかり、ベンチマーク評価の根本的な見直しが必要であることを示した。
キーポイント
SWE-Bench Pro の大規模な欠陥発覚
OpenAI が実施した再検証により、SWE-Bench Pro の公開データセットの約 34%(249/731)に「機能不全」や「厳しすぎるテスト」といった致命的な欠陥が含まれていることが判明した。
評価プロセスの厳格化と多角的検証
今回の調査では、自動化されたデータポイント分析パイプラインと、5 名の熟練ソフトウェアエンジニアによる手動レビューを組み合わせ、不整合のあるタスクを徹底的に特定した。
ベンチマークの信頼性危機
モデルの能力や安全性に関する誤った理解を招き、研究優先順位を歪める恐れがあるため、現在のコーディングベンチマークが実態を反映していない可能性が浮き彫りになった。
業界全体への警鐘と対策
OpenAI は以前 SWE-bench Verified の問題点を指摘し Pro へ移行を推奨したが、Pro も同様のリスクを抱えており、コミュニティ全体でのベンチマーク設計の再考が急務である。
重要な引用
When evaluations have flaws that affect results, they can give a false understanding of capabilities, misrepresenting safety cases and affecting research priorities.
We find evidence of breaking issues in a significant portion of the dataset. Our datapoint analysis pipeline flagged 200 (27.4%) broken tasks, while the human annotation campaign identified 249 (34.1%).
The issues primarily fell into four categories: Overly strict tests enforce specific implementation details not specified in the prompt...
影響分析・編集コメントを表示
影響分析
この記事は、大規模言語モデル(LLM)の能力評価において、単にスコアが向上したからといって実用性が高いと判断できないという重大な警告を発しています。業界全体が依存している主要ベンチマークの信頼性が揺らぐことで、研究開発のリソース配分や安全性評価の基準そのものが再構築を迫られる可能性があり、AI 開発の質的転換点となる出来事です。
編集コメント
ベンチマークスコアに踊らされず、その背後にある評価データの健全性を検証する重要性が浮き彫りになりました。開発者は単なる数値の比較ではなく、タスク設計の妥当性まで意識した上でモデル能力を判断する必要があります。
モデルの能力を正確に測定することは、健全な展開や安全性に関する意思決定、OpenAI の 準備度フレームワーク(新しいウィンドウで開く) における意思決定を含む、重要な要素です。モデルがリリースされるたびに、モデルの進捗を追跡するために、さまざまな外部および内部ベンチマークの結果を報告しています。評価に結果に影響を与える欠陥がある場合、能力に対する誤った理解を与え、安全性に関する事例を歪め、研究の優先順位に影響を及ぼす可能性があります。
私たちは最近、最も広く使用されているコーディングベンチマークの一つである SWE-bench Verified に根本的な設計上の問題と汚染の問題があり、評価がソフトウェア開発能力について意味のあるシグナルを提供しなくなったことを調査しました。当時、より広いコミュニティに対して SWE-Bench Pro へ移行することを推奨しました。
SWE-Bench Pro(opens in a new window) は、より長い時間軸とより現実的なコーディングタスクにおいてモデルをテストすることで、SWE-bench Verified を改善するために設計されました。これにより、エージェント型コーディング能力の追跡がより正確に行えるようになります。SWE-bench Verified と同様に、タスクは公開および非公開のリポジトリにおける機能変更の履歴からプログラムatically取得されます。モデルには、既存の機能を壊すことなく、新機能に対する新しいテストに合格する解決策を実装することが求められます。731 タスクからなる公開スプリットにおいて、最先端モデルのパス率は 8 か月で 23.3% から 80.3% に向上しました。
その後、私たちは SWE-Bench Pro についても同様の監査を実施し、データポイント分析パイプラインを用いてデータセットをレビューしました。このパイプラインは、モデルのタスクへの取り組み、タスクのメタデータ、および失敗のトレースを検証し、評価上の欠陥が疑われるものをフラグ付けします。各フラグ付けされたタスクは、複数の調査員エージェントによるパスを経て審査され、さらに 5 名の経験豊富なソフトウェアエンジニアによって独立してレビューされました。意見が分かれた場合は、さらなる調査のためにエスカレーションされます。
我々は、データセットの相当な割合に重大な問題があることを発見しました。データポイント分析パイプラインは 200 件(27.4%)の破損タスクをフラグ付けしましたが、人間の注釈キャンペーンでは 249 件(34.1%)が特定されました。
これらの問題は主に以下の 4 つのカテゴリーに分類されます:
- 過度に厳格なテスト1は、プロンプトで指定されていない特定の実装詳細を強制し、機能的には正しい提出物を無効化します。
- 不十分なプロンプト2は、隠れたテストが要求する要件を欠いており、それらは合理的に推測できるものではありません。
- カバレッジの低いテストでは、要求された機能が十分にチェックされず、不完全な修正でも合格してしまいます。
- 誤解を招くプロンプトは、モデルを間違った行動へと誘導するか、テストが求める内容と矛盾します。
私たちの調査結果は、厳しくも公平なベンチマークを作成することの難しさと、スケーラブルなデータ品質チェックにおけるエージェントの有効性の高まりを示しています。これらの結果を踏まえると、SWE-bench Pro のタスクの約 30% が破損していると推定され、モデル開発者は結果を注意深く精査するよう推奨します。
方法論
私たちの目的は、タスクの失敗がモデルの真の限界を反映し、タスクの成功がプロンプト要件に対する完全かつ有効な解決策であることを保証することです。評価に使用されたデータの品質を確認するため、各データポイントがモデルの能力を正確に反映しているかを評価する品質保証パイプラインを作成しました。
初期のデータ品質パイプラインは、レビューが必要な問題点をフラグ付けします。私たちは、フラグ付けされたタスクに対するより深いエージェント支援監査と、経験豊富なエンジニアと連携した人間による注釈キャンペーンを通じて検証を行います。
初期の自動フィルタは、モデルに与えられた指示、モデルによるタスク解決への試み、およびこれらの試みを評価するために使用されるテストをレビューし、おそらく破損しているか問題のある例を特定します。このフィルタにより、286 の潜在的に破損したタスクが検出されました。その後、このサブセットに対して 2 つの異なる方法でより詳細なレビューを実施しました。1 つ目は、調査員エージェントによる広範なチェックと最終的な人間の判断を行う人間監督型エージェントレビューです。2 つ目は、経験豊富なソフトウェア開発者と連携して行われる人間アノテーションキャンペーンです。
人間監督型エージェントレビュー
各検出された問題には、タスクリポジトリおよび環境へのアクセス権限を与えられた Codex ベースの調査員エージェントによって監査が行われます。これにより、近隣のコードやリポジトリの慣習を調べることで解決可能な合理的なタスクの曖昧さと、真に仕様が不十分な状態(underspecification)を区別することが可能になります。エージェントはテストの実行、リポジトリ内のファイルの検査、およびモデルによる試みとそのタスクにおける一般的な失敗モードの調査を行うことができます。これらの詳細監査を数回独立して繰り返した後、研究者が要約を確認し、最終的な判断を下して、おそらく存在する問題にラベル付けを行いました。
人間アノテーションキャンペーン
並行して、検出されたサブセットに対して人間アノテーションキャンペーンを実施しました。ベンチマークの目標、課題分類体系(issue taxonomy)、およびエッジケースについて事前に訓練を受けた経験豊富なソフトウェアエンジニアと連携しました。各タスクは 5 名のエンジニアによってレビューされました。
レビュー担当者は、パイプライン分析や議事録を補足文脈として使用する前に、目に見える問題記述、テストケース、および正解参照ソリューション(ゴールドパッチと呼ばれる)から独立した判断を下しました。その後、レビュー担当者は具体的な証拠に基づいてラベルと深刻度評価を割り当て、意見の相違や低信頼度の事例についてはさらに詳しい審査のためにエスカレーションしました。
人間によるレビュー担当者は、調査員エージェントよりもタスクが破損しているとマークする可能性が高かったです。また、2 つのレビューパス間にはカテゴリに関するいくつかの不一致がありましたが、フラグ付けされたどのタスクにおいても「破損していない」が最も一般的な人間のラベルとなることはありませんでした。エージェントパイプラインによってフラグ付けされたカテゴリのうち、レビュー担当者の判断と一致したのは 74% のケースでした。
エージェントパイプラインと比較して、人間によるレビュー担当者は、1 つのタスクに対して複数のラベルを選択する可能性も高かったです。これは、タスクが複数の方法で破損しているか、単一のカテゴリにきれいに分類できないと判断したことを示唆しています。この結果は、エージェントとレビュー担当者を組み合わせたパイプラインが保守的なラベリングを行ったことを意味します。つまり、人間が特定した広範な障害モードを捉えつつも、レビュー担当者が追加または重複する問題を見出したケースについては過少評価していたのです。最も大きな違いが見られたのは低カバレッジテストであり、これはベンチマークの 9.4% で人間によって最も一般的な課題として選択された一方、エージェントパイプラインでは 4.1% でした。
Failure modes
いくつかの事例において、タスクプロンプトは特定のの実装を規定していましたが、隠されたテストケースは異なる動作を期待していました。
Discussion
私たちが特定した問題と、SWE-bench Verified における同様の事例を併せて考えると、ベンチマークを厳密に検証することの重要性が浮き彫りになります。オープンソースリポジトリからの課題(issues)やプルリクエストは、元々メンテナーとコントリビューター間の長期的なやり取りを通じて人間が協働するために作成されたものであり、その結果、問題の説明、マージされたコード、およびユニットテストが必ずしもモデルを信頼して評価するための明確で独立したタスクとして整合しているわけではありません。特に、プルリクエストに含まれるテストは、特定の修正を検証するために記述されているため、実装に依存しない標準的な解決策の基準を定義するものではなく、過度に厳格になりがちです。
一方で、モデルの能力が向上した現在では、以前よりも短時間で評価上の欠陥を検出することが容易になっています。これらのモデルを活用することで、プロンプト、テスト、パッチ、トレース、エッジケースなどを、はるかに深いレベルと一貫性を持って精査できるようになり、以前は大規模に発見するのがコスト高または現実的ではないベンチマークの問題を表面化させることが可能になります。
私たちは、より広い評価コミュニティにおいて、経験豊富なソフトウェア開発者によって構築され、モデルの能力をテストするために特別に設計された新しいベンチマークが開発されることを願っています。このアプローチは、モデルの能力を測定したいと考える高い基準と現実味を維持しつつ、プロセス全体を通じてより良い人的監督を可能にします。今回の分析で明らかになった問題点を踏まえ、SWE-Bench Pro の採用に関する以前の推奨事項を取り下げます。
究極的に、評価は、ゲーム化が難しく、信頼しやすく、モデルの能力やアライメントを真に反映したベンチマークを通じて有意義なシグナルを提供すべきです。これらの結果は OpenAI の展開および安全性に関する意思決定に影響を与えるため、私たちが追跡する評価は有効かつ有益でなければなりません。
原文を表示
Accurately measuring our models’ capabilities is important for sound deployment and safety decisions, including decisions under OpenAI’s Preparedness Framework(opens in a new window). With each model release, we report results for a variety of external and internal benchmarks to track model progress. When evaluations have flaws that affect results, they can give a false understanding of capabilities, misrepresenting safety cases and affecting research priorities.
We recently investigated how one of the most widely used coding benchmarks, SWE-bench Verified, had fundamental design and contamination issues, and found that the eval no longer provided meaningful signal on software development capabilities. At the time, we encouraged the wider community to switch to SWE-Bench Pro.
SWE-Bench Pro(opens in a new window) was designed to improve on SWE-bench Verified by testing models on longer horizons and more realistic coding tasks to better track agentic coding capabilities. As in SWE-bench Verified, tasks are sourced programmatically from the history of feature changes in a set of public and private repositories. Models are required to implement a solution that passes new tests for a feature, without breaking existing functionality. On the 731-task public split, frontier models improved from a pass rate of 23.3% to 80.3% in eight months.
We’ve since performed a similar audit on SWE-Bench Pro, reviewing the dataset using a datapoint analysis pipeline. The pipeline reviewed model attempts at the task, task metadata, and failure traces to flag likely evaluation flaws. Each flagged task was then assessed through multiple investigator-agent passes and independently reviewed by five experienced software engineers, with disagreements escalated for further investigation.
The issues primarily fell into four categories:
- Overly strict tests1 enforce specific implementation details not specified in the prompt, invalidating many functionally correct submissions.
- Underspecified prompts2 omit requirements that hidden tests enforce and that are not reasonably inferable.
- Low-coverage tests under check the requested feature, so incomplete fixes can pass.
- A misleading prompt points models toward the wrong behavior or contradicts what tests require.
Our findings point to the difficulty of curating hard but fair benchmarks and the growing utility of agents for scalable data quality checks. In light of these results, we estimate that ~30% of SWE-bench Pro tasks are broken, and advise that model developers carefully examine results.
Methodology
Our aim is to ensure that task failures reflect genuine model limitations, and task successes reflect complete and valid solutions to the prompt requirements. To check the quality of the data used in the evaluation, we created a quality assurance pipeline to assess whether each datapoint accurately reflects model capabilities.
An initial automated filter reviews the instructions given to the model, attempts by the model to solve the task, and the tests used to grade these attempts to flag likely broken or problematic examples. This filter flagged 286 potentially broken tasks. We then conducted a deeper review of that subset in two ways: a human-supervised agent review, which conducts extensive checks with investigator agents and a final human judgment; and a human annotation campaign working with experienced software developers.
Human-supervised agent review
Each flagged problem is audited with Codex-based investigator agents that were given access to the task repository and environment. This helps them distinguish reasonable task ambiguity, which can often be resolved by studying nearby code and repository conventions, from true underspecification. The agent can run tests, inspect files in the repo, and investigate model attempts and their common failure modes on the task. After several independent repeats of these deeper audits, a researcher reviewed the summaries, made a final judgment, and labeled the likely issues.
Human annotation campaign
In parallel, we ran a human annotation campaign over the flagged subset. We worked with experienced software engineers who were trained on the benchmark goals, issue taxonomy, and edge cases before reviewing tasks. Each task was reviewed by five engineers.
Reviewers formed an independent judgment from the visible problem statement, test cases, and the ground-truth reference solution (known as the gold patch) before using the pipeline analysis or transcript as supporting context. The reviewers then assigned a label and severity rating based on concrete evidence, and escalated disagreements or low-confidence cases for further review.
Human reviewers were more likely than the investigator agents to mark tasks as broken. There was also some disagreement on categories between the two review paths, but in no flagged task was “not broken” the most common human label. Of the categories the agent pipeline flagged, reviewers’ judgments overlapped in 74% of cases.
Compared with the agent pipeline, the human reviewers were also more likely to select multiple labels for a task, indicating that they found tasks to be broken in multiple ways or did not fit cleanly into a single category. This suggests the agent-plus-reviewer pipeline resulted in conservative labeling: it captured the same broad failure modes humans identified, while undercounting cases where reviewers saw additional or overlapping issues. The largest difference was in low-coverage tests, which humans selected as the most common issue for 9.4% of the benchmark compared with 4.1% from the agent pipeline.
Failure modes
In several cases the task prompt prescribed a specific implementation, but the hidden test cases expected different behavior.
Discussion
The issues we have identified, coupled with similar cases in SWE-bench Verified, highlight the importance of rigorously checking benchmarks. Issues and pull requests from open-source repositories were originally created for human collaboration, often through long back-and-forths between maintainers and contributors. As a result, problem descriptions, merged code, and unit tests do not always line up to form clean, isolated tasks for evaluating models reliably. In particular, tests included in pull requests can be overly strict because they are written to validate a specific change, rather than to define an implementation-agnostic standard for solving the task.
At the same time, evaluation flaws are easier to detect now than they would have been even a short time ago. As model capabilities improve, we can use those models to inspect prompts, tests, patches, traces, and edge cases with much greater depth and consistency, helping surface benchmark issues that were previously costly or impractical to find at scale.
We hope the wider evaluation community will develop new benchmarks built by experienced software developers specifically to test model capabilities. That approach can preserve the high bar and realism we want to measure model capabilities, and allows for better human oversight throughout the process. Given the issues uncovered in this analysis, we retract our earlier recommendation to adopt SWE-Bench Pro.
Ultimately, an eval should provide meaningful signal through benchmarks that are hard to game, easy to trust, and genuinely reflective of model capability or alignment. Because these results inform OpenAI’s deployment and safety decisions, the evals we track need to be valid and informative.
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み