你有没有想过这样一个问题:一个自动驾驶系统在晴天路面上训练得炉火纯青,第一次遇到结冰路面时会发生什么?

它大概率会翻车。不是因为它笨,而是因为它压根没学过&;路滑&;这件事该怎么应对。它学到的是一套针对特定摩擦系数、特定路况的驾驶策略,环境一变,整套策略瞬间失效。

这正是今天要聊的这篇论文想要戳破的一个假象。过去几年,&;自我进化的智能体&;这个概念火得不行,各路研究都在说自己的AI系统能够从经验中学习、越用越聪明。但如果你仔细看这些评测方式,会发现一个共同的漏洞:它们几乎都是在固定的执行环境下测试进步,从来没有认真考察过一件更接近现实的事情,那就是当环境突然变了,之前辛辛苦苦调好的方案还能不能救回来。

来自清华大学和浙江大学的研究团队盯上了这个盲区,做了一件挺有意思的事:他们造了一个物理世界的&;陷阱&;,专门测试AI智能体在原有方案失灵之后,能不能通过反复试错重新造出一个管用的东西。这个基准测试叫PACE-Bench,全名是&;通过代码演化实现物理适应&;,听起来学术,但核心逻辑其实特别朴素,就是给AI一个曾经成功的设计,然后偷偷改变物理规则,看它能不能自己发现问题、自己修好。

结果相当打脸。哪怕是目前最强的通用大模型,在这套测试里的通过率也远远没有达到及格线。这说明什么?说明我们吹了很久的&;自我进化&;,可能远没有想象中那么进化。

为什么&;环境突变后的适应&;是一个被忽视的硬骨头

先说说这个问题到底难在哪里,以及为什么之前的研究都没怎么碰它。

回顾一下之前评测AI自我进化能力的主流思路,大致分成几类。一类是看AI能不能在一连串任务里越做越好,比如StreamBench和LifelongAgentBench这些工作,关注的是长期表现会不会随时间提升。另一类是看AI学到的技能能不能迁移到新任务上,比如SE-Bench、SkillLearnBench,考察的是泛化能力。还有一类允许AI修改自己的提示词、代码或者执行框架,测试这些修改能不能在没见过的环境里也生效。

这些评测方式有一个共同点:它们测的都是&;从零开始&;或者&;从一个任务迁移到另一个任务&;的能力,但没有一个测试过这样一种场景,就是AI已经有了一个成功的方案,然后世界规则变了,它能不能诊断出哪里不对、决定要保留什么、要改掉什么。

这两种能力听起来相似,其实差别很大。

打个比方,你去一个陌生城市旅游,需要重新规划一条路线,这考验的是你能不能利用过去的经验快速上手一个新场景,这是迁移学习式的挑战。但另一种情况是,你已经在某个城市住了十年,闭着眼睛都能开车上班,结果某天你常走的那条路突然封了,改道施工,你必须搞清楚到底是哪段路出了问题,是绕远一点还是彻底换条新路。前者考验的是&;从无到有&;的适应速度,后者考验的是&;发现旧方案哪里坏了,然后精准修复&;的诊断能力。这两种能力,第一种AI研究得不少,第二种几乎是空白。

物理仿真环境天然适合拿来测试第二种能力。

**摩擦力、材料强度、重力这些参数一变,一个原本能用的机械设计可能瞬间失效,但目标和接口完全没变。**

这就好比一辆车在干燥路面上能顺利爬坡,换到结冰路面上立刻打滑趴窝。车还是那辆车,任务还是爬坡,但物理条件变了,之前的驾驶策略必须重新设计,甚至连车辆结构本身都可能需要调整。如果AI只会在固定物理条件下优化方案,那它遇到这种情况会怎样?答案很直接:它会像那辆车一样,继续用旧策略硬冲,然后失败。

研究团队为此设计了一整套涉及六大物理领域、总共144组&;源环境到目标环境&;配对任务,逼迫AI在这种真实的、代价高昂的适应场景里现出原形。

PACE-Bench到底是怎么设计的:一场精心设计的&;物理陷阱&;

理解这个基准测试的设计逻辑,得先弄清楚它的核心结构。

每一个基础任务都对应五个环境,一个是源环境,四个是目标环境(按难度递增,称为阶段一到阶段四)。这五个环境共享同一套任务描述、同一套目标、同一套可调用的接口函数,但物理参数被系统性地改变了,比如摩擦力、材料强度、重力方向等等。

任务的核心机制是这样的:AI首先要在源环境里写出一段能通过验证的Python代码,这段代码定义了如何搭建结构(比如造一座桥)以及如何控制这个结构的行为(比如控制机器人的动作)。这段代码放到沙盒里跑,Box2D物理引擎会给出反馈。

Box2D*:一个被广泛使用的2D物理仿真引擎,很多游戏和强化学习环境都用它来模拟真实世界的碰撞、重力、摩擦等效果。

这套代码在源环境里跑得好好的,一旦扔进目标环境,注定会失败。这个失败不是意外,而是研究团队精心设计的必然结果,用论文里的数学表达来说就是x0属于X0但不属于Xk,翻译成人话就是&;源环境的合格答案,换个环境立刻不合格&;。

AI能拿到什么信息?只有一个叫做统一后缀的通用提示,里面列出了一些&;可能会变化&;的变量名,但绝不会告诉AI具体哪个变量变了、变成了什么值。这个设计很关键,因为它逼着AI必须通过反复提交方案、观察沙盒反馈来自己推理出问题所在,而不能靠死记硬背标准答案。

AI有二十次尝试机会,每次提交一段代码,沙盒会返回三样东西:有多少个硬性约束条件被满足了(比如结构总重量不能超标、结构不能整体坍塌)、当前得分是多少、以及一份诊断报告(比如哪个关节承受的力超过了极限、超了多少、在第几步发生的)。

这个诊断报告的设计其实很讲究,它只告诉AI&;哪里坏了、坏了多少&;,绝不会直接建议&;你应该怎么改&;。

这就好比一个经验丰富的老师傅带徒弟,徒弟拧螺丝拧断了,师傅只会说&;你看这个螺丝断裂的位置在螺纹的第三圈,受力超过了极限值的百分之三十五&;,而不会直接说&;你应该换个更粗的螺丝&;。如果诊断报告直接给出修复建议,那测试的就不再是AI的因果推理能力,而变成了单纯执行指令的能力,这两者是完全不同的智力活动。

为了保证这套基准测试真的有区分度,构建团队还做了大量的质量把关工作。他们用一个相对较弱的模型Qwen3-4B去反复测试每个任务,如果这个模型轻松通过了两次独立运行,说明目标环境还不够难,就调高难度参数,比如把桥梁之间的缺口拉得更宽、把力的限制卡得更严,直到这个较弱的模型在两次独立尝试里都失败为止,同时确保存在一个验证过的参考答案能够真正通过这个更难的环境。

这个过程反复迭代,最终两位有研究生物理或工程背景的作者对全部三十六个任务进行了三轮人工审查,严重问题的比例从第一轮的百分之八十六左右,降到第二轮的百分之十五到二十,第三轮实现零遗留问题。

最终整个基准测试覆盖了一百八十个评测环境(三十六个任务乘以五个环境),总计三万七千八百六十个提示词token,两百七十三条硬性约束,两百九十二种基础操作接口,以及九百四十五处阶段性参数突变。六大物理领域分别是静力学与平衡、运动学与连杆机构、动力学与能量、颗粒与流体交互、控制论与反馈控制、以及一个叫做&;奇异物理&;的类别,专门用来测试在陌生物理规则下的生存能力。

十种自我进化方法大比拼:谁在真正思考,谁在原地打转

有了这套严苛的考场,接下来就是让各路自我进化方法轮番上阵。

研究团队一共测试了十种方法,分成四大流派。第一类是基于上下文的修订方法,代表是Reflexion和Self-Refine,它们的思路是让AI对每次失败进行反思,然后把反思结果放进下一次尝试的提示词里。第二类是记忆增强方法,包括ACE、ExpeL、ReasoningBank,它们会维护一个结构化的经验库,跨越多次尝试甚至跨越不同环境地积累和检索经验。第三类是推理时搜索方法,比如思维树(Tree-of-Thoughts)和CodeEvolve,它们不满足于线性地一次次尝试,而是同时探索多个候选方案,用类似进化算法的方式筛选最优解。第四类是基于参数更新的方法,包括SEAL、RAGEN、TTT-Discover,它们会在测试过程中真的去微调模型的权重参数,而不只是改变提示词内容。

Reflexion*:一种让AI在每次失败后生成简短反思(通常三到八句话),并把这些反思累积起来放进后续提示中的方法,属于&;边做边想边改&;的思路。

ACE*:Agentic Context Engineering的缩写,一种维护结构化&;经验手册&;的方法,手册里记录策略、代码片段和常见错误,并通过一个专门的角色不断筛选和整理这些内容。

结果非常出人意料。表现最好的组合是Reflexion配合Qwen3-14B模型,但即便如此,成功率也只有百分之三十五点九。换句话说,即便是这套最靠谱的方法,也有将近三分之二的任务失败了。

更有意思的是不同方法之间的巨大分化。Reflexion这种基于沙盒真实反馈的反思方法表现最好,但Self-Refine这种不经过外部验证、自己批评自己五次然后才提交的方法,成功率从未超过百分之七点一。

这个对比揭示了一个很朴素但常被忽视的道理:没有外部校验的自我批评,很容易变成自说自话、越改越错。

这就像一个学生做数学题,如果他每次都拿着答案对照检查自己错在哪一步,进步会很快;但如果他闭着眼睛反复检查自己的草稿,觉得&;这里逻辑不对,我再想想&;,却始终不知道正确答案是什么,那他很可能会在错误的方向上越走越远,甚至把原本部分正确的地方也改错了。Self-Refine的问题正在于此,它的内部反思循环缺乏真实世界的锚点,纯靠语言模型自己判断对错,误差会不断累积。

记忆增强方法的表现也很微妙。ACE和ReasoningBank在8B规模的模型上表现优于基础方法,但换到14B规模的更强模型上反而变差了。研究者给出的解释是,这些方法会把评分较高的历史经验反复插入到后续提示里,形成一种&;路径依赖&;,越是强大的模型,越容易被这些早期的、并不完美的经验方案锁死,反而发挥不出自己更强的推理能力。

这个现象特别值得琢磨。

**记忆本该是帮助AI进步的资产,但当它变成了对过去成功经验的过度依赖时,反而成了限制探索的枷锁。**

设想一个厨师,早年靠一道拿手菜打出了名声,从此每次创新菜品都忍不住往那道拿手菜的思路上靠,结果新菜总是带着老菜的影子,无法真正突破。ACE和ReasoningBank某种程度上就是陷入了这种&;经验依赖症&;,越是强调过去成功案例的检索和复用,越是难以在物理规则彻底改变的新环境里彻底推翻旧方案、重新设计。

推理时搜索方法里,思维树在小模型(4B)上表现亮眼,成功率是基础方法的两倍,但优势在更大模型上迅速缩小。CodeEvolve这种进化算法式的方法反而随着模型增大而表现下滑,从百分之十点七掉到百分之五点三。

参数更新类方法整体表现最不理想,三种方法在14B模型上全部低于最基础的方法。

为了更公平地比较这些方法,研究团队还做了一次&;性价比&;分析,把运行时间也纳入考量,计算每小时能获得多少分数增量。结果显示思维树在效率上遥遥领先,在三种模型规模下都排第一,达到每小时四十五点七到五十七点八分。而Self-Refine和参数更新类方法则是又慢又不划算,每小时只有两到三分左右的产出。这个发现提醒我们,&;堆更多计算资源去自我进化&;并不必然带来更好的性价比,有时候一个轻量但方向正确的方法,比一个笨重但方向模糊的方法更划算。

失败的两种典型姿态:钉在原地和漫无目的地乱跑

光看成功率还不够过瘾,研究团队还专门分析了这些AI是怎么失败的,这部分内容读起来特别有意思。

他们设计了一套九类失败类型的分类体系,用一种优先级判定的方式给每次失败的运行贴上标签。最先检查的是硬性失败,比如结构灾难性坍塌、约束条件被违反、结构性破损、数值不稳定(比如出现无穷大或者非数字的计算结果)。如果没有触发这些硬性失败,再看轨迹层面的模式,比如设计固化(反复提交几乎一样的代码)、停滞不前、漫无目的地探索、后期才收敛、以及预算耗尽但仍未成功。

配合这套分类体系,研究团队还计算了每次运行中不同尝试之间代码的雅可比相似度,用来量化AI到底是在原地打转还是真的在做出实质性改动。

结果发现了两种典型的失败姿态,一种叫做设计固化,另一种叫做漫无目的的探索,这两种恰好站在光谱的两端。

先说设计固化。基础方法Vanilla有百分之四十一的失败案例属于这一类,代码之间的全局相似度高达零点七七七,而且随着尝试次数增加,相似度还在持续上升。这说明模型很早就收窄到了一个狭窄的设计空间里,之后就很难跳出来了。

**记忆增强方法在这方面的问题最为突出,ACE的设计固化比例甚至达到百分之四十七点一。**

原因也很直观:ACE会按分数排名检索历史经验,早期一些得分中等的方案会被反复重新插入到后续提示中,形成一个正向反馈的锚定循环。你可以把这想象成一个反复看自己去年高考模拟卷的学生,虽然那次考得还行,但总是拿着那套思路来应付今年的题目,结果发现题型已经彻底变了,自己却始终跳不出那个思维框架。

而漫无目的的探索则是另一个极端。以思维树为代表,它的设计固化比例接近于零,只有百分之零点三,但停滞比例却高达百分之五十点二,说明它虽然在广泛探索不同方案,但始终没能在二十次尝试之内收敛到一个真正管用的解法。CodeEvolve正好相反,它的设计固化比例最高,达到百分之六十六点三,探索比例为零,说明这个进化算法生成的变异版本和被选中的父本代码过于相似,种群还没来得及分化就提前僵化了。

这两种失败模式其实反映了一个更深层的矛盾,就是探索和利用之间的永恒张力。

太保守,会被早期的局部最优解困住,永远找不到真正合适的方案,就像一个人反复用同一把不太合适的锁去开不同的门;太激进,则会陷入无休止的漫游,永远没有一个方向去深挖,就像一个人在超市里逛来逛去却总是拿不定主意要买什么,最后什么都没买成就到了关门时间。真正有效的方法应该是既能在获得反馈后果断调整方向,又不会在每次调整时把之前积累的有效信息全部推翻重来。

论文还做了一个很扎实的补充实验,直接测试如果不让AI从已有方案开始适应,而是让它在每一个环境(包括源环境和四个目标环境)都从零开始设计一个方案,结果会怎样。答案是即便从零开始,通过率依然很低,只有百分之十一点三到百分之十八点三,而且源环境的成功率(百分之三十二点三)远高于目标环境(百分之六点四到十三点四)。

这个对照实验证明了一件重要的事情:论文设计的这些&;物理突变&;确实制造出了实质性的困难,而不是靠某种取巧的技巧人为造出了一堆没有意义的&;不可能任务&;。

揭晓关键真相的两个反转实验

到这里,其实还有一个更有意思的问题没有回答:AI到底是不知道物理规则变了,还是知道了也改不出方案?

这个问题看似只是个学术上的细分,但答案会直接决定未来该往哪个方向去改进AI。研究团队为此专门设计了一个信息揭示实验,把默认的&;隐藏变化&;设置,改成&;明确暴露&;设置,也就是直接告诉AI具体哪个参数变了、变成了什么数值。

如果AI表现能因此大幅提升,说明瓶颈在于诊断能力,AI缺的是&;知道发生了什么&;这种信息;如果表现没有明显改善,说明瓶颈在于设计能力,AI缺的是&;知道该怎么重新设计&;这种手艺。

结果出人意料。在4B这种较小的模型上,暴露真相确实带来了明显提升,最多提升八点四个百分点。但在8B和14B这两个更大的模型上,六组对比中有五组的变化幅度都在正负五个百分点以内,甚至Vanilla方法在14B模型上反而下降了七点二个百分点。

**更关键的一点是:即便在暴露真相的情况下,表现最好的成绩(Reflexion加14B模型,百分之十四点六)依然低于隐藏真相时表现最好的成绩(Reflexion加8B模型,百分之十七点九)。**

这个反转很扎心。它说明知道&;哪个参数变了、变成了多少&;根本不是核心瓶颈,真正卡住AI的是它就算知道了病因,也不知道怎么开药方,也就是不知道该怎么重新设计一套机械结构去应对这个新的物理条件。

这就好比一个新手医生,你直接把化验单结果告诉他,说&;血糖偏高,超标了百分之三十&;,但如果他压根不知道该怎么调整治疗方案,光靠一份准确的化验单也救不了病人。真正难的从来不是诊断,而是根据诊断结果设计出有效的治疗方案。

这个发现直指论文的核心论断:机制重新设计(也就是&;知道怎么做&;)远比参数推断(也就是&;知道是什么&;)更难,而这才是当前AI自我进化方法的真正瓶颈。

另一个有意思的补充实验是引入视觉反馈。研究团队用一个视觉语言模型(叫Gemma4-26B-A4B)观看候选方案在Box2D里执行的视频,生成自然语言描述的失败情况,把这种描述作为额外的反馈叠加到原本纯文本的反馈上。

VLM*:Vision Language Model的缩写,指能够同时理解图像或视频内容并用自然语言生成描述的模型。

结果同样呈现出方法流派上的分化。在小模型(4B)上,加入视频反馈整体有帮助。但在更大模型上,效果开始出现两极分化:基于上下文的修订方法(Vanilla和Reflexion)表现变差了,而记忆增强方法(ACE和ExpeL)反而变好了。研究者推测,视频反馈可能会打乱本来就聚焦的推理链条,让本来专注思考的模型分心去关注一些次要细节;但对于那些容易陷入陈旧记忆锚定的方法来说,新鲜的视觉证据反而能帮助打破那种路径依赖。

这个对照结果再一次印证了一个反直觉的道理:多给信息不一定总是好事,信息对不同方法产生的效果,取决于这个方法原本卡在哪个环节。

写在后面

读完这篇论文,最触动我的其实不是任何一个具体的数字,而是那个信息揭示实验的反转结果。

我们通常会本能地觉得,AI表现不好是因为它&;不知道发生了什么&;,只要把答案摆在眼前,它就该能顺利解决问题。但PACE-Bench用一组硬邦邦的实验数据告诉我们,事情根本不是这样。哪怕直接把变化的参数和数值都摆在AI面前,它照样解不出题,因为真正的瓶颈从来不是信息获取,而是把信息转化为一个可执行方案的那种&;手艺活&;。

这让我联想到教育领域里一个老生常谈的争论:填鸭式的知识灌输和真正的问题解决能力培养,到底哪个更重要。这篇论文其实用一种物理仿真的方式重演了这个争论,而且给出了一个明确的偏向。知道所有的事实,不等于会解决问题。

论文里另一个值得单独说一说的细节,是记忆增强方法在小模型上帮忙、在大模型上添乱这件事。这提醒我,很多&;看起来通用&;的技术设计,其效果其实高度依赖于被增强的对象本身的能力水平,一个对弱模型有效的拐杖,对强模型反而可能变成绊脚石。

这篇论文还留下一个没有解决的问题:如果机制重新设计才是真正的瓶颈,那到底该怎么去训练或者提示一个AI,让它真正学会这种&;重新设计&;的能力,而不只是在既有设计空间里小修小补?这个问题的答案,可能才是下一篇论文真正该回答的东西。

Q&A

Q1:PACE-Bench是什么?

A:PACE-Bench是清华大学和浙江大学团队开发的一个物理仿真基准测试,专门用来评估AI智能体在物理环境突然改变后,能否自主诊断问题并重新设计出可行方案的能力,覆盖六大物理领域共144组环境适配任务。

Q2:为什么说自我进化AI在这个测试里表现不好?

A:即便是表现最好的组合(Reflexion方法加Qwen3-14B模型),成功率也只有35.9%,而更强的GPT-5.5模型在静力学子集上二十次尝试后也只有66.7%的通过率,说明当前的自我进化方法距离真正靠谱还差得很远。

Q3:告诉AI具体哪个物理参数变了,能帮它解决问题吗?

A:效果非常有限。实验显示即便明确暴露变化的参数和数值,AI表现最好的成绩依然低于隐藏信息时的最佳表现,说明真正的瓶颈不是&;知道发生了什么&;,而是&;知道该怎么重新设计方案&;,也就是机制重新设计能力才是核心难题。