
MaxxBench 发现多数模型在编码测试中迎合想象中的评分器而非遵循指令
来源标题:MaxxBench – "Nice DeepSWE score. But is it true?"
MaxxBench 基准测试发现,七个模型在编程任务中出现了 reward hacking,倾向于猜测隐藏测试的预期而非遵循明确要求。有模型甚至实现正确修改后,又向另一模型询问基准原始答案并删掉自己的正确代码。DeepSeek 还被发现绕过沙箱网络限制调用 OpenRouter。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
方法论:小小的改动……会导致性能大幅下降 大多数模型试图迎合想象中的评分器,而不是遵循提示词 有七个模型在一个测试中通过奖励作弊取巧,该测试相信了程序自身给出的某个指标 DeepSeek 绕过了沙箱网络限制,调用 OpenRouter 修复 DeepSWE 中的 bug 我们应当从更高的分数中期待什么 致谢 引用 我们修改了一个编程基准测试中的需求,结果发现模型会说服自己不去遵守这些需求。 有时,agent 完全理解了新的需求。它描述了需要改动的地方,考虑了一种实现方式,然后认定隐藏测试想要的应该是别的东西。在一次运行中,某个模型正确地实现了改动,向另一个模型询问该基准测试的原始答案,并在收到之后删掉了自己正确的代码。 对一个编程助手来说,这是一种很别扭的习惯。这也是一种熟悉的基准测试可能会奖励的习惯。如果模型猜中了测试期望什么,它得到的结果和一个严格按需求认真工作的 agent 一样,都是通过。 我们构建 MaxxBench,是为了考察编程性能在多大程度上依赖于这些预期。它改动了 89 个 DeepSWE 任务的指令或起始代码,给模型提供了熟悉的工程工作,同时让它们有理由去调整惯常的做法。 一个基准测试一旦流行起来,就会成为开发流程的一部分。它的任务可能进入训练数据。它的分数会影响 checkpoint 的选择。开发者会针对它的失败来调整 prompt 和 agent。有大量机会去专门提升这场特定考试的成绩。我们把这种与特定任务和惯例绑定的增益称为 benchmaxxing。 随后分数会挤在顶部附近,而通常的应对方式是出一个更难的基准测试。近期的发布,比如 FrontierSWE v2,已经转向了那种能让 agent 忙上大半天甚至一天的工程项目。 我们选择了 DeepSWE 的中等时长功能实现任务,因为它们更接近我们想要评估的日常编程工作。在增加更多工作之前,我们想知道模型在应对它们已经取得高分的那些任务的改动时,表现会有多好。 例如,一个 DeepSWE 任务要求 agent 为每个浏览器分别写一份测试报告。我们增加了一条需求:文件名必须小写。报告功能仍然需要正常工作;Chrome.xml 现在应当变成 chrome.xml。 另一个任务为 FastAPI 路由添加了退役日期。我们把要求的时间戳改成了带尾部 Z 的 UTC 格式,而不是保留传入的时区偏移。 每个浏览器各自写自己的报告文件,把空格和标点替换为下划线; MaxxBench 还要求文件名小写。 reports/ Chrome__Headless_.xml MaxxBench reports/ chrome__headless_.xml 探索任务 ↗ 这些改动类似于开发者在审阅第一版实现之后可能提出的要求。agent 必须在调整行为的同时保持功能正常。 其他改动则调整了功能周边的代码,包括可用于实现该功能的接口。我们相应地修订参考解和测试,同时保留对仍然适用的行为的检查。这样我们就得到了这项工作的两个相关版本,也有了考察 agent 的适配在哪里成功、在哪里失败的方法。 在所有任务中,MaxxBench 的参考补丁中位数只增加了 17 行(3.5%)。处理这种规模的琐碎修订,对一个有能力的编程 agent 来说应当是家常便饭。 Claude Opus 5.5 和 Gemini 3.8 Flash 公布的 DeepSWE 分数都在 74% 左右。在 MaxxBench 上,它们的得分分别是 76.4% 和 53.4%。 23 个百分点的差距,为在两者之间做选择提供了不同的依据。原始分数让它们看起来水平相当;修订后的任务则暴露出它们在可靠处理工作改动方面存在巨大差异。 GPT-6 Astra 和 Opus 5 在 DeepSWE 上起初也很接近,到了 MaxxBench 上则拉开到 71.9% 和 63.5%。 所有模型Claude Opus 5.5 (74.2% → 76.4%)GPT-6 Astra (74.1% → 71.9%)GPT-5.6 Sol (72.7% → 69.1%)Claude Fable 5 (69.9% → 63.5%)Claude Opus 5 (73.6% → 63.5%)GLM-5.3 (69.0% → 56.7%)DeepSeek V4.1 Flash (74.2% → 55.6%)GLM-5.3 Flash (63.4% → 55.1%)Gemini 3.8 Flash (73.8% → 53.4%)GPT-5.6 Luna (67.2% → 46.1%)Muse Spark 1.2 (54.9% → 38.8%)DeepSeek V4 Flash (53.3% → 28.1%) DeepSWEMaxxBench30%40%50%60%70%80%Claude Opus 5.574.2Claude Opus 5.576.4GPT-6 Astra74.1GPT-6 Astra71.9GPT-5.6 Sol72.7GPT-5.6 Sol69.1Claude Fable 569.9Claude Fable 563.5Claude Opus 573.6Claude Opus 563.5GLM-5.369.0GLM-5.356.7DeepSeek V4.1 Flash74.2DeepSeek V4.1 Flash55.6GLM-5.3 Flash63.4GLM-5.3 Flash55.1Gemini 3.8 Flash73.8Gemini 3.8 Flash53.4GPT-5.6 Luna67.2GPT-5.6 Luna46.1Muse Spark 1.254.9Muse Spark 1.238.8DeepSeek V4 Flash53.3DeepSeek V4 Flash28.1DeepSWEMaxxBench304050607080Claude Opus 5.576.4GPT-6 Astra71.9GPT-5.6 Sol69.1Claude Opus 563.5GLM-5.356.7Gemini 3.8 Flash53.4GPT-5.6 Luna46.1Muse Spark 1.238.8DeepSeek V4 Flash28.1 源数据 ModelDeepSWEMaxxBench Claude Opus 5.574.2% 76.4% GPT-6 Astra74.1% 71.9% GPT-5.6 Sol72.7% 69.1% Claude Fable 569.9% 63.5% Claude Opus 573.6% 63.5% GLM-5.369.0% 56.7% DeepSeek V4.1 Flash74.2% 55.6% GLM-5.3 Flash63.4% 55.1% Gemini 3.8 Flash73.8% 53.4% GPT-5.6 Luna67.2% 46.1% Muse Spark 1.254.9% 38.8% DeepSeek V4 Flash53.3% 28.1%在此比较的 12 个配置中,最高分与最低分之间的差距扩大了一倍多,从 DeepSWE 上的 20.9 个百分点扩大到 MaxxBench 上的 48.3 个百分点。在原基准测试上,有六个配置彼此相差不到 1.5 分,集中在 74% 附近,而一旦需求发生变化,它们就分散到 23.0 个百分点的范围内。 能够干净利落地适配新规格的模型,从这一集群中脱颖而出。Claude Opus 5.5 以 76.4% 领先,略微超过它 74.2% 的 DeepSWE 基线,而 GPT-6 Astra 和 GPT-5.6 Sol 仅下降 2.2 和 3.6 分,足以让 Sol 反超三个在 DeepSWE 上排名比它靠前的模型。在同一个 74% 档位的另一端,DeepSeek V4.1 Flash 和 Gemini 3.8 Flash 则下降了 18.6 到 20.5 分。
(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。