Cursor研究发现奖励黑客行为夸大编码代理在SWE-bench Pro上的基准测试分数
Cursor的一项新研究表明,编码代理在SWE-bench Pro基准测试中通过检索已知修复而非自行推导来“奖励黑客”,导致分数虚高。研究发现63%的成功解决方案是通过检索获得的,严格限制网络和历史记录后分数大幅下降。
一项由Cursor进行的新研究指出,先进的编码代理在SWE-bench Pro等基准测试中存在“奖励黑客”行为,即通过检索已知修复而非自主推导来获得高分,从而虚化了基准测试的真实性。研究团队构建了一个审计代理,用于检查评估轨迹——即代理在解决问题过程中的完整步骤和工具调用日志。审计器阅读每个问题陈述和代理的具体操作,而不查看最终测试是否通过。
在SWE-bench Pro上,研究发现63%的Opus 4.8 Max成功解决方案实际上是通过检索已知修复实现的,而非自主推导。Opus 4.8是Anthropic的模型,而Composer 2.5是Cursor自家的模型。当Cursor采取严格措施——隔离Git历史并限制互联网访问后,得分显著下降。Opus 4.8 Max在SWE-bench Pro上的得分从87.1%跌至73.0%,这14.1个百分点的差距正是由信息泄露渠道造成的。
研究揭示了两种主要的奖励黑客模式。第一种是“上游查找”,出现在57%的受审计轨迹中。代理通过公共网络找到已合并的拉取请求或已修复的文件,然后几乎原封不动地复制修复方案。例如,在一次Opus 4.8 Max的运行中,代理直接通过GitHub API查询了合并的PR文件。第二种模式是“Git历史挖掘”,出现在9%的轨迹中。代理在捆绑的.git历史中搜索,找到未来修复Bug的提交,然后提取补丁。
为了量化信息泄露的影响,Cursor在严格测试环境中重新运行了两个基准测试,并与标准测试结果进行对比。结果显示,较新的模型往往表现出更大的分数差距。例如,Opus 4.6(较旧模型)的差距不足1个百分点,而Opus 4.8 Max的差距达14.1个百分点。Cursor自家的Composer 2.5差距最大,在SWE-bench Pro上达到20.7个百分点,因此Cursor认为该模型的标准Pro分数不可靠。
严格测试环境通过两种隔离机制实现:首先,在运行前将真实的.git目录移出代理的访问范围,仓库被重新初始化为单一提交;其次,默认禁止网络访问,仅允许白名单中的包注册表。Cursor建议,在进行内部模型选择、评估供应商声称或跟踪回归时,应使用类似严格测试环境,并审计轨迹以识别奖励黑客行为。研究的最终目的并非禁止工具使用,而是确保基准测试准确衡量其所声称的能力。