Anderson 视角
2020 年的人工代码在代理测试中击败了基于振动的编码代理

ChatGPT 和其他基于振动的编码工具在近 40,000 次比赛中被测试——并输给了 2020 年编写的研究生代码,即在大型语言模型发明之前。
在英国的一项新研究中,研究人员将人工编码的代理与使用最新的大型语言模型(LLM)开发的基于振动的编码代理进行了比较,例如 ChatGPT-5 和 Claude,并发现没有使用人工智能辅助的代理很容易击败人工智能辅助的版本。
两组代理都是由瑞士联邦技术学院人工智能实验室的不同学生世代创建的。非人工智能代理是在 2020 年作为课程的一部分开发的,这是在 ChatGPT 和大型语言模型革命开始的两年前,而新的代理是由当前的学生创建的,他们使用了最新和最好的可用的 LLM。
即使游戏被操纵,基于振动的解决方案也无法获胜,前五名始终由“原始”的代理占据,大多数 LLM 代理(33 个中的 40 个)被“非常简单”的基准代理轻松击败,在 38,304 次挑战中,跨越了广泛的变量和情况。
该论文指出:
‘我们的工作表明,虽然最先进的 LLM 可以生成运行的代码(即没有语法错误),但生成的解决方案在战略规划、优化或多代理竞争等方面不如人工设计的解决方案具有竞争力。 ‘
‘因此,本研究带来了新的代码生成前沿,并旨在促进基准、数据集和开源基准的开发,这些基准强调推理驱动的代码合成。’
挑战是设计一个创造性地参与拍卖的场景,跨越各种策略,并安排交付赢得的物品的后勤工作。
作者指出,LLM 得到了多个优势,例如干预其代码以提高其性能——这是 2020 年代码不允许的。尽管如此,即使在提供改进其结果的更正代码时,LLM 也无法接受或使用它:
‘[在]我们的基准中,即使我们提供一个好的解决方案,LLM 仍然无法利用它。 ‘
‘这个结果还提出了有关上下文学习和增强问题解决的局限性的有趣未来研究问题。’
测试中使用的 LLM 包括 GPT-5 Thinking、Gemini 2.5 Pro、Claude Opus 4.1 和 DeepSeek R1*。
该 新论文 的标题为 振动编码能否击败研究生 CS 学生?LLM 与人工编码锦标赛上的市场驱动战略规划,来自南安普顿大学的一位作者和牛津大学以及阿兰·图灵研究所的一位作者。作者表示,基准将 很快发布。
方法
作者指出,传统的测试专注于具有明确的二元解决方案(正确 或 不正确)的挑战,这些解决方案通过 单元测试 进行验证。认为这不是探索 LLM 辅助代码局限性的理想方式,作者设计了一个更复杂的挑战场景,具有多个内部基准和里程碑,在这个场景中,胜利是可能的,但远非简单:
![标准的、基于单元测试的方法(上)与作者设计的更开放的挑战场景(下)的比较。来源 [ https://arxiv.org/pdf/2511.20613 ]](https://www.unite.ai/wp-content/uploads/2025/11/figure-1-2.jpg)
标准的、基于单元测试的方法(上)与作者设计的更开放的挑战场景(下)的比较。 来源
拍卖、取货和交付问题(APDP)用于作者的研究部分是自选的,因为有 2020 年学生作品的语料库;这些作品在人工智能辅助开发之前就已经尝试为 APDP 任务创建自动代理。因此,很容易让现代学生接受相同的简介,但让他们使用当前的工具。
作者试图避免流行的测试框架,例如 HumanEval、BigCodeBench 和 WebDev Arena(以及其他许多),因为这种类别的测试程序往往容易受到数据污染(即,系统可能已经 在测试数据上进行了训练,而不是尊重 分割)。
APDP 是一个基于 反向拍卖 和 车辆路线 的两个阶段的后勤问题。在第一阶段,代理竞争赢得交付任务,方法是提交报价以确定每个任务的付款金额。报价过高意味着失去任务;报价过低可能意味着失去钱。
在第二阶段,每个代理必须创建一个高效的计划来履行他们赢得的任务,方法是将任务分配给具有不同容量和成本的车辆,在时间和资源约束下:

在 APDP 中,公司在反向拍卖中竞标交付任务,然后优化车辆路线以履行他们赢得的任务,旨在最大化利润。
目标不是简单地完成任务,而是通过预测竞争对手的策略来最大化整体利润,这些竞争对手都试图做同样的事情,并预测哪些任务的组合将最好地协同工作。
APDP 基准通过引入跨一系列相互依赖的拍卖的战略规划来提高代码生成任务的难度,每个出价都会重塑未来的选择格局;因此,代理需要推理不仅仅是立即的成本,还包括定位、时机和长期后果。
核心的交付问题是 NP 难,即没有算法可以可靠地在合理的时间内找到最佳解决方案,因此蛮力方法不可行,代理必须权衡精度与速度。
竞赛开始
作者的评估将 40 个 LLM 编码的代理与 17 个人工编码的代理进行了比较,采用一系列头对头的锦标赛。每个锦标赛使用四种不同的道路网络拓扑,共有 12 个锦标赛,每个锦标赛由 全对全 配对组成,代理每次面对每个对手两次:一次控制两家公司的每一家,具有不同的车辆规格。
这种设置产生了每个锦标赛 3,192 场比赛,总共 38,304 场比赛。在每场比赛中,50 个交付任务被拍卖,这些任务由其取货和交付点以及重量定义,并随机分布在瑞士、法国、英国和荷兰等国家的道路布局中:

锦标赛中使用的简化道路网络:英国(左上)、瑞士(右上)、荷兰(左下)和法国(右下)。蓝色和红色方块标记取货和交付任务。彩色三角形显示代理车辆的当前位置。
学生代理来自 2020 年的课程锦标赛。八名来自单循环淘汰赛的顶级选手,另外四名因在头对头比赛中对基准代理表现良好而被选中。
基准代理遵循固定 启发式。 天真 计算总距离并相应地出价,仅使用一辆车辆并忽略批处理; ExpCostFixedBid 模拟 10 个随机任务,并出价平均的边际成本; Honest 计算插入任务到时间表中的实际边际成本; ModelOpponent 执行相同的操作,但添加了对手的成本估计,出价最高的; RiskSeeking 混合了时间衰减的先验与实时成本估计和对手建模——再次出价两者中的较高者。
评估包括使用 GPT-5 Thinking、Gemini 2.5 Pro、Claude Opus 4.1 和 DeepSeek R1 等模型构建的 40 个 LLM 代理。每个模型都使用五种不同的策略进行提示,两次用于每个模型。
两种策略使用不同作者编写的静态提示,而第三种策略要求模型自我反思和修订其自己的输出;另一种策略涉及使用单独的 LLM 进行批评和修订。最后一种策略使用 GPT-4 通过审查所有四种以前的方法来合成新的提示。
基本提示反映了原始的学生作业,描述了交付环境,并指示模型出价和计划以最大化利润,而不依赖于高复杂度方法。
所有 LLM 代理都在自我对抗和锦标赛设置中进行了测试,直到所有可观察的错误都被修复。错误修复由 LLM 自己处理,使用错误信息进行提示。
LLM 的常见故障,论文指出,包括超时限制的违反、未能拾取或交付分配的任务以及违反车辆容量约束——这些错误往往是由于忽略了明确的指示或由于有缺陷的重新规划逻辑而产生的†:
‘我们发现的一个常见问题(主要是 Gemini、Claude 和 DeepSeek,而不是 GPT)是,LLM 经常一致地无法解决一个 bug。 ‘
‘例如,一个代理一致地超时,尽管多次(例如 5-15 次)提示 LLM 以错误和接收更新的代码版本。 ‘
‘我们发现的唯一解决方案是从头开始。总体而言,我们观察到需要大量的手动努力来实现无错误的代码。我们不得不生成更多的代理来获得我们评估的 40 个无错误的代理。’
结果如下所示:
| 代理 | 平均获胜次数/锦标赛 | 获胜次数标准差/锦标赛 | 平均失败次数/锦标赛 | 失败次数标准差/锦标赛 | 总获胜次数 | 总失败次数 | 获胜率 |
|---|---|---|---|---|---|---|---|
| 学生 1 | 108.167 | 1.193 | 3.833 | 1.193 | 1298 | 46 | 0.9658 |
| 学生 2 | 104.917 | 2.539 | 7.083 | 2.539 | 1259 | 85 | 0.9368 |
| 学生 3 | 103.917 | 2.466 | 8.083 | 2.466 | 1247 | 97 | 0.9278 |
| 学生 4 | 103.25 | 1.815 | 8.75 | 1.815 | 1239 | 105 | 0.9219 |
| 学生 5 | 96.5 | 2.908 | 15.5 | 2.908 | 1158 | 186 | 0.8616 |
| LLM(O, IR, 1) | 95.417 | 2.314 | 16.583 | 2.314 | 1145 | 199 | 0.8519 |
| LLM(O, A2, 1) | 94.583 | 2.314 | 17.417 | 2.314 | 1135 | 209 | 0.8445 |
| 学生 6 | 93.167 | 1.899 | 18.833 | 1.899 | 1118 | 226 | 0.8318 |
| 学生 7 | 93.167 | 3.563 | 18.833 | 3.563 | 1118 | 226 | 0.8318 |
| LLM(O, A1, 1) | 86.083 | 3.029 | 25.917 | 3.029 | 1033 | 311 | 0.7686 |
| LLM(O, GEN, 2) | 84.083 | 6.947 | 27.917 | 6.947 | 1009 | 335 | 0.7507 |
| LLM(O, CR, 2) | 83.5 | 4.442 | 28.5 | 4.442 | 1002 | 342 | 0.7455 |
| 学生 8 | 83.417 | 4.122 | 28.583 | 4.122 | 1001 | 343 | 0.7448 |
| RiskSeeking | 82.417 | 3.343 | 29.583 | 3.343 | 989 | 355 | 0.7359 |
| LLM(O, GEN, 1) | 80.667 | 4.355 | 31.25 | 4.372 | 968 | 375 | 0.7208 |
| ModelOpponent | 80.583 | 3.26 | 31.417 | 3.26 | 967 | 377 | 0.7195 |
| LLM(D, A1, 1) | 79.417 | 3.965 | 32.583 | 3.965 | 953 | 391 | 0.7091 |
| ExpCostFixedBid | 77.167 | 4.951 | 34.833 | 4.951 | 926 | 418 | 0.689 |
| LLM(O, IR, 2) | 73.917 | 3.502 | 38 | 3.618 | 887 | 456 | 0.6605 |
| LLM(O, A1, 2) | 72.417 | 2.193 | 39.583 | 2.193 | 869 | 475 | 0.6466 |
| LLM(G, A1, 2) | 68.5 | 3.555 | 43.5 | 3.555 | 822 | 522 | 0.6116 |
| LLM(A, GEN, 2) | 67.917 | 2.968 | 44.083 | 2.968 | 815 | 529 | 0.6064 |
| LLM(G, IR, 2) | 65.917 | 2.314 | 46.083 | 2.314 | 791 | 553 | 0.5885 |
| 学生 9 | 64.167 | 11.044 | 47.833 | 11.044 | 770 | 574 | 0.5729 |
| LLM(G, A1, 1) | 64 | 4.243 | 47.917 | 4.316 | 768 | 575 | 0.5719 |
| LLM(G, IR, 1) | 60.333 | 3.725 | 51.667 | 3.725 | 724 | 620 | 0.5387 |
| LLM(O, A2, 2) | 59.333 | 4.499 | 52.667 | 4.499 | 712 | 632 | 0.5298 |
| LLM(D, CR, 1) | 55.083 | 6.694 | 56.833 | 6.59 | 661 | 682 | 0.4922 |
| LLM(G, GEN, 2) | 53.167 | 3.664 | 58.833 | 3.664 | 638 | 706 | 0.4747 |
| LLM(D, GEN, 2) | 52.083 | 9.06 | 59.917 | 9.06 | 625 | 719 | 0.465 |
| Honest | 50.583 | 3.848 | 61.417 | 3.848 | 607 | 737 | 0.4516 |
| 学生 10 | 48.833 | 2.98 | 63.167 | 2.98 | 586 | 758 | 0.436 |
| LLM(D, IR, 1) | 48.583 | 10.211 | 63.417 | 10.211 | 583 | 761 | 0.4338 |
| LLM(A, A1, 1) | 48 | 4.69 | 64 | 4.69 | 576 | 768 | 0.4286 |
| LLM(G, A2, 1) | 47.25 | 3.864 | 64.75 | 3.864 | 567 | 777 | 0.4219 |
| LLM(A, CR, 1) | 43.833 | 4.609 | 68.167 | 4.609 | 526 | 818 | 0.3914 |
| LLM(A, A1, 2) | 43.75 | 2.05 | 68.25 | 2.05 | 525 | 819 | 0.3906 |
| 学生 11 | 42.083 | 5.664 | 69.917 | 5.664 | 505 | 839 | 0.3757 |
| LLM(A, IR, 1) | 39.5 | 2.541 | 72.5 | 2.541 | 474 | 870 | 0.3527 |
| Naive | 36.75 | 1.712 | 75.25 | 1.712 | 441 | 903 | 0.3281 |
| 学生 12 | 36.333 | 1.775 | 75.667 | 1.775 | 436 | 908 | 0.3244 |
| LLM(D, A2, 1) | 33.917 | 2.193 | 78.083 | 2.193 | 407 | 937 | 0.3028 |
| LLM(A, GEN, 1) | 30.167 | 1.749 | 81.833 | 1.749 | 362 | 982 | 0.2693 |
| LLM(D, A2, 2) | 29.833 | 2.038 | 82.167 | 2.038 | 358 | 986 | 0.2664 |
| LLM(G, A2, 2) | 27 | 2.256 | 85 | 2.256 | 324 | 1020 | 0.2411 |
| LLM(A, A2, 1) | 26.333 | 0.985 | 85.667 | 0.985 | 316 | 1028 | 0.2351 |
| LLM(O, CR, 1) | 25 | 3.411 | 87 | 3.411 | 300 | 1044 | 0.2232 |
| LLM(A, IR, 2) | 24.333 | 8.542 | 87.667 | 8.542 | 292 | 1052 | 0.2173 |
| LLM(A, A2, 2) | 24 | 1.809 | 88 | 1.809 | 288 | 1056 | 0.2143 |
| LLM(A, CR, 2) | 23.333 | 1.557 | 88.667 | 1.557 | 280 | 1064 | 0.2083 |
| LLM(D, GEN, 1) | 22.5 | 1.784 | 89.5 | 1.784 | 270 | 1074 | 0.2009 |
| LLM(D, A1, 2) | 13.333 | 1.826 | 98.667 | 1.826 | 160 | 1184 | 0.119 |
| LLM(G, CR, 1) | 9.5 | 1.087 | 102.5 | 1.087 | 114 | 1230 | 0.0848 |
| LLM(G, GEN, 1) | 9.167 | 0.937 | 102.833 | 0.937 | 110 | 1234 | 0.0818 |
| LLM(D, IR, 2) | 7.75 | 0.622 | 104.25 | 0.622 | 93 | 1251 | 0.0692 |
| LLM(G, CR, 2) | 7.25 | 1.422 | 104.75 | 1.422 | 87 | 1257 | 0.0647 |
| LLM(D, CR, 2) | 5.667 | 0.985 | 106.333 | 0.985 | 68 | 1276 | 0.0506 |
为了背景,每个代理在每个锦标赛中进行 112 次比赛,因此每个代理的最大可能平均获胜或失败次数为 112。标准偏差(SD)反映了锦标赛之间的变异性。人工编码的代理以粗体显示。LLM 编码的代理以模型标记(O = GPT-5 Thinking,G = Gemini 2.5 Pro,A = Claude Opus 4.1,D = DeepSeek R1),后跟一个两字母的提示策略代码和一个数字,指示代理是使用该提示生成的第一个还是第二个。 来源
关于上述结果,作者指出†:
‘LLM 没有生成预期的/具有竞争力的代码,甚至在 APDP 问题的更简单变体中也是如此(尽管代码基本上没有语法错误)。这凸显了超越自动完成和识别 LLM 新弱点的推理驱动的代码评估基准的重要性。’
‘我们的结果表明人类编码的代理具有明显的优势:(i)前五名始终由学生代理占据,(ii)大多数 LLM 代理(33 个中的 40 个)被非常简单的基准代理击败(例如预期成本固定出价)。’
‘重要的是,我们没有调试学生代码(虽然我们彻底测试和调试了 LLM 代码,既在自我对抗又在锦标赛设置中)。每当学生代理崩溃时,我们自动将胜利授予 LLM。学生代理可能会由于许多崩溃很容易修复(例如,代理超时)而排名更高。’
作为进一步的实验,GPT-5 Thinking 被提示改进表现最佳的人类代理 Student 1 的代码;但是,现在由 LLM 修改的代理随后跌至第十名,现在是所有人类分数中最差的。相反,LLM 的更改将解决方案降低了近 20%。
作者总结如下:
‘[我们的]结果突出了 LLM 代码生成的重要限制,尤其是其有限的推理和规划能力。现代 LLM 能够提供语法错误免费的代码,但这不是我们应该用来衡量进步的基准。’
结论
作者自己在论文的末尾观察到,振动编码赋予了所有技术背景的人们权力,并将这种做法描述为一种积极的力量,即平衡力量。然而,他们还暗示,由于振动编码刚刚出现,其限制可能比人们实际期望的要高。
他们通过呼吁目标转变为“从编译代码到竞争代码”来结束他们的贡献。
读者可能会问,作者是在“打击”更强的对手还是更弱的对手,因为所讨论的代理任务远比振动编码适合的其他任务(例如生成 PowerShell 脚本和其他形式的次要功能和修复)更复杂和更具参与度。
* 请注意,该论文不断引用 ‘DeepThink R1’,这似乎不存在,只在互联网上出现了少数几个引用(可能是其他作者将其误写为 ‘DeepSeek R1’)。如果这是我的错误,请通过我的个人资料联系我,我将进行更正。
† 作者的强调,而不是我的。
首次发布于 2025 年 11 月 26 日。于 17:35 美东标准时间更改了格式。












