思考即回忆:推理如何解锁大模型里沉睡的知识
事情是这样的。
前两天 Google Research 挂出来一篇博客,标题翻译过来叫《思考即回忆:推理如何解锁大模型里的参数化知识》。我点进去看完,愣了一下。
它研究的不是什么花哨的新模型,而是一个我们天天在用、却没几个人真说得清原理的东西,让模型先想一想再回答。
你肯定见过这个开关。Gemini 也好,Qwen 也好,现在很多模型都有个所谓的思考模式,打开之后它会先吭哧吭哧写一大段推理过程,然后才给你最终答案。大家的直觉都是,这玩意儿是用来解难题的,做数学题、写代码、走那种要绕好几个弯的多跳推理,先把问题拆成几步当然有用。
但 Google 这帮人盯上的是另一个问题,特别简单的问题,让模型先想一想,居然也能答得更对。
简单到什么程度呢?他们论文里举的例子是这种,「Mary Engle Pennington 是哪一年入选美国发明家名人堂的」。你想想,这种问题哪有什么可推的。模型脑子里要么记着这个事,要么没记着,没有任何算术、没有任何逻辑链条要走。它就是一个查表的动作。
那为什么,让它先在草稿纸上瞎写一段,它反而更可能想起来正确答案?
我看到这儿就来劲了。因为这个问题,本质上……(打住,这个词不能用)。怎么说呢,这个问题特别戳我。我平时干的活,简单讲就是给大模型搭脚手架,让它在生产环境里真能跑起来、真能干活的那层工程。天天跟各种模型的思考模式、token 预算、超时打交道。可你要真问我一句,思考模式到底为啥有用、什么时候该开、开了到底亏不亏 token,我以前还真没一个干净的答案,全凭经验和玄学。
现在有人把这事儿掰开了揉碎了做了一通实验。我跟你唠唠他们发现了啥。
先说他们怎么量这个事的,这个设计我觉得挺巧。
如果只看模型张嘴说的第一个答案,对就是对、错就是错,那很多信息你是看不到的。他们用了个叫 pass@k 的指标(这词圈外朋友可能没听过,简单说就是让模型对同一个问题答 k 次,只要这 k 次里有一次蒙对了,就算它「够得着」这个答案)。这么一弄,你看的就不是模型当下嘴最快的那个反应,而是它脑子深处到底有没有藏着正确答案、够不够得着。
然后他们挑了几个能一键开关推理的模型来对比,Gemini-2.5 的 Flash 和 Pro,还有 Qwen3-32B。同一个模型,推理开、推理关,跑两遍,看 pass@k 的差别。题目用的是两个挺难的闭卷问答集,SimpleQA Verified 和 EntityQuestions,而且特意筛的是那种简单的、一步到位的事实题。
结果三个模型出奇地一致。推理一打开,模型能答出一堆它在推理关闭时几乎不可能取回的答案。注意啊,这些题不需要拆解,所以这个提升压根不是「模型把难题分成几步做」带来的。

那是啥带来的?
Google 给的答案是两个机制,配合着干活。我一个一个说,因为这俩单拎出来都挺有意思。
第一个机制,他们叫计算缓冲区(computational buffer)。
这个想法其实早就有人提过,大意是,模型每多吐一个 token,就相当于多跑了一次前向计算,多了一点点「思考时间」。你可以糙一点理解成,模型不能在原地凭空多想,但它可以一边往外写字一边偷偷在内部多算几轮。那段推理文字写得有没有意义先不管,光是「写了这么多字」这件事本身,就给了它更多计算的跑道。
听着挺玄对吧。我第一次看也觉得这不是扯吗,写废话还能写出正确答案来?
但他们的验证实验,我看完是真服了。
他们把模型的推理过程拦下来,把那段本来该是正经推理的内容,整个换成一句毫无意义的废话,「Let me think」(让我想想),然后这句车轱辘话反复复制,一直复制到长度跟原来那段真推理一样长。就给模型喂这么一坨纯废话,让它在这个基础上去预测最终答案。
好家伙,就靠这坨废话垫着,模型答对的概率,比起完全关掉推理那一版,居然显著提升了。
你品品。内容是空的,纯灌水,但只要把这条计算跑道铺出来,模型就能更好地整理自己的内部状态,把那些本来够不着的事实给捞上来。这事儿真挺反直觉的,我看完盯着那张图看了半天。

当然它也不是没边。废话灌得越来越长,收益是会递减的,而且不管你怎么灌,纯废话的效果永远追不上模型自己写的那段真推理。所以结论是,额外的计算量确实有用,但思考的实际内容,还是有用的。
这就引出了第二个机制,我个人觉得这个才是真正点睛的地方,事实启动(factual priming)。
他们去扒了一下模型针对那些简单事实题写出来的真推理,发现一个特别一致的规律。模型根本不是在写什么逻辑证明,它是在……一个劲儿地往外捞相关的事实。
打个比方你就懂了。问模型「尼泊尔第 10 任国王是谁」,一个开了推理的模型会怎么做?它会先把前 9 任国王挨个列出来。列着列着,列到第 9 个,第 10 个的名字自己就冒出来了。
前面那 9 个国王,根本不是答案的一部分,但它们起到了一个语义热身的作用。模型把相关的东西一个一个念叨出来,等于在自己脑子里铺了一条路,铺到最后,正确答案顺着这条路就被勾出来了。
这个机制 Google 是借了认知科学一个老概念,叫扩散激活(spreading activation)。人脑也这样啊。你想不起来一个老同学的名字,但你要是先想起来他坐你后排、打篮球、外号叫胖子,想着想着名字可能就蹦出来了。你不是在推理,你是在用相关记忆给自己搭桥。模型干的是一模一样的事。
为了证明真是这些事实在起作用,而不是别的,他们又设计了一个对照。把推理过程里那些具体事实抽出来,严格过滤,把所有废话、搜索计划、还有任何对最终答案的剧透全删干净,只留下一小串干巴巴的相关事实。然后拿这串事实当条件,让模型答题。
结果,光靠这一小串召回的事实,就能恢复推理带来的大部分增益。甚至在推理完全关闭的情况下,把这串事实塞进提示词里喂给模型,它也答得更好了。

我看到这段是真有点子兴奋。因为这东西直接能落到手上的活儿里。
你想,这不就是我们平时做提示词工程一直在干、但说不清为啥有用的事吗。所谓的少样本示例、所谓的先给点背景再问问题、所谓的让它一步一步来,背后可能就是这个,你不是在教模型怎么想,你是在帮它把相关的记忆先激活一遍。脚手架的活儿,很多时候不是给模型加能力,是帮它把自己已经有的东西够出来。
不过呢,故事到这儿要是只剩夸,那就不真诚了。这个机制有个相当要命的副作用,Google 专门拿了一节来讲,叫幻觉陷阱(the hallucination trap)。
问题出在哪?出在这些中间事实是模型自己生成的。它一边往外捞相关事实给自己铺路,可万一它捞出来的事实本身就是编的呢?万一前 9 个国王里有俩是它瞎掰的呢?
这就是大模型幻觉(hallucination,指模型一本正经地胡说八道、编造不存在的事实)最阴险的地方。它不只是最后那个答案可能错,是它铺路用的砖头里可能就掺了假的。
为了搞清楚这事儿多严重,他们建了一条挺重的审计流水线,用一个能联网搜索的验证器,去独立核对几十万条推理轨迹里的每一个中间事实,挨个查对错。
审计结果很干脆,也很扎心。一条推理轨迹里,哪怕只混进去一个幻觉出来的中间事实,模型最后答对的概率就显著往下掉。
一个。就一个就够了。
这说明事实启动这个机制虽然好用,但它脆。你靠相关事实搭桥,桥上有一块砖是松的,整条路就可能把你带沟里去。这个发现我盯着看了一会儿,因为它解释了我在生产里见过的一类特别难缠的翻车,模型推理过程看着条理清楚、有理有据,你扫一眼觉得没毛病,结果最终答案离谱。问题往往就藏在中间某一句它顺嘴编的、你没核对的「事实」上。整段推理逻辑自洽,但地基是歪的。
好在 Google 没停在「发现问题」这一步,顺手给了改进的方向,我觉得这部分对做工程的人最有用。
既然事实启动有效,幻觉中间事实又拖后腿,那思路就很顺了,两头都用上。他们试了一个测试时选择的法子,对同一个问题让模型生成好几条推理路径,然后只留那些中间事实经得起核查、没幻觉的,优先采纳这些。厉害了,就这么一筛,准确率明显上去了。
往前再走一步,这个筛选其实不一定非得在回答的时候临时做,完全可以挪到训练阶段。用所谓的过程奖励(process rewards,简单说就是不光看模型最后答得对不对,还要给它推理过程中的每一步打分),专门去奖励那些「有事实支撑的中间步骤」。要是真能这么训,理论上就能训出一个骨子里更靠谱、更不爱瞎编的模型。
说真的,写到这儿我得停下来感慨一句。
我们这行特别容易陷进一种状态,一个东西好用,大家就疯狂用,至于为啥好用,没人深究,反正能 work 就完事了。思考模式就是个典型,开着比关着强,那就开着呗,谁管它背后是计算缓冲还是事实启动。
但你不懂原理,就只能跟着玄学走。哪天它翻车了,你连为啥翻的都说不上来。
Google 这篇做的事,说大了,是把推理这个动作的意义往外推了一大截。我们过去默认推理就是用来拆解任务、做数学逻辑的。但它现在更像是一种把模型内部记忆暴露出来、把它知识边界往外撑的根本机制。模型脑子里其实装着的东西,比它张嘴第一反应说出来的,要多得多。推理,是把那些沉在水底下的知识捞上岸的过程。
这个画面我还挺喜欢的。模型像一片海,参数里压着无数它见过的事实,平时风平浪静,你问一句它答一句,海面上能捞着啥全凭运气。而推理,就是那阵把水底搅动起来的洋流,让那些本来够不着的东西,一点一点浮上来。
万能青年旅店有句词我一直记着,是谁来自山川湖海,却囿于昼夜厨房与爱。模型也有点这味儿。它明明来自人类几乎所有文本汇成的山川湖海,肚子里啥都有,可你不给它那段思考的余地,它就被困在那个张口即来的、浅浅的第一反应里,囿于一次性的脱口而出。你让它想一想,它才有机会回到那片海里,把真东西捞给你。
回到我们这些天天跟模型打交道的人身上,我觉得这篇至少有三件事是能直接拿走用的。
一个是,下次再有人问你思考模式到底有没有用,你不用再含糊了。对简单事实题它也有用,而且用的不是拆解能力,是计算缓冲加事实启动这两条路。该开的时候别舍不得那点 token。
第二个是,提示词工程那点玄学,现在有了一半的解释。你给模型铺背景、给例子、让它先复述相关信息,本质就是在帮它做事实启动,提前把相关记忆激活了。所以下次写 prompt,与其绞尽脑汁教它怎么想,不如想想怎么帮它把相关的事实先勾出来。
第三个,也是我觉得最该记住的,模型推理过程看着漂亮,不等于它对。那串中间事实里只要有一个是编的,结果就可能崩。所以真要较真的场景,光看它推理得顺不顺没用,得去核它铺路用的那些事实是不是真的。这事儿没有捷径,该查还得查。
我自己也还在摸索,不敢说这套理解就一定全对,毕竟一篇博客加一篇论文,能讲的就这么多,真实的模型内部比这复杂得多。但至少,我天天用的那个开关,现在心里有点谱了,不全是玄学了。
凌晨把这篇看完,窗外天还没亮。我盯着屏幕想,我们造出了一个肚子里装着半个互联网的东西,然后花了好大力气,才刚刚开始搞明白,原来让它「想一想」,是在帮它回忆。
它不是在算,它是在想起来。
挺浪漫的,不是吗。