你有没有过这种体验:开车走熟路的时候脑子基本是空的,手脚自己就动了,可一旦前面突然堵车或者导航显示绕路,你就会突然"清醒"过来,开始认真思考该怎么办。
这篇论文的作者就是从这种感觉出发的。他是个老玩家,玩《毁灭战士》(Doom)这种第一人称射击游戏的时候发现,顺的时候脑子是"关掉"的,纯粹靠反应打;但一旦卡住了,比如一扇门打不开,或者一个敌人怎么打都打不死,脑子里就会突然冒出"内心独白",开始琢磨对策,而且往往就是这个"想一想"的动作,让游戏重新推进下去。
这其实是认知科学里一个很老的话题,叫双系统理论,也就是常说的"系统一,系统二":系统一快、不费脑子,系统二慢、费脑子但管用。心理学家丹尼尔·卡尼曼在《思考,快与慢》里把这套说法讲得很清楚。但卡尼曼讨论的是人脑,这篇论文要问的是:**如果让AI也这样切换,会发生什么?**
这件事放在AI agent(智能体)的设计上,变成了一个很具体的工程问题:你有一个跑得很快但偶尔会犯傻的"快系统",还有一个想得很慢但更靠谱的"慢系统"(通常是个大语言模型),什么时候该把方向盘交给慢系统?交多久?交的时候游戏是暂停等它想,还是继续往前跑?
这篇论文就是在搞清楚这几个问题,而且是在一个会"不等人"的实时环境里,也就是Doom游戏本身。
**核心的难题是什么**
先说说过去的研究都是怎么处理"快慢切换"的。
在那种一步一步来、系统会乖乖等你的"回合制"场景里,比如很多文字类任务型AI,研究者们已经试过不少办法。SwiftSage这个系统会在遇到"没拿到奖励"或者"做了无效动作"的时候触发慢思考;CogniWeb给网页浏览agent设计了类似的"卡住"检测;还有一批工作干脆每一步都让AI自己决定该用多深的推理,比如FAST、Talker-Reasoner这些框架。
机器人领域的做法也类似,比如Inner Monologue和DoReMi这两个系统,都是靠执行反馈或者视觉检测器发现"任务失败了",然后触发重新规划。
但这些场景有个共同点:**系统不着急,可以先暂停、等慢系统想完再继续**。
真正的麻烦出现在"实时"场景里,也就是环境根本不等你。这种情况下,过去的做法基本是让慢系统一直在后台跑,比如DPT-Agent和AgileThinker这两个系统,慢思考和快反应是两条并行的线程,谁也不等谁;或者像机器人策略模型GR00T N1那样,慢系统按固定节奏跑,不管你是不是需要它。
这就好比你雇了一个随时待命的顾问,不管你是不是真的需要建议,他都在旁边一直思考、一直花钱。
这篇论文想做的不一样:**让快系统一直在干活,接管每一个决策,只有触发了某个"门"(gate)的时候,才把这一刻的决策权临时让给慢系统,而且游戏不暂停,慢系统边想游戏边继续跑。**
这就是论文标题里"System Switch"(系统切换)的意思。
想象你开车时用的语音助手,正常情况下你自己开车(快系统),只有在你犹豫不决或者明显走错路的时候,才打开导航让它重新规划(慢系统),而且车不会因为导航在重新计算就停在路中间,它会继续往前开,哪怕开的方向暂时还是错的。如果导航每次重新计算路线都要求车停下来等它,那你根本没法在高速上开车,这就是"实时"和"回合制"的根本区别。
**用什么模型做这件事**
论文选的快系统,是2026年9月前后冒出来的一批叫"System One"的开源"类型化决策模型"。
类型化决策模型:这类模型只回答结构固定的问题,比如"选择题""打分题""是否题",一次前向传播就给出答案和对应的置信度,不像生成式大模型那样一个字一个字往外吐。
这批模型包括Laya、Kev、Lev、Julia、Clef、OpenJev、Strands Decider、CLM等等,参数量从0.15B到9B不等(B代表十亿参数)。它们的好处是快,坏处嘛,论文后面会告诉你,坏处不少。
慢系统则是两个带视觉能力的推理大模型,Qwen3.6-35B-A3B和Gemma 4 26B-A4B-it,都可以选择开不开"推理模式"(也就是让它先写一段思考过程再给答案)。
把这两类模型连起来的,是llama.cpp这个开源推理框架新加的一个统一接口/v1/systemone,所有System One模型都通过这个接口来调用,省去了每个模型单独写适配代码的麻烦。
实验场地选在了doomLaya这个项目上,它把经典游戏Doom改造成了一个"类型化决策任务":每过0.5秒游戏时间,系统就会给AI一份文字版的游戏状态(血量、护甲、看到的敌人、物品、门),然后问两个选择题,一个是"接下来该做什么指令"(攻击敌人、捡东西、开门、去出口、撤退、探索、等待),一个是"该用什么武器"。
游戏里还内置了一个oracle(规则专家):根据固定规则给出"标准答案",比如看到敌人就该打,东西不需要就别捡,门挡路就该开。这个专家从来不会说"你该去探索"或者"等一等",这个设定后面会很关键。
**第一个发现:AI天生爱囤货**
论文测试了一批零样本(也就是没有专门针对这个游戏训练过)的System One模型,结果发现了一个挺有意思的毛病:这些模型都特别喜欢选"捡东西"这个选项。
具体数字是这样的:游戏里一道"该做什么"的题平均有7.5个选项,其中3.6个是不同的"去捡某个东西"。按理说,如果一个模型答错了,错误答案应该是随机落在各个错误选项上的,但实测下来,这些模型答错时选中"捡东西"的概率,比随机情况要高1.6到1.8倍。
只有一个模型例外,Kev 0.8B,它的各选项概率几乎是均匀分布的,所以反而没有这个偏好。而两个推理大模型,如果不开推理模式也有这个毛病(1.8倍),一旦打开推理模式,这个偏好会减弱但没消失(降到1.4倍)。
更有意思的是,这个偏好跟选项的排列顺序没什么关系。研究者把选项顺序打乱了重新测,这个"爱捡东西"的倾向基本不变(还是1.6到1.8倍),说明这不是什么"选项排前面更容易被选"的位置效应,是模型真的学到了一种"捡东西总是不会错"的直觉,尽管这个直觉在很多场景下是错的。
但选项顺序对别的事情影响很大。游戏里选项本来是按固定顺序排的(敌人、物品、门、出口、撤退、探索、等待),而且有41%的题目正确答案恰好是排在第一位的选项。打乱顺序之后,有些模型掉得很惨:Strands Decider从0.59掉到0.38,Kev 9B从0.60掉到0.50。研究者查了一下原因,发现Strands Decider在固定顺序下有65%的概率直接选第一个选项,这说明它根本没真的理解问题,只是学会了"选第一个"这种捷径。
这就好比考试的时候,有个学生发现老师出的选择题正确答案常常排在A,于是他直接养成了"看到不确定就选A"的习惯,平时考试成绩看着还不错,但一旦换一份把选项顺序打乱重排的卷子,他的真实水平马上就露出来了。如果不检查这种"位置偷懒"现象,你会误以为模型真的学会了做题,实际上它只是记住了排版规律。
研究者还发现,专门针对这个游戏做过训练的模型,表现并没有想象中那么好。比如Laya的微调版本Laya-v3,在用来调参的验证集上准确率有0.725,但换到没见过的新种子地图上,直接掉到0.585,跟零样本的原版Laya差不多水平,主要问题是它一到门口就想捡东西("开门"这个类别的准确率只有0.39)。另一个训练过的doomGemma模型表现稍好一些,但从验证集的0.963掉到新数据上的0.860,也印证了一个老问题:在小数据集上调出来的模型,很容易"背题"而不是"学会"。
**第二个发现:准不准、信不信、靠不靠谱,是三件不同的事**
这是整篇论文里我觉得最值得琢磨的一个结论。
我们直觉上会觉得,一个模型如果答得准,那它给出的"置信度"(也就是它自己说"我有多确定")应该也更可靠。论文告诉你,这事没那么简单。
论文区分了三个概念。
准确率:模型答对题的比例,这个好理解。
校准度(用ECE,也就是期望校准误差来衡量):模型说"我有90%的把握"的时候,是不是真的90%的情况下答对了。校准好的模型,说多少把握就有多少把握,不会虚高也不会谦虚。
敏感度(用AUROC,也就是曲线下面积来衡量):模型的置信度能不能区分"这道题我大概率答对了"和"这道题我大概率答错了",哪怕它整体准确率不高,只要它答对的时候置信度明显比答错的时候高,这个敏感度就是好的。
论文发现这三者是互相独立的。举个例子,有五个零样本模型的整体准确率都在0.54到0.60之间,几乎是同一个水平线上,但它们的AUROC(敏感度)从0.60一路散开到0.89。换句话说,**准确率相近的两个模型,一个的置信度几乎是胡说,另一个的置信度却能相当准地告诉你"这题我可能错了"**。
更具体一点,有两个版本的Laya模型,一个是基础版,一个是经过"类型化决策"微调的版本,这俩准确率几乎一样,但敏感度(AUROC)分别是0.89和0.77,差距非常明显,而且置信区间不重叠,说明这不是误差范围内的巧合。
校准度也不能预测敏感度。校准最好的两个零样本模型(ECE只有0.10),敏感度排名却是中等水平;而那几个"过分谦虚"的模型(自己说的把握明显低于实际准确率),敏感度反而排在前面。
这里面还有个更细的分层:敏感度本身也分两种类型。基础版Laya整体敏感度最高(0.89),但如果你只看"同一类问题内部",比如都是"要不要去捡东西"这类题,它的置信度就完全区分不出哪个答对哪个答错了(降到0.52,几乎跟瞎猜一样)。它真正厉害的地方是能分辨"哪一类场景我容易翻车",比如它在"打架"和"开门"这两类题上几乎都对,在"去出口"和"捡东西"上经常错,而置信度刚好跟着这个规律走。相反,Strands Decider和Kev 9B表现出的是另一种敏感度,同一类题目内部能区分对错(0.77和0.74),整体上却不太行。
这种差别为什么重要?因为后面要讲的"把不确定的决策甩给慢系统"这个策略,依赖的恰恰是第一种敏感度,知道"哪类场景我容易翻车",而不是"这一道具体题我是不是错了"。
这就像一个新手司机,他可能说不清楚自己这一次具体转弯打得好不好,但他清楚地知道自己"倒车入库"这个动作一向不稳,而"直线加速"从来没出过问题。如果教练只看他某一次操作时嘴上说的自信程度,可能完全看不出规律;但如果看他在不同科目上的整体表现差异,规律就非常明显。这正是论文里说的"知道自己不知道什么",这件事比笼统地看一个置信度分数要复杂得多。
**第三个发现:把不确定的决策甩给慢系统,到底值不值**
搞清楚了"置信度不是随便能信的"这件事之后,论文接着做了一个很直接的实验:把快系统最没把握的一部分决策,交给慢系统重新回答,看看整体准确率能不能提上去。
这套思路在机器学习里有个专门的名字,叫级联(cascade)或者选择性预测(selective prediction):便宜的模型先上,碰到搞不定的再交给贵的模型,省钱又保效果。
结果非常清楚地验证了前面那个发现:**一个模型的敏感度(AUROC)越高,把它的"没把握"决策甩给慢系统带来的收益就越大**。
用敏感度最高的基础版Laya(AUROC 0.89)做实验,把它最没把握的30%的决策交给开了推理模式的Qwen3.6,整体准确率从0.56一下子跳到0.75,这个成绩已经非常接近一个"完美选择器"(也就是精确知道哪些题会答错、专挑那些题甩出去)能达到的理论上限0.76。而且这个效果,只调用了30%的次数就达到了慢系统单独作战时的水平(0.69),相当于省了70%的算力还打平甚至超过了纯慢系统。
反过来,用敏感度最低的两个模型(Kev 9B和Strands Decider,AUROC都在0.60左右)做同样的实验,效果几乎为零,甚至还略微为负。而这两个模型恰恰是**零样本模型里准确率最高的**。
这个结论挺反直觉的:**你以为该用来做"快系统"的,应该挑那个单独测试时分数最高的模型,但论文告诉你,更该看的是它的置信度靠不靠谱,而不是它本身答得准不准。**
研究者还很小心地检查了这个结果有没有"自己给自己打分"的嫌疑。他们把42场游戏随机分成两半,在一半上选模型和甩锅比例,在另一半上验证效果,重复500次。结果基础版Laya在489次里都被选中,这个结论很稳,在没见过的那一半数据上,相对于随机甩锅的收益是+0.13(置信区间0.08到0.18)。
打乱选项顺序之后再测一遍,同样的规律依然成立:收益跟敏感度排名高度相关,相关系数达到0.87(这是在18组"模型-顺序"组合上算出来的)。
另外论文还专门验证了"推理模式"本身值不值钱。如果让慢系统不开推理、直接给答案,它本身准确率只有0.58,而且会跟快系统一样有"爱捡东西"的毛病(97%的错误都选了捡东西选项),这时候甩锅带来的收益从+0.15掉到+0.07,也就是说,**推理过程本身大概贡献了一半的收益**,剩下一半纯粹是因为慢系统换了个"大脑"。
这就像公司里把疑难案子转给专家处理这件事。如果专家只是换了个人、但没有多花时间认真琢磨,效果会打折;真正值钱的,一半是"换了个更强的大脑",另一半是"这个大脑真的坐下来仔细想了"。如果你只换人不给思考时间,等于白白浪费了专家资源的一半价值。
**第四个发现:真实游戏里,谁都没走到终点**
前面讲的全是"离线"实验,也就是拿录好的题目测,不涉及游戏实时运行。真正有意思(也更让人沮丧)的部分,是把这整套机制塞进真实游戏里跑的"闭环"实验。
研究者在Doom的MAP01地图上,用三个随机种子,测了一堆不同配置,总共跑了33场游戏。配置包括:完全不开慢系统的对照组;一个"裸"的慢系统(没有额外知识,没有承诺机制);加了一些游戏基础知识提示的版本;只在"不确定"触发时开慢系统的版本;只在"没进展"触发时开慢系统的版本;两种触发都开的版本;去掉画面只给文字的版本;去掉基础知识提示的版本;还有一个对照组,把"思考"换成一个固定的"去探索"规则,但用同一个触发机制。
结果是:**没有一个配置真正走到了游戏的出口。**
这个结果挺扎心的,但往细看,差异还是很有信息量的。
先说"承诺机制"(commit),这是指慢系统一旦定了一个计划,就会让这个计划持续执行,直到执行器报告完成、报告做不到、受到了一波伤害,或者过了45秒,而不是每半秒钟就重新问一次慢系统该干什么。有了这个机制之后,地图探索的覆盖面积和开的门数都明显增加(覆盖格子数从61格涨到83格,开门数从5扇涨到8到9扇)。
但更让人意外的是,那个"固定探索规则"的对照组(根本没有AI思考,纯粹是触发了就执行一个写死的"去探索"命令),表现跟真正思考的版本几乎一样好,覆盖面积同样是83格,开门数9.7扇。
换句话说,**在"覆盖地图、开更多门"这两件事上,起作用的主要是"坚持执行一个计划"这个机制本身,而不是慢系统到底想出了什么高明的策略**。
这就好比一个团队开会讨论半天制定出的行动计划,和主管直接拍板说"大家先按老办法做,别议论了"相比,前期推进速度可能差不了多少,因为很多时候项目卡壳不是因为缺好点子,是因为大家一直在原地打转重新讨论。如果你不先解决"别议论了,先做"这个问题,再好的点子也落不了地。
但慢系统也不是毫无用处,它在"死亡次数"上明显占优:用固定探索规则的那组死亡次数更多(每局平均2.7次,比真正思考的那组1.3次高了一倍)。换到基础版Laya上这个差异更夸张(固定规则3.7次,思考版本0.7次)。
而且很有意思的一点是,基础版Laya如果完全不开慢系统,三局游戏里都一动不动地站在原地(只走到了1个格子),一旦接上这套触发机制,哪怕只是接上固定探索规则,它立刻就开始正常玩游戏了(覆盖81格,开9扇门)。这说明这套"触发-接管"的机制,哪怕背后换成一个很笨的固定规则,也能让一个"卡死"的agent重新动起来。
**最有价值的部分,是研究者去读了慢系统在思考时写下的每一句话。**
论文把这些"内心独白"摘录出来分析,发现了一个很具体的失败链条。一开始,没加任何额外知识的裸慢系统,诊断问题的能力还不错,比如它会说"我好像卡在一个循环射击的死局里",或者"这个红卡拿不到",诊断是对的,但给出的解决方案几乎总是"去捡最近的东西试试",24次思考里有22次都是这个结论,"去探索"这个选项它压根没想过。
研究者于是给慢系统加了一点Doom游戏的基础知识提示,告诉它"有些门需要钥匙才能开"。这下诊断能力真的提升了,比如它开始能说出"这门需要黄钥匙,我没有,得去探索找找看"。但问题也随之而来:**这个基础知识被用错了地方**。
游戏里的状态信息只会告诉AI"这是一扇关闭的门",但从来不会告诉它这扇门到底是普通门还是上锁的门。结果,当慢系统碰到一扇其实没锁、只是普通关着的门时,它会想"这门肯定需要钥匙,我没有钥匙,所以我得去探索找钥匙",但实际上这扇门根本不需要钥匙,只要换个方向推一下就能开。研究者统计发现,所有25次"计划失败"的案例里,全部都是因为一扇关闭的门挡住了执行器,而其中17次,慢系统的结论都是"需要钥匙"。
这就好比一个新来的保安被告知"有些门是锁着的,锁着的门不能硬推",结果他看见每一扇关着的门就以为是锁着的,从来不去试试把手,错过了一堆本来一推就开的门。如果不告诉他这条规则,他可能会乱撞;告诉了他,他又变得过度谨慎。问题的根子不在于"该不该告诉他这条规则",而在于他**根本没有办法从眼前这扇门本身分辨出它到底锁没锁**,这是信息本身的缺失,不是知识多少的问题。
去掉基础知识提示之后,慢系统又变回了"碰到关门就想去捡东西"的老路子(45%的思考都是捡东西),只是不会乱猜钥匙的事了。
论文还测了去掉游戏画面、只给文字状态会怎样,结果慢系统思考的时间反而变长了(中位数29秒一次思考,而且16次思考里有9次超过了4000个token的推理上限,被迫在没想完的情况下强行给答案),覆盖的地图范围也更小了(64格)。这提示画面信息其实在帮慢系统更快拿定主意,不给它看,它反而想得更久、想得更乱。
还有个挺实在的问题是时间成本。开了基础知识和承诺机制之后,慢系统有38%到70%的游戏时间都在"忙着想",而且它制定计划所依据的那一帧画面,到计划真正执行的时候,已经是9到29秒之前的旧画面了。游戏里9到29秒足够发生很多变化,这意味着慢系统有时候是在"看着过去的照片做决定"。
**写在后面**
读完这篇论文,我印象最深的不是任何一个具体的数字,是那个"门锁"的细节。
研究者给AI加了一条看似无害的常识,有些门需要钥匙,这在另一张地图(MAP02)上确实是对的,那张图里真有一扇门锁着需要黄钥匙。但搬到MAP01上,同一条常识变成了一个认知陷阱,因为AI没有能力分辨眼前这扇具体的门到底符不符合这条常识。
这件事让我想到一个更大的问题:**我们给AI系统"喂知识"这个动作,本质上假设了AI能分辨这条知识什么时候该用、什么时候不该用**。但这篇论文里的AI做不到,它只能机械地套用,碰到状态信息无法验证的场景,就会把一条本来正确的常识用错地方。这跟人类小孩学规则其实很像,大人告诉孩子"陌生人给的东西不能随便吃",结果孩子连亲戚给的糖都不敢吃了,因为他分不清"陌生"和"熟悉"的边界在哪,规则本身没错,但执行规则需要的判断力,恰恰是最难教会的那一部分。
另外一个让我意外的发现是,那个什么都不懂、只会执行"去探索"这条死规则的对照组,在覆盖地图这件事上几乎追平了真正会思考的AI。这多少打击了一下"AI思考一定比死规则强"的朴素想象,至少在这个任务的这个维度上,真正值钱的是"坚持做一件事别反复折腾"这个纪律性,不是思考本身的智慧。但思考确实在另一个维度上证明了自己的价值,活下来的次数明显更多。这说明"思考"和"规则"这两件事可能分别擅长解决不同的问题,谁也不能完全替代谁。
论文最后也挺诚实地承认,这整套实验规模还很小,33场游戏、一张地图、三个随机种子,没有一局真正打穿游戏,这些结论更多是"行为观察"而不是"成功率的确定性证明"。而且作者承认自己没有系统性地核查过慢系统写的那些"内心独白"是不是真的忠实反映了游戏状态,只是零星检查了几个案例。这种克制和诚实,在一篇充满了具体数字和细致分析的论文里,反而让人更愿意相信前面那些结论是靠得住的。
如果快系统的置信度能够准确标注出"我哪类场景容易翻车",而不是笼统地说"我这题可能错了",那是不是意味着,设计一个好的AI系统,第一步不是让它变得更聪明,而是让它先诚实地认识自己的短板?
Q&A
Q1:System Switch是什么?
A:System Switch是论文提出的一套"快慢系统切换"机制,让一个快速决策模型负责游玩Doom游戏的每一步决策,只有在触发特定条件(比如连续低置信度、卡住不动、动作被阻挡等)时,才把当前决策权临时交给一个更强的视觉推理大模型,同时游戏保持实时运行不暂停。
Q2:为什么准确率高的AI模型反而不适合用来判断该不该求助慢系统?
A:论文发现模型的"准确率"和"置信度是否靠谱"(敏感度/AUROC)是两件独立的事。实验中准确率最高的两个零样本模型(Kev 9B和Strands Decider)置信度几乎没有区分能力,把它们的低置信度决策甩给慢系统几乎没有收益;反而是敏感度最高的基础版Laya模型,哪怕准确率中等,甩锅后整体准确率能从0.56跳到0.75。
Q3:论文里的AI最终有没有在Doom游戏里走到终点?
A:没有。论文在MAP01地图上用三个随机种子跑了33场闭环游戏测试多种配置,没有一个版本真正到达游戏出口,最接近的一次也只是在4米开外。研究者认为问题的根子在于游戏状态信息本身不足以让AI分辨"门锁没锁",而不是推理能力不够强。







