在人工智能代码生成领域,SWEBench 一直是衡量模型自主软件工程能力的重要基准。然而,2026 年 4 月 OpenAI 发布的公开分析揭示了 SWE-bench Verified 这个经过专家审核的评测集存在的系统性缺陷,这一发现对整个 AI 评测体系具有重要的警示意义。本文将从技术层面深入剖析这两个核心问题的成因、影响范围以及应对策略。
测试用例设计缺陷:狭窄测试与过度测试
SWE-bench Verified 最初旨在解决原始 SWE-bench 数据集中任务不可完成的问题。OpenAI 曾邀请专家工程师对 1699 个问题进行三轮独立审核,筛选出 500 个问题构成 Verified 版本。然而,后续审计发现即便是这个经过精心筛选的集合,仍然存在严重的测试设计缺陷。
在针对 138 个 OpenAI o3 模型无法稳定解决的问题进行的深度审计中,研究团队发现至少 59.4% 的被审计问题存在实质性测试设计问题_render 这些任务即使对最强能力的模型或人类工程师也几乎无法完成。具体而言,35.5% 的任务包含过于严格的测试用例,这些「狭窄测试」(narrow test cases)强制要求特定的实现细节,导致许多功能上正确的解决方案被错误拒绝。例如 pylint-dev__pylint-4551 任务要求测试直接导入一个在问题描述中完全未提及的新函数 get_annotation,这意味着模型必须准确猜出测试代码期望的函数名称才能通过,即使存在其他完全等效的替代实现。
另一类问题被归类为「过度测试」(wide test cases),占比 18.8%。这类测试检查了问题描述中并未涵盖的功能范围。以 sympy__sympy-18199 为例,该任务的问题描述仅涵盖一个具体 issue,但测试用例却覆盖了三个相关问题的修复,导致模型即使正确实现了描述中的修复方案,仍然会因为其他未提及的问题而测试失败。这种测试与任务描述之间的不匹配严重影响了评测的有效性。
训练数据污染:前沿模型的「作弊」困境
比测试设计缺陷更为根本的问题是训练数据污染。OpenAI 的分析表明,所有被测试的前沿模型都在训练阶段接触过 SWE-bench Verified 中的问题及其解决方案。这是因为 SWE-bench 的问题来源于 12 个主流开源 Python 仓库的 GitHub issue 和 Pull Request,而这些代码库及其发布说明(release notes)本身就是大模型训练数据的主要来源。
为了量化污染程度,OpenAI 设计了一套自动化红队测试框架。他们使用 GPT-5 作为探测模型,针对 GPT-5.2-Chat、Claude Opus 4.5 和 Gemini 3 Flash Preview 进行污染检测。探测过程中,GPT-5 获得任务的完整信息(包括 ID、描述、黄金补丁和测试代码),并通过多轮对话尝试诱导目标模型泄露任务特定信息。结果显示,所有被测试的模型都表现出明显的污染迹象:给定任务描述的简短片段,模型就能输出完整的功能代码变更,包括具体的类名、方法名和新增的 early return 条件。
这种污染的影响是实质性的。分析表明,在训练阶段接触过问题的模型更容易成功解决问题,因为它们拥有通过测试所需的额外信息 —— 这些信息本应来自对问题的正确分析,但实际上来自对评测数据的记忆。这导致 SWE-bench Verified 的分数提升更多反映的是模型在训练时对评测集的暴露程度,而非真实的软件工程能力进步。
评测方法论重构:从数据泄露到私有基准
面对这些系统性挑战,OpenAI 已停止在公开场合报告 SWE-bench Verified 的分数,并建议其他模型开发者也采取相同做法。他们转而推荐使用 SWE-bench Pro 的公开分割(public split),该基准虽然不完美,但实证研究表明其受污染问题的影响显著较小 —— 在自动化污染检测中发现的污染案例更加罕见且程度较轻,没有任何模型能够输出完整的黄金补丁。
更为根本的解决方案是构建全新的、从未公开过的评测基准。OpenAI 提出的 GDPVal 采用了私有任务设计的方式:任务由领域专家私下编写,解决方案由经过培训的评审员进行整体评估,而非依赖可能存在缺陷的自动化测试。这种方法虽然资源密集,但正变得日益必要,以真实衡量模型的能力提升。
对于当前阶段的工程实践,以下参数值得参考:若继续使用 SWE-bench 系列基准,应优先选择 SWE-bench Pro 而非 Verified 版本;在报告结果时明确区分训练数据来源,避免使用可能存在污染的公开代码库问题;在测试设计上应确保测试用例覆盖问题描述中明确要求的功能范围,同时对实现细节保持足够的灵活性;最重要的是,建立独立的污染检测流程,在模型发布前评估训练数据对评测结果的潜在影响。
资料来源:OpenAI 官方博客《Why SWE-bench Verified no longer measures frontier coding capabilities》(2026 年 4 月)