你有没有想过这样一个问题:一个读过全世界网页、书籍和代码的AI模型,当它被派去网上买东西、填表格、查资料的时候,为什么还会犯一些很蠢的错误?
比如明明知道"下单"意味着交易结束,却在该返回购物车改选规格的时候,手一抖点了下单。这不是知识不够,这更像是一个很懂道理却总在关键时刻掉链子的人。
这篇论文想解决的,正是这个让人困惑的现象。
**AI到底是不懂,还是懂了没用上**
先说说这个领域现在卡在哪儿。
当前让AI做多步决策任务,比较主流的思路是训练一个"世界模型"。
世界模型:一种让AI预测动作后果的机制,比如告诉它"如果你点下单,购物车就会清空,订单会生成"。
这个思路听起来很合理,人类做决定前也会在脑子里过一遍"如果我这样做,接下来会发生什么"。但问题是,训练这样一个预测模块代价不小,而且更麻烦的是,预测结果一旦有偏差,这个偏差会在后续决策中越滚越大。打个比方,这就像传话游戏,第一个人说错一个字,传到第十个人耳朵里可能完全变了意思。预测的误差也是这样一步步累积,到最后规划阶段可能已经完全偏离了实际情况。
但论文作者抛出了一个很关键的质疑:AI agent大多在网页、搜索引擎这类数字环境里活动,而这些环境的运行规则,恰恰是预训练阶段AI已经吃进肚子里的东西。换句话说,模型可能根本不需要重新学一遍"点下单会怎样",它在预训练时读过无数购物网站的描述、用户评论、操作手册,这些知识早就在参数里了。
真正的问题不是"AI不知道",而是"AI知道,但做决策的时候没有把这个知识调出来用"。
这就把整个问题的性质给翻转了:从"怎么让AI学会世界运行的规律",变成了"怎么让AI在做选择的时候,真的去调用它已经学会的东西"。
**单一目标监督,正在悄悄培养一个"看脸办事"的AI**
那为什么现在的训练方式没能把这个知识用起来?
论文给出的解释很值得琢磨。常规的训练方式是,给AI一个场景,告诉它正确动作是什么,让它去模仿。问题在于,每个训练场景往往只配一个目标。
举个例子,训练数据里结账页面总是配着"买下单"这个目标,于是AI学到的规律很可能只是"看到结账页面就点下单",根本不需要理解"下单"这个动作到底意味着什么,更不需要去想这个页面对不同目标意味着什么。
这就好比一个新员工入职,老板只教他"客户问A,你就回答B",他照着背下来就能应付大部分场合,考核也能过关。可一旦客户换了个问法,或者场景稍微变了样,这个员工就懵了,因为他从来没真正理解过业务逻辑,只是记住了一套固定的应答模板。如果不改变训练方式,这种死记硬背式的"场景-动作"对应关系会一直存在,模型在训练环境里表现得很好,换个陌生环境立刻露馅。
这就是论文反复强调的"情境习惯"问题。
模型学到的不是"下单这个动作会清空购物车、完成交易"这个具体知识,而是"结账页面就该点下单"这个表面规律。这两者在训练数据里几乎总是绑定在一起,所以单靠模仿学习,模型分不清自己到底学到了哪一种。
**让同一个场景,面对不同目标说出不同答案**
论文提出的解决方案叫EVOKE。
EVOKE:一种让AI模型在训练中接触同一场景但不同目标的方法,目的是逼迫模型真正理解动作的后果,而不是死记硬背场景对应的固定答案。
EVOKE的核心操作其实很简洁:固定住环境状态和历史记录不变,只改变目标,然后让AI对同一组候选动作重新排序。
还是用购物车的例子。假设AI站在结账页面,手头的候选动作是"下单"和"返回购物车"。如果目标是"现在就买",正确答案显然是下单;但如果目标是"我想改一下规格",正确答案就变成返回购物车。场景、历史、候选动作全都一样,唯一变化的是目标,但正确答案却彻底反转了。
这个设计的精妙之处在于,它从根本上堵死了"靠情境记忆蒙对答案"这条路。
如果一个模型只会死记硬背场景对应的习惯动作,它面对这种反转情况必然翻车,因为同一个场景在两个目标下给出相反的正确答案,记忆规律根本不管用。唯一能让模型答对的方式,是真正理解"下单"这个动作本身会导致什么后果,"返回购物车"这个动作又会导致什么后果,再结合当前目标去判断哪个后果更合适。
这就逼着模型把藏在参数深处的世界知识,真正用在当下的决策上。
论文作者引用了一个理论支撑这个设计思路,大意是说,一个能在足够丰富多样的目标下都表现出色的智能体,必然在内部编码了一个可以从它的行为偏好中还原出来的世界模型。换句话说,如果你想验证一个模型是不是真懂因果规律,最直接的办法就是不断变换目标去考它,看它是不是每次都能给出符合当前目标的正确反应。
这里要特别说明一下,EVOKE并不是让模型去预测"如果我点下单会发生什么"这种假设性结果,而是让AI标注员先真实执行每个候选动作,记录下真实发生的后果,再根据目标判断这个动作到底是帮助了还是阻碍了目标达成。
AI标注员:在EVOKE训练流程中负责提出候选目标并评判动作结果的模型组件,它看到的是动作执行后真实发生的情况,而不是预测结果。
这个设计避免了"预测错误累积"的老问题,因为标注信号来自真实执行的结果,不是模型自己猜出来的虚构后果。
**专挑模型最容易犯的错,逼它改掉坏习惯**
光靠展示正确答案还不够,EVOKE还做了一件更狠的事:专门挑出模型自己最想选、但其实是错的那个动作,当作训练里的"硬负例"。
硬负例:训练数据中专门选出来、模型自己倾向于选择但实际是错误答案的候选项,用来强化纠正模型的错误倾向。
论文举了个例子,手里拿着一个脏杯子,目标是把干净的杯子放到桌上。这时候模型很可能的第一反应是"直接把手里的杯子放桌上",但这恰恰是错的,因为杯子是脏的,正确做法应该是先去水槽清洗。EVOKE就是要专门把这种"模型自己最容易上钻的坑"摆出来,告诉它这条路不通。
这就像教孩子写作业,不是简单给他看一份标准答案,而是把他之前写错的那道题单独拎出来,告诉他"你这里犯的错误很典型,下次遇到类似情况要特别小心"。单纯看正确答案,孩子可能只是记住了这一道题的答案,但看到自己的错误被精准指出来,他才会去反思自己的思路哪里出了问题。如果没有这种针对性的纠错,模型可能只是在正例周围打转,却从没真正意识到自己最容易踩的坑在哪里。
训练过程中,EVOKE还采用了一种叫做对比排序的学习方式,而不是简单的模仿学习。
对比排序:一种训练方法,让模型学会把正确答案的得分排在错误答案之上,而不是单纯模仿去生成正确答案。
这个损失函数设计分成两部分,一部分叫列表式损失,负责把所有正确答案作为一个整体,提高它们的综合得分;另一部分叫成对式损失,负责把每一个正确答案和每一个错误答案单独比较,强行拉开两者的分数差距。两部分加权组合在一起,共同塑造模型的决策偏好。
论文还提到,整个训练过程会反复迭代,这个思路借用了一种叫DAgger的经典方法。
DAgger:一种模仿学习中常用的数据聚合技术,核心思想是让当前策略不断去探索新状态,再把这些新状态补充进训练数据,循环往复地提升策略质量。
每一轮迭代,更新后的模型会去探索新的场景,犯下新的错误,这些新错误又会被收集起来,变成下一轮训练的硬负例。这样做的好处是,训练数据始终紧跟着模型当下真实会犯的错误,而不是针对一个已经过时的、模型早就不会犯的老问题反复练习。
**三个任务,三种骨干模型,全面碾压**
说完方法,看看效果到底怎么样。
论文在三类典型任务上做了测试:家居任务模拟环境ALFWorld,电商购物环境WebShop,还有需要多轮检索的问答任务。测试覆盖了三种不同规模的模型骨架,从十几亿参数到70亿参数都有。
在ALFWorld的未见过的新环境里,EVOKE在70亿参数模型上拿到93.1%的平均成功率,远超当时最强的对比方法。更夸张的是在十几亿参数这种小模型上,EVOKE把成功率从24.8%左右的基线提升到了84.6%,提升幅度相当惊人。
这里有个细节值得单独说一说。论文做了一个"知识探针"实验,用线性探针去检测模型内部的隐藏状态,看它是否已经编码了动作后果的信息,比如"这个动作执行后,物体是不是变干净了、变热了"。结果显示,即便是完全没经过任何ALFWorld训练的原始模型,这些信息的解码准确率已经接近满分。
这个发现把整篇论文最核心的论点给证实了:知识早就在那儿了,模型压根不缺这部分认知。真正缺的是那个把知识转化为具体决策的"调用习惯"。而未经EVOKE训练的基础策略模型,虽然内部知识同样完备,实际任务成功率却只有60.4%。
这就像一个博览群书的人,脑子里装满了各种道理,却在真正需要用到这些道理的关键时刻,习惯性地按照老套路反应,根本没想起去调用脑子里那些现成的知识。知识的存在和知识的使用,是两件完全不同的事。
论文还专门设计了一个"目标对决"测试,构造了812组特殊场景,每组场景的状态、历史、可选动作完全一样,只有目标不同,而且两个目标要求的正确动作是完全不重叠的。结果显示,没经过训练的基础模型只能答对19.5%的场景组,而且一半以上的错误都是"习惯性错误",也就是选了另一个目标才对的答案。经过EVOKE训练之后,这个习惯性错误率压到了6.4%,比单纯模仿学习的方法还要低4.3个百分点。
这组数据相当有说服力地证明了,EVOKE确实让模型从"看场景选答案"转向了"看目标选答案",这正是论文想要达成的核心效果。
**走弯路,还是走直路**
还有一组实验专门考察了执行效率,而不只是最终成功率。
毕竟如果给模型足够多的尝试次数,哪怕瞎试也可能最后撞上正确答案,这不能算真正学会了决策。论文发现,EVOKE训练出的模型能在20步以内解决91%的未见环境任务,而其他对比方法最多只能做到80.6%。
更关键的是,在那些所有方法都能解决的任务上,EVOKE依然用更少的步数完成了任务,犯的无效动作错误只有对比方法的一半不到,重复走回头路的次数也只有三分之一左右。
这说明EVOKE学到的不是"更能坚持试错",而是真正"更会做选择"。两者的区别就像考试,一个学生靠多蒙几次选择题答案蒙对了,另一个学生是真正理解了题目逻辑一次性选对,表面分数可能一样,但背后的能力完全不是一个层次。
**数据越少,优势越明显**
论文还做了一个数据效率的对比实验,把训练数据切成20%、40%、60%、80%、100%五档,分别用EVOKE的排序方法和普通模仿学习方法来训练。
结果显示,EVOKE只用60%的数据,效果就已经超过了普通方法用上全部数据训练出来的结果。这意味着排序学习这种方式,能从每一条标注数据里榨取出更多信息量,而不是简单地堆数据量去填补模型能力的不足。
论文作者还做了一轮消去实验,专门验证到底是"目标多样性"还是"排序学习"这两个因素中的哪一个在起主要作用。结果发现两者都有贡献,但如果去掉目标多样性,只保留单一目标但用排序学习,未见环境成功率会从91.8%掉到82.8%,掉了9个百分点。而如果保留目标多样性但换成普通模仿学习,未见环境成功率是84.3%,比EVOKE低了7.5个百分点。两个因素叠加在一起才能发挥出完整效果,单独拿掉任何一个都会打折扣。
写在后面
读到知识探针那组实验的时候,我其实有点愣住了。
一直以来大家讨论AI agent的能力瓶颈,默认的叙事都是"知识不够全、不够准、需要再学习",这篇论文给出的证据直接挑战了这个默认假设,至少在数字环境里,知识可能根本不是瓶颈,调用方式才是。
这让我联想到人类认知科学里一个很古老的话题,知道和做到之间的鸿沟。很多人知道该怎么健身、该怎么理财、该怎么管理情绪,但知道这件事本身,离真正做出来还差着一整个执行系统的距离。EVOKE这篇论文其实是在给AI agent补上这段"知道到做到"的执行系统,而不是给它灌更多知识。
还有一个细节我觉得挺值得玩味,论文里反复提到的"习惯性错误"这个概念,本质上揭示了一个更普遍的训练陷阱:只要训练信号足够单一、重复,模型就会倾向于走捷径记住表面规律,而不是深挖背后的因果逻辑。这跟人类学习中"应试思维"带来的问题几乎如出一辙,只刷一种题型,考试换个花样就答不上来。
这篇论文没有解决的问题是,当任务变得更复杂、目标之间的关系更微妙的时候,这种"固定场景换目标"的监督方式是否还能持续有效。如果一个任务需要同时平衡五六个相互冲突的子目标,EVOKE这套排序逼问的办法还顶得住吗?这个问题我没有答案,但确实想知道。
Q&A
Q1:EVOKE是什么?
A:EVOKE是一种让AI agent训练时在同一场景下接触不同目标的方法,通过强迫模型对同一组候选动作在不同目标下重新排序,逼它调用预训练阶段就已经掌握的世界知识,而不是靠死记硬背场景对应的固定动作。
Q2:EVOKE和世界模型方法有什么区别?
A:世界模型方法训练AI去预测动作的未来后果,成本高且误差会累积;EVOKE不做预测,而是让AI标注员真实执行候选动作、记录真实后果,再据此排序,模型学会的是如何调用已有知识做决策,不需要额外的预测模块。
Q3:EVOKE的效果在实际测试中如何?
A:EVOKE在家居任务、网页购物、多轮问答三类任务上,覆盖三种不同规模模型,均取得最佳表现,尤其在未见过的新环境里优势明显,十几亿参数小模型上成功率从约25%提升到84.6%,70亿参数模型未见环境达到93.1%。







