Are Performance-Optimization Benchmarks Reliably Measuring Coding Agents?
本文审计了三个著名的仓库级性能优化基准测试(GSO、SWE-Perf 和 SWE-fficiency),并揭示了由于不同机器之间显著的参考补丁脆弱性、扭曲排名的评分规则,以及大多数任务已被现有的公开提交所解决从而掩盖了真实的性能差距,导致其排行榜分数是不可靠的。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下你是一位烹饪比赛的评委。目标不仅仅是做出一道美味的菜肴,而是要让这道菜比原配方做得更快,同时保持口味完全一致。
在计算机科学的世界里,“编程智能体”(AI 程序)正在进入这场比赛。它们被赋予真实的软件项目,并被要求编写能让软件运行得更快的代码补丁。为了看谁才是真正的冠军,研究人员创建了“排行榜”(类似于计分板),基于三个特定的竞赛:GSO、SWE-Perf 和 SWE-fficiency。
这篇论文就像是一群食物评论家,他们决定对比赛本身进行审计。他们问道:“这些分数真的在告诉我们谁是最好的厨师吗?还是说游戏的规则具有误导性?”
以下是他们的发现,用简单的语言解释如下:
1. “天气”问题:换个厨房,食谱就会变
问题所在: 比赛假设如果一个代码补丁能在某一台电脑上让程序变快,那么它在任何电脑上都会变快。这就像假设无论是在纽约还是在东京的厨房里,蛋糕都能在整整 20 分钟内烤好一样。
审计结果: 研究人员拿走了“官方获胜食谱”(参考补丁),并尝试在四种不同类型的电脑(不同的“厨房”)上进行烘焙。
- 结果: 在许多情况下,那个理应是“最快”的食谱,在另一台电脑上反而变得更慢了,或者速度几乎没有变化。
- 比喻: 想象一名跑者,他在早晨的赛道上是最快的,但到了下午就会疲劳并减速。官方记录说他是最快的,但那个记录只在特定条件下才成立。
- 启示: 对于其中一个竞赛(SWE-Perf)来说,由于“提速”极其微小(仅为 0.03%),以至于电脑内部的噪声(比如风扇旋转或后台进程)就能让结果发生反转。那个“获胜”的补丁其实并不是真的赢了,它只是运气好,碰上了合适的天气。
2. “计分卡”问题:一道坏菜就能毁掉整顿饭
问题所在: 如何计算最终得分?
- 竞赛 A (GSO): 这是一个简单的通过/失败测试。你是否超过了参考速度?是 = 1 分;否 = 0 分。
- 竞赛 B (SWE-fficiency): 它使用了一个复杂的数学公式(调和平均数),如果你有一个非常糟糕的结果,它会对你进行严厉惩罚。
审计结果: 研究人员使用这两种规则对同一组 AI 厨师进行了评分。
- 结果: 排名发生了彻底的变化!一个在竞赛 A 中排名第 1 的 AI,在竞赛 B 中跌落到了第 7 名。
- 比喻: 想象一个学生参加考试。
- 规则 A: 你每答对一题就得 1 分。
- 规则 B: 你每答对一题得 1 分,但是,如果你错了一道题,你的整个总分就会被除以 1,000。
- 在规则 B 下,一个答对了 99% 的学生,可能因为漏掉了一个微小的细节,最终得分反而比一个答对了 80% 但从未出现“灾难性”错误的同学还要低。
- 启示: 排行榜不仅展示了谁是最好的程序员,还展示了谁最擅长规避构建在评分数学逻辑中的特定“陷阱”。在 SWE-fficiency 中,表现最差的 10 个任务(即“坏掉的菜”)占据了总分的 58% 到 82%。一个糟糕的补丁就能毁掉一次提交的声誉。
3. “已被解决”问题:终点线在移动
问题所在: 基准测试应该是为了展示 AI 取得了多少进步。但这些任务还具有挑战性吗?
审计结果: 研究人员查看了每个任务的前 10 名公开提交记录。他们问道:“是否已经有人解决了这个问题?”
- 结果: 对于几乎所有的任务(99.8%),至少有一个 AI 已经写出了一个既有效又比原代码更快的补丁。对于大多数任务(85%),至少有一个 AI 已经匹配或超越了“官方参考”的速度。
- 比喻: 想象一场比赛,目标是跑完一英里且用时在 6 分钟以内。研究人员检查结果后发现,几乎所有人都已经跑进了 6 分钟。剩下的参赛者只是在试图通过缩减最后几秒钟来追赶“世界纪录”。
- 启示: 寻找“任何解决方案”的困难阶段基本已经结束了。剩下的挑战在于如何进行精细化调整,以匹配参考补丁的具体速度。基准测试不再是测试 AI 能否“修复”问题,而是在测试 AI 能否“完善”事物。
总结:我们应该相信什么?
论文得出结论:单凭排行榜分数不足以判断编程智能体的水平。
- 不要盲目相信“官方记录”: 一个补丁可能在某台电脑上看起来是赢家,但在另一台电脑上却会失败。
- 检查数学逻辑: 一个排名看起来很高,可能仅仅是因为评分规则因为一个微小的失误而惩罚了竞争对手,而不是因为该选手整体水平较低。
- 关注细节: 大多数任务都已经被“解决”了。真正的差距不在于找到解决方案,而在于能否获得最后那百分之几的提速。
简而言之,计分板是真实的,但游戏远比数字所呈现的要复杂。要真正了解谁在获胜,你必须深入了解底层逻辑:观察分数是如何计算出来的,以及 AI 究竟在哪些地方取得了成功。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。