OpenAI reveals flaws in SWE-Bench Pro for evaluating code | Keryc
OpenAI found that a significant portion of SWE-Bench Pro, a widely used benchmark for evaluating models that write and fix code, has problems that distort the results. What does that mean for how much you can trust the metrics we use to decide deployments and safety? I'll explain it clearly and without unnecessary jargon.
Qué encontraron y por qué importa
Accurately evaluating model capabilities is key for safety and deployment decisions. OpenAI had previously audited the SWE-bench Verified benchmark and, after finding contamination and errors, recommended switching to SWE-Bench Pro. However, a recent analysis of SWE-Bench Pro uncovered serious issues: they estimate around 30% of the tasks are "broken" and don't provide a reliable signal about what models actually know how to do.
Thirty percent? Yes. That changes how you interpret dramatic jumps in metrics. For example, on the public split of 731 tasks, frontier models went from a 23.3% pass rate to 80.3% in eight months. Sounds great, but if many tasks are poorly designed, the story might be different.
Tipos de fallas detectadas
OpenAI grouped the problems into four clear categories:
Overly strict tests: they force specific implementations that the prompt doesn't require, invalidating correct solutions.
Under-specified prompts: missing requirements that hidden tests expect and that aren't reasonably inferable.
Low-coverage tests: they only check part of the functionality, so incomplete patches can pass.
Misleading prompts: they steer the model toward the wrong behavior or contradict what the tests require.
Think of a human pull request: tests usually validate a specific change, not define a general solution. That works for human collaboration, but it's unfair for measuring models.
Cómo auditaron SWE-Bench Pro
This wasn't a quick glance. They built a quality-assurance pipeline that combines automated filters, investigative agents, and human reviews:
An automatic filter inspects instructions, model attempts, and tests to flag problematic examples. It flagged 286 potentially broken tasks.
An audit with Codex-based agents: those agents run tests, explore the repo, and analyze failure traces to distinguish reasonable ambiguity from real issues.
A human annotation campaign: every flagged task was reviewed by five experienced software engineers trained on the taxonomy of problems.
Humans were more likely to call tasks broken than the agents. In flagged cases, human labels matched the pipeline 74% of the time. Reviewers also found low-coverage issues more often (9.4% vs 4.1% per the pipeline), and many tasks had overlapping problems.
Lecciones prácticas y qué cambia
What do we learn from this? Several useful things for you, if you work with benchmarks or rely on model metrics:
A good benchmark should measure real limitations, not accidental details of old implementations.
Tests created in a human context (pull requests, commits) can be misleading for automated evaluations.
Current models are valuable tools to inspect and scale quality checks, but they don't replace human review.
It's reasonable that OpenAI rescinded its earlier recommendation to adopt SWE-Bench Pro until these issues are fixed.
So what should you do? The invitation is clear: the community should invest in benchmarks designed by experienced developers, explicitly meant to evaluate models. That preserves realism and allows better human oversight during creation.
Impact on security and deployment decisions
Evaluations feed important choices: which models to put in production, what guardrails to apply, and how to estimate risks. If the benchmark signal is contaminated, you can overestimate capabilities or miss critical failures.
That's why OpenAI created a stricter verification route: automation to filter, agents to reproduce context, and human reviewers for the final judgment. The goal is that a failure reflects a real model limitation and a pass represents a complete, valid solution.
Para desarrolladores y responsables de evaluación
If you work with benchmarks, consider these concrete actions:
Check whether your tests validate functional behavior or only specific changes from a commit.
Add higher-coverage tests that explore edge cases and regressions.
Involve experienced human reviewers and use agents to scale repetitive checks.
Be transparent about where tasks come from and how tests are built.
Small changes in curation and validation methodology make metrics less misleading and more useful for real decisions.
OpenAI was clear: a useful benchmark should be hard to game, easy to trust, and truly representative of the capability or alignment it aims to measure. If it doesn't meet that bar, it's not fit to guide safety policy or research priorities.
Reflexión final
The news isn't just that a benchmark is "broken." It's that as models improve, we need more rigorous and collaborative evaluation tools. Using agents and humans together to audit data is a promising pattern. Surprised that 30% of tasks failed the quality check? I'm not entirely: it's the consequence of measuring increasingly capable systems with metrics that weren't always designed for them.