Allen Institute for AI等揭示智能体脚手架自动优化的评估陷阱

Allen Institute for AI等揭示智能体脚手架自动优化的评估陷阱 这项由Allen Institute for AI、华盛顿大学联合发起的研究以预印本形式于2026年7月14日发布在arXiv平台编号为arXiv:2607.12227v1。研究团队来自人工智能领域的多个顶尖机构对当前AI智能体研究中一个被普遍忽视却至关重要的问题提出了质疑与反思。**给AI装备一套趁手的工作台**假设你是一家工厂的工人手头的工作效率高不高不只取决于你有多聪明更取决于你面前这张工作台有多好用——工具摆放是否顺手操作手册是否清晰流水线是否顺畅。AI大语言模型LLM在完成复杂任务时面临的情形与此几乎一模一样。研究人员把这张工作台叫做**harness**可以译为脚手架或工作框架。它涵盖了AI在执行任务时所依赖的一切外围配置给AI看的提示词、AI可以调用的工具、AI用来记录状态的记忆模块、用来验证结果对不对的检验流程以及控制整个任务流程的逻辑规则。换句话说harness就是AI智能体agent和外部世界之间的翻译层与操作界面。以往的研究已经表明哪怕AI模型本身不变仅仅改变这套工作框架AI的表现就可以有显著差异。正因如此如何设计出更好的harness成为了一个热门研究方向。然而手工打磨harness费时费力每次都需要开发人员反复查看AI的操作轨迹、找出失败原因、然后修改框架。于是研究者们开始尝试让AI自己来优化自己的工作台这就是所谓的**自动harness进化automatic harness evolution**。近年来已有多个研究团队发表了自动harness进化方法并声称在标准评测集上取得了亮眼的成绩。但Allen Institute for AI等机构的研究团队却发现这些成绩背后藏着两个根本性的漏洞让所有看起来令人振奋的进步都变得可疑起来。**漏洞一你在和自己的倒影比赛**自动harness进化的基本流程是这样的先让AI用当前的工作框架去尝试完成一批任务收集失败案例和成功经验然后让另一个元AImeta agent分析这些经验提出对工作框架的修改建议再用修改后的框架重新尝试任务如此循环往复。最终选出表现最好的那套框架在同一批评测任务上汇报成绩。问题就出在这里。自动harness进化本质上是一个**反复搜索和试错的过程**它在评测任务上用了大量的额外计算资源——多次运行、多次分析、多次修改。那么这个过程取得的成绩提升究竟是因为工作框架真的变得更好了还是仅仅因为多试了好多次这就好比一个学生参加考试正常考法是每道题做一遍交卷。但如果允许他反复尝试、每次失败后都能看到答案并修改最终成绩当然会更高——但这能说明他真的学会了吗公平的比较应该是给另一个学生同样多的重试机会看看他能不能也达到同样的分数而不需要修改做题方式。研究团队把这种反复重试的策略叫做**测试时扩展test-time scaling**包括两种最简单的形式一种是**并行采样parallel sampling**即同时让AI尝试同一道题很多遍最后选最好的一个另一种是**顺序精炼sequential refinement**即让AI在看到自己上一次的尝试后再做一次修改和改进。这两种方法都没有改动工作框架本身只是给AI更多机会去尝试。**漏洞二在自己的考卷上练题**第二个漏洞更直接绝大多数现有研究在搜索最优工作框架时使用的任务和最终报告成绩时评测的任务**是同一批任务**。这就像一位老师把期末考试题提前给了学生练习然后正式考试时再考同样的题声称学生成绩大幅提升学习方法有效。这种提升很可能只是记住了这批特定题目的答案换一套新题可能完全不管用。在机器学习领域这个现象有个专有名词叫做**过拟合overfitting**通俗说就是死记硬背不懂举一反三。正是基于这两个根本性的问题研究团队决定做一次彻底的重新评估在公平的条件下自动harness进化到底有没有用**四种方法进行公平擂台赛**为了做出公平比较研究团队设计了一套统一的预算框架明确规定每种方法能使用多少计算资源、能获得哪些反馈信号。他们把四种方法放在同一个擂台上较量。第一种是并行采样用固定不变的工作框架针对同一个任务同时生成多条解答路径最后从中挑选最好的一条。工作框架自始至终一个字都不改所有投入都花在多试几次上。第二种是顺序精炼同样保持工作框架不变但让AI看到自己上一次的尝试结果后再产出改进版的答案。每次尝试都站在前一次的肩膀上但肩膀本身工作框架没有变。第三种是harness进化即被质疑的主角让AI分析一批任务上的失败经验由元AI提出对整个工作框架的修改方案修改后的框架会被复用到所有任务上。这是跨任务共享的框架优化。第四种是研究团队自己提出的新基准方法叫做**harness扩展harness scaling**这个方法的思路是把修改工作框架这件事也下沉到单个任务的层面——针对每一道具体任务让元AI根据这个任务的失败经验来修改框架修改后的框架专门为这个任务服务不跨任务共享。这个方法介于改工作框架和多试几次之间是一个有趣的中间地带。实验在**Terminal-Bench 2.1**这个评测集上展开。Terminal-Bench是一个专门测试AI智能体在命令行界面完成真实复杂任务能力的基准2.1版本修复了前一版本中28个存在外部依赖漂移、资源预算错误、指令与测试不一致等问题的任务共保留89个终端任务。参与测试的模型包括三个当前最前沿的大语言模型Claude Opus 4.6、GPT-5.4和GPT-5.4 mini。每种方法的计算预算统一设定为K5轮每轮对每个任务采样一条轨迹确保所有方法消耗的计算量可以直接比较。**没有测试用例时简单的多试几次完胜**第一场比较在没有单元测试用例unit test cases的条件下进行。所谓单元测试用例就是可以自动判断AI的解答对不对的验证程序。当没有这种程序时AI只能依靠自己评估自己的答案好不好相当于闭卷自批。结果出乎很多人的预料。以初始工作框架的直接采样为基线平均得分为68.2分。并行采样把平均分提高到72.3分在三个模型上全都有所提升是最稳定的方法。顺序精炼的提升非常有限平均只提高了1.1分而且在GPT-5.4上甚至比直接采样还差了一点点。harness进化呢平均分跌到了67.4分不仅没有超过最简单的并行采样甚至低于什么都不做的直接采样基线。最糟糕的情况出现在GPT-5.4上得分从75.3分直线跌落到69.7分说明在没有可靠外部信号的情况下AI自己判断自己的框架改得好不好很容易越改越糟。harness扩展针对单个任务修改框架的表现介于中间平均得71.8分在Claude Opus 4.6上表现最好但整体仍然不如并行采样。这个结果传达了一个重要信号当没有外部的标准答案可以验证时AI自我修改工作框架的过程本质上是一种有噪声的猜测游戏猜错了会积累错误。相比之下单纯让AI多试几条不同路径反而更保险。**有了测试用例harness进化依然落后**第二场比较引入了单元测试用例——AI现在可以知道自己的解答到底对不对了。这相当于给学生发了一本答案书可以边做边对答案。按理说有了这个可靠的反馈信号harness进化应该能更准确地找到框架的问题所在表现应该大幅提升才对。然而实验结果依然令人意外。研究团队同时报告了两个指标pass1在单次尝试中成功解决任务的比例和pass5在5次尝试中至少有一次成功的比例。在pass1指标上harness进化的平均分为75.8仅比直接采样的72.9提高了不到3分而并行采样直接达到了86.0分。顺序精炼的pass1也达到84.3分明显优于harness进化。harness扩展平均82.6分同样超过了harness进化。在pass5指标上顺序精炼以平均91.8分稳居第一harness进化只有86.2分harness扩展89.3分。研究团队在分析这些数据时提出了一个犀利的观察如果harness进化真的产出了更好的工作框架那么它的优势应该首先体现在pass1上——因为一个更好的框架应该让AI在单次尝试中就能解决更多问题。但实际上harness进化在pass1上几乎没有优势它在pass5上勉强追平甚至落后说明它的收益几乎全部来自多次尝试这件事本身而不是框架真的变好了。**换一批新题进化成果几乎烟消云散**第三场比较是最能说明问题的一场。研究团队把Terminal-Bench 2.1的89个任务分成三组45个用于训练让harness进化在上面迭代优化10个用于验证从中选出表现最好的框架34个用于测试完全没见过的新任务用来汇报最终成绩。这个设计的意义在于如果harness进化真的找到了普遍适用的更好框架设计原则那么在新任务上也应该有所提升。但如果它只是记住了训练任务的特定模式新任务上就不会有什么收获。结果非常清楚。以初始框架在测试集上的直接采样为基线Claude Opus 4.6得63.3分GPT-5.4得72.1分平均67.7分。经过在训练集上完整进化、在验证集上选出最优框架之后Claude Opus 4.6提升到64.5分仅1.2分GPT-5.4分毫未动仍是72.1分0.0分平均只提升了0.6分。0.6分的提升在统计意义上几乎可以忽略不计。这与harness进化在训练集上即它被优化的那批任务上展示出来的收益形成了天壤之别清楚地表明当前的harness进化算法学到的是如何应对那几十道特定的训练题而不是如何成为一个更好的AI工作框架。**进化了什么又没能进化什么**为了更好地理解为何进化效果有限研究团队仔细分析了元AI在每次迭代中究竟做了哪些修改以及这些修改为何没能产生预期的效果。harness进化模式下元AI的第一步几乎总是改提示词在系统提示中加入行为规则比如要尽早产出结果注意资源预算、在修改重要文件之前先备份、完成任务前再次核查要求。当这些语言层面的提醒逐渐失去效果时元AI会升级到更强力的手段比如添加中间件middleware——在AI完成任务的过程中插入监控程序追踪还剩多少轮次、截断过长的工具输出、在AI宣布完成之前检查必要的文件是否已经产出。工具层面也有修改比如纠正误导性的工具使用说明在命令执行时注入错误恢复提示。harness扩展模式下元AI的主要做法是把上一次失败中发现的具体知识直接写进下一次的提示词或记忆模块。比如记录某个特定任务中已知的bug、正确的实现模板、需要检查的文件路径、推荐的命令序列。很多修改集中在提升效率上把反复查询和探索性命令替换成更紧凑的命令计划跳过不必要的环境检测为慢速的包安装命令设置更长的超时时间以及给出明确的消息轮次预算来规范工作流程。另一类常见修改是强化验证行为让AI在最终提交前自己先做一遍类似于官方测试的检查。这些修改听起来都很合理也都指向了真实存在的问题。然而研究团队发现了一个根本性的局限这些修改大多数是在**记忆具体的解法**而不是在**提炼通用的策略**。换句话说AI在优化框架时做的事更像是记笔记而不是总结规律。一个有能力的AI智能体在正常的单次执行过程中本来也能自己探索出这些具体知识所以把它们写进框架里只是节省了一点重复探索的时间并不能让AI真正解决它原本解决不了的问题。那些真正难的任务——那些需要深度领域推理、或者受到工作框架之外的条件约束的任务——在所有的优化轮次中依然岿然不动没有被任何框架修改所攻克。与此同时随着框架里塞入越来越多的记忆内容提示词越来越长反而可能引入新的干扰抵消掉已经取得的那点微薄收益。**为什么Terminal-Bench可能天生就不适合测试这件事**研究团队还提出了一个更宏观的反思即便撇开评估方法的问题Terminal-Bench本身可能就不是一个能够充分体现harness设计价值的评测场景。这个基准测试中的任务以命令行操作为主一套只有基础bash工具加简单提示词的最小化框架对大多数可解的任务来说已经够用了。AI能不能解决这道题主要取决于它自身的推理能力而不是工作框架配置得有多精妙。在这种情况下修改提示词、工具设置或中间件自然只能带来边际收益。真正能体现harness设计价值的场景应该满足两个条件任务足够难让AI有足够大的提升空间同时任务的成败对框架设计非常敏感比如需要调用特定的专业工具、执行特定的技能或遵循特定的工作流程才能成功。在这样的场景下一个更好的框架能够真正打开AI原本解决不了的问题的大门。**这项研究告诉我们什么**说到底这项研究做的事情有点像是一个质量检查员它没有发明新技术而是站出来说等等我们现在评价这些技术的方式是有问题的。这个发现的意义并不在于证明自动harness进化这个方向走不通而在于指出现有的评估方式存在系统性漏洞使得那些看起来令人振奋的进步数字无法被可靠地信任。研究者们在相信一项技术之前需要回答更基础的问题这个技术真的比多试几次更有价值吗它学到的改进在换了一批新任务之后还管用吗对于AI领域之外的普通人来说这项研究的提示同样有现实意义。当你看到某种AI优化技术声称性能提升X%时值得追问的是这个提升是在什么条件下测出来的和哪些对手比较换个场景还管用吗一项技术在精心设计的测试场景上看起来很好不代表它真的解决了问题。当然这并不意味着harness进化这条路是死路一条。研究团队明确指出未来的工作应该在任务难度更高、对框架设计更敏感的新基准上重新评估这类方法并且在评估时严格区分用来优化框架的任务和用来评测最终效果的任务同时始终将多试几次这个最简单的基线纳入比较。有兴趣深入了解这项研究细节的读者可以通过arXiv编号2607.12227查找完整论文。QAQ1自动harness进化和普通的多试几次有什么本质区别A自动harness进化的目标是修改AI的整个工作框架包括提示词、工具配置、中间件等让框架本身变得更好产出一个可以复用的通用改进。而多试几次即测试时扩展只是在不改框架的前提下给AI更多机会去尝试同一个任务。这项研究发现在公平的计算预算对比下harness进化带来的收益大多可以用多试几次来解释框架本身并没有变得真正更好尤其是在面对新任务时几乎没有泛化能力。Q2Terminal-Bench 2.1是什么样的评测集ATerminal-Bench 2.1是一个专门测试AI智能体在命令行界面完成复杂真实任务能力的基准测试集共89个任务。它是对之前版本的修复和改进修正了28个存在外部依赖问题、资源预算错误或指令与测试不匹配的任务使评测结果更加准确可靠。这项研究使用它配合Claude Opus 4.6、GPT-5.4和GPT-5.4 mini三个前沿模型进行实验。Q3harness进化为什么在训练任务上表现好换新任务就失效A研究发现harness进化过程中元AI做的修改大多是把特定任务的具体解法记录进框架比如某个任务的正确命令顺序、已知的bug修复方式等。这些记忆对训练时见过的任务有帮助但不是通用规律换了新任务就没有参考价值了。真正难解决的任务根源在于模型自身的推理能力不足而不是框架设计问题框架修改对此无能为力。