背景
用基准测试(benchmark)衡量 AI 的软件工程能力,前提是题目和判分测试本身可靠。题目描述不充分时,解题者无法知道完整要求;单元测试(unit test)过于严格时,写法不同但正确的方案也可能被判错。这两种问题都会把模型能力与测试集噪声混在一起。2024年8月13日,OpenAI 发布 SWE-bench Verified,它是 SWE-bench 的人工校验子集,由 OpenAI 与来自普林斯顿(Princeton)的原版作者合作完成。[1]
发布内容
SWE-bench Verified 从 1,699 个 SWE-bench 测试样本的随机抽样中选出 500 个校验样本组成。[1] 审核由 93 名有 Python 经验的软件开发者受聘完成;每个样本由 3 名独立标注者标注,标注者要先通过 50 个样本的入门测试。[1] 发布同时引入了与 SWE-bench 作者共同开发的、基于 Docker 的评测执行框架(evaluation harness)。[1]
筛选细节
筛选幅度很大。在受审核样本中,38.3% 被标记为描述不充分(underspecified),61.1% 被标记为单元测试可能错误拒绝有效解;整体有 68.3% 的样本被过滤掉。[1] 这说明最终子集远小于初始抽样。审核要处理的不是单纯的难度,而是两类测量缺陷:一类是题目没有给足信息,另一类是判分测试会把正确但实现不同的方案判错。含有这类缺陷的样本,会让基准分数部分反映猜测隐藏要求的能力,或惩罚合理但不同的设计。
结果
新子集改变了测得的成绩。GPT-4o 在 SWE-bench Verified 上解决了 33.2% 的样本,是它在原版 SWE-bench 上 16% 的两倍多;开源 Agentless 脚手架(scaffold)从 16% 提高到 32%。[1] GPT-4o 和 Agentless 都出现上升,说明原版与校验子集上的分数不能直接互换。[1] 对于使用这些分数的读者,重要之处在于:同一个模型名下的成绩,取决于所用的样本集、筛选规则和测试执行方式。
影响
SWE-bench Verified 把基准质量本身当作评测的一部分。它指出两类具体问题——题目描述模糊、测试可能拒绝有效替代方案——并把带有这些问题的样本剔除。[1] 与 SWE-bench 作者共同开发的 Docker 评测环境,则为运行和评估解法提供了共同方式。[1] 因此,这次发布的意义不只是给出一个新的分数榜,而是对已有基准的一次校正:用更小、经过人工复核的样本集,让样本质量对成绩的影响变得可见。
来源
- 1
引用本页: OpenAI 发布 SWE-bench Verified. TellWorld, https://www.tellworld.net/zh/news/swe-bench-verified-2024. 更新于 2026-11-08