准确衡量我们模型的能力对于合理的部署和安全决策至关重要,包括 OpenAI 准备框架⁠(在新窗口中打开) 下的决策。每次发布模型时,我们都会报告各种外部和内部基准测试的结果,以跟踪模型进展。当评估存在影响结果的缺陷时,它们可能对能力产生错误理解,歪曲安全案例并影响研究优先级。

我们近期调查了最广泛使用的编码基准之一 SWE-bench Verified,发现其存在根本性设计和污染问题,并认定该评估不再能提供关于软件开发能力的有意义信号。当时,我们鼓励更广泛的社区转向 SWE-Bench Pro。

SWE-Bench Pro⁠(在新窗口中打开) 旨在通过测试模型在更长周期和更现实的编码任务上的表现来改进 SWE-bench Verified,从而更好地追踪智能体编码能力。与 SWE-bench Verified 类似,任务通过程序化方式从一组公共和私有仓库的功能变更历史中获取。模型需要实现一个解决方案,通过新功能测试,同时不破坏现有功能。在包含 731 个任务的公共子集中,前沿模型在八个月内通过率从 23.3% 提升至 80.3%。

此后,我们对 SWE-Bench Pro 进行了类似的审计,使用数据点分析流水线审查数据集。该流水线审查模型对任务的尝试、任务元数据和失败轨迹,以标记可能的评估缺陷。每个被标记的任务随后通过多个调查智能体轮次进行评估,并由五位经验丰富的软件工程师独立审查,分歧部分升级进行进一步调查。

我们发现数据集中相当一部分任务存在严重问题。我们的数据点分析流水线标记了 200 个(27.4%)有问题的任务,而人工标注活动识别出 249 个(34.1%)。

问题主要分为四类:

  • 过于严格的测试1 强制实施提示中未指定的具体实现细节,导致许多功能正确的提交无效。
  • 未充分指定的提示2 省略了隐藏测试强制执行且无法合理推断的要求。
  • 低覆盖率测试 对请求的功能检查不足,因此不完整的修复可能通过。
  • 误导性提示 引导模型走向错误行为或与测试要求相矛盾。

我们的发现指出了策划困难但公平的基准的难度,以及智能体在可扩展数据质量检查中日益增长的实用性。鉴于这些结果,我们估计约 30% 的 SWE-bench Pro 任务存在问题,并建议模型开发者仔细检查结果。

方法论

我们的目标是确保任务失败反映真实的模型局限性,而任务成功反映对提示要求的完整且有效的解决方案。为了检查评估中使用的数据质量,我们创建了一个质量保证流水线,以评估每个数据点是否准确反映模型能力。

初始数据质量流水线标记问题以供审查。我们通过对标记任务进行更深入的智能体辅助审计,以及与经验丰富的工程师合作进行人工标注活动来验证。

初始自动化过滤器审查提供给模型的指令、模型解决任务的尝试以及用于评分这些尝试的测试,以标记可能存在问题或有缺陷的示例。该过滤器标记了 286 个可能有问题任务。随后,我们通过两种方式对该子集进行了更深入的审查:人工监督的智能体审查,通过调查智能体进行广泛检查并做出最终人工判断;以及与经验丰富的软件开发人员合作进行的人工标注活动。

人工监督的智能体审查

每个被标记的问题都通过基于 Codex 的调查智能体进行审计,这些智能体可以访问任务仓库和环境。这有助于他们区分合理的任务模糊性(通常可以通过研究附近代码和仓库约定来解决)与真正的未充分指定。智能体可以运行测试、检查仓库中的文件,并调查模型在任务上的尝试及其常见失败模式。在多次独立重复这些更深入的审计后,研究人员审查摘要,做出最终判断,并标记可能的问题。

人工标注活动

与此同时,我们对标记的子集进行了人工标注活动。我们与经验丰富的软件工程师合作,他们在审查任务前接受了基准目标、问题分类和边缘案例的培训。每个任务由五位工程师审查。

审查员在利用流水线分析或记录作为支持背景之前,根据可见的问题陈述、测试用例和真实参考解决方案(称为黄金补丁)形成独立判断。然后,审查员根据具体证据分配标签和严重性评级,并将分歧或低置信度案例升级进行进一步审查。

人工审查员比调查智能体更倾向于将任务标记为有问题。两种审查路径在类别上也存在一些分歧,但在任何被标记的任务中,“无问题”都不是最常见的人工标签。在智能体流水线标记的类别中,审查员的判断在 74% 的案例中重叠。

与智能体流水线相比,人工审查员也更倾向于为任务选择多个标签,表明他们发现任务以多种方式存在问题,或无法干净地归入单一类别。这表明智能体加审查员流水线导致了保守的标签:它捕捉了人类识别的相同广泛失败模式,同时低估了审查员看到额外或重叠问题的案例。最大的差异在于低覆盖率测试,人类将其选为基准中最常见问题的比例为 9.4%,而智能体流水线为 4.1%。

失败模式

在几个案例中,任务提示规定了特定的实现方式,但隐藏测试用例期望不同的行为。

讨论

我们识别出的问题,加上 SWE-bench Verified 中的类似案例,凸显了严格检查基准测试的重要性。开源仓库中的议题和拉取请求最初是为人类协作而创建的,通常通过维护者和贡献者之间漫长的来回沟通。因此,问题描述、合并代码和单元测试并不总能形成清晰、独立的评估任务,以可靠地评估模型。特别是,拉取请求中包含的测试可能过于严格,因为它们是为了验证特定更改而编写的,而非定义一种与实现无关的任务解决标准。

与此同时,与不久之前相比,现在更容易检测到评估缺陷。随着模型能力的提升,我们可以利用这些模型更深入、更一致地检查提示、测试、补丁、追踪和边缘情况,从而帮助发现那些以前大规模查找成本高昂或不切实际的基准测试问题。

我们希望更广泛的评估社区能够开发出由经验丰富的软件开发者专门为测试模型能力而构建的新基准测试。这种方法可以保持我们衡量模型能力所需的高标准与真实性,并在整个过程中实现更好的人工监督。鉴于本次分析中发现的问题,我们撤回之前关于采用 SWE-Bench Pro 的建议。

最终,评估应通过难以被操纵、易于信任且真正反映模型能力或对齐程度的基准测试,提供有意义的信号。由于这些结果会影响 OpenAI 的部署和安全决策,我们追踪的评估必须有效且具有信息价值。

本文内容采集自官方网站,排版和翻译可能与原页面存在差异。

阅读官方全文