这个 Hub 里至少有六个站在写记忆,各写各的。神经科学站讲一段经历怎么从转瞬即逝变成几十年后还在;心理学站讲你记得的东西有一半是现在的你拼出来的;AI 站讲模型学了新东西之后怎么把旧本事抹掉;做 AI 助手工程的那个站讲怎么给一个程序装上「记住你」这件事;元知识站讲隔多久复习一次最划算。
把这些摆在一起,最容易问出口的是「它们像不像」。这个问题问得太浅,谁都看得出来像。
真正奇怪的地方在别处:几百亿个神经细胞、几千亿个数字、一个装满文本片段的数据库,这三样东西没有任何共同的材料,为什么它们坏掉的方式如此雷同——都是既记不住该记的,又能把没发生过的事说得有鼻子有眼?
先拆掉一个很深的错觉。你以为回忆是打开一段录像重放,可大脑手里没有那段录像。
一件事发生时,它被拆开、各部分分别扔进不同的脑区去管:颜色扔给管颜色的,声音扔给管声音的,「在哪儿」扔给管空间的。没有任何一处存着完整的那一幕。把碎片串起来的是海马——大脑深处那对负责索引的结构。事情发生的当下,它飞快记下「这几块碎片是一伙的」,给它们别上同一个书签。等你日后回忆,它顺着书签把散落各处的碎片重新召集、当场拼装。碎片缺了,就拿相似的、拿你现在的知识和期待去补。
所以记忆是生成出来的,不是读出来的。这句话有实验撑着。心理学家洛夫特斯让家人配合暗示一件从没发生过的童年往事,约四分之一的成年被试「记起」自己小时候在商场走丢、被陌生人找回,还主动补出细节。
这套系统还有一个离线的班次。刚学会的东西一开始挂在海马上,快,但容易被覆盖;要变成几十年后还在的东西,得慢慢挪进大脑皮层那个又大又稳的仓库,这个搬家过程叫巩固,主要发生在你睡着的时候。深睡里海马会把白天走过的那条路压缩着重放——白天走了几分钟,夜里几百毫秒就跑完,反复很多遍,一点点把它教给皮层。睡不好的那几天不是没经历,是经历没被好好归档。
还有更颠覆的一条。每次你把一段记忆调出来,它并不是原样看一眼再放回去——它会短暂地解封、变软、可改,然后重新封存。这叫再巩固:巩固的那一步,在每次取用时又重来一遍。每一次回忆都在悄悄重写那段记忆,掺进此刻的情绪、别人随口的一句提醒、你现在的理解。你最常回忆的那些往事,很可能也是被你改得最多的。
遗忘同样不是这套系统的失败。正因为记不清见过的每一只狗长什么样,你才形成了「狗」这个概念。
另一头是一张小得多的桌子。别人报一串电话号码,你嘴里默念着手忙着找笔,那几秒里号码就在脑子里,一分神就没了——这是工作记忆。它不是长时记忆的缩小版,几乎不存东西,只是把几样暂时点亮。容量接近四,而不是流传的七加减二;而且它数的不是零件是包裹,手机号 138 0013 8000,你攥着的是三个块而不是十一个数字。
更要紧的是谁在管这张桌子。额头正后方那片皮层,前额叶,不太存具体内容,它当指挥:举着当前目标、决定放什么进桌面、顶住分心不让别的东西挤进来。一紧张,那点脆弱的活动当场被打散,考试时脑子一片空白就是桌面被临时清了场。
说「模型有记忆」的时候,指的可能是三样很不一样的东西:窗口里的、权重里的、外挂库里的。
窗口。模型每次回话,能当场看见的只有上下文窗口里那段文字;聊得太长,最早的话滑出窗口,它当场就不知道了。AI 站把定位说得很硬:窗口是工作集不是数据库,优化目标是放对的东西,不是放更多。而且「在窗口里」不等于「被看见」——把关键信息放在十万词上下文的开头或结尾,召回率约八成;放在正中间,掉到接近一半。
权重。模型读过的资料没有一字不差地存在任何地方,它揉进了千亿个连接权重里,回答时顺着你的问题当场生成一段最像答案的话。所以它偶尔会一本正经地编出一个不存在的引文或数字,这就是幻觉。
这份「记忆」还有一个出了名的毛病:拿新数据接着训,旧本事会被一冲而散。这叫灾难性遗忘,1989 年就被发现了。AI 站给了一个二十行能跑起来的最小实验:先学任务 A,准确率约 0.95;接着学任务 B,回头再测 A,掉到约 0.55。
根子不在容量——严重过参数化的大网络照样会这样。容量足够同时装下两个任务,但梯度下降没有理由去找那个兼顾的解,它只沿着当前任务的方向走。用工程的话说:权重是一份全局共享的可变状态,学新任务做的是原地覆写,没有版本隔离,也没有事务。
由此逼出一条谱系,叫稳定性—可塑性困境:权重太稳学不进新东西,太松一学新的就忘旧的。三派对策各占谱系上的一段——给重要的权重挂一根弹簧把它往旧取值拉(弹性权重固化)、留一个回放池让新旧样本混着喂(经验重放)、给每个任务划一块专属参数学完冻结(参数隔离)。
外挂库。这是今天最常被叫做「给 AI 装记忆」的那件事:把每段文字变成一串数字,让意思相近的句子落在相近的坐标上,查询时找坐标最近的几条捞回来塞进窗口。装这些坐标的地方叫向量库,它补上的是「按线索找回来」这一环。
它的天花板不在模型,在检索。做检索质量的那一期把话说死了:模型拿到对的文档几乎都能答对,拿不到就只能编。一个系统的 recall@5 = 0.71,意思是有 29% 的问题正确文档根本没进模型的视野——这个数大多数人从来没测过。
值得单独提一句的是,最靠近产品那一端的人,早就不把「记忆」当成一个存储问题了。
做 AI 助手工程的那个站给的第一条论断是:把对话历史、任务中间结果、用户画像、领域知识混在同一个地方管,是大多数助手聊三轮就开始胡言乱语的根本原因。这四类东西的生命周期完全不同——中间结果用完即焚,画像要一路跟着用户走;塞进同一个向量库,下一次任务就会被上次的残渣污染。
长期记忆那一层还要按查询类型再分三套:找相似走向量库,「我叫什么」这种精确事实走键值表,「上次发生了什么」走一条按时间排的事件日志。
还有两条细节特别值得记住。其一,让模型自己维护用户画像时,每一条写入必须能引用具体某条消息作为证据,无证据不写——否则半年后画像里三成是模型自己推断出来的。其二,画像必须有淘汰机制:长到五千词就吃掉一半的上下文预算;事件日志半年不清理,一次检索足以把整个提示撑爆。
在人和机器中间还有一条实践线:学习科学。它研究的是怎么让一件事在一个已知会重建、会遗忘的系统里留下来。
结论有点反直觉:记忆不是复习得越密越牢,而是在快要忘掉的临界点上复习最有效。心理学家艾宾浩斯那条遗忘曲线显示,新学的东西头一两天掉得最快;但每激活一次衰减就慢一截,下一次的间隔便能拉长——从一天,到三天,到一周,到一个月。
更狠的一条是提取练习。花同样的时间,反复阅读和反复自测,长期效果差得很远:一项经典研究里,自测组一周后能回忆约一半内容,重复阅读组只剩约三成,尽管阅读组当下自我感觉更熟练、更有把握。这个感觉叫流畅性错觉——看得越顺,越容易误以为自己已经会了。
思维模型站把这个差别说得更清楚:识别性理解是被动的,看到答案觉得「对,就是这样」;生成性理解是主动的,能从空白开始重新搭一遍。合上书能不能重讲一遍,是这两者之间唯一诚实的分界线。
现在回到开头那个问题:三样材料完全不同的东西,为什么坏掉的方式这么像。
因为它们在同一个地方做了同一个妥协。谁都没有存下那份录像,存下的都是有损的痕迹,加一条能把它找回来的线索。
人存的是碎片加海马别上的书签;模型的知识摊在千亿个权重里,没有一处存着原文;向量库存的是文本片段和它在语义空间里的坐标。三边都一样:要用的时候,那个完整的东西必须当场重建出来。
后果因此是硬的。重建就得填补空白,填补就一定可能填错。填对了叫记性好,填错了在人这边叫错误记忆,在机器那边叫幻觉。这不是两种毛病长得像,是同一条路径的两个出口。检索工程那句话正好把两边接上:拿不到对的文档,就只能编。
第二条共通点是一个天平。大脑要同时干两件相反的事:把极像的两段经历掰开存(今天车停在 B 区、昨天停在 A 区,糊成一团你就天天找不到车),又要能凭半个线索把整段勾出来(三个音、半张侧脸)。神经科学给这两件事起了名字,模式分离和模式补全,由海马里两块不同的地方分别负责。工程那边这个天平叫稳定性—可塑性,而且已经被做成了一个显式的旋钮:弹性权重固化里那个系数,调大偏稳定,调小偏可塑。同一个权衡,一边是解剖学,一边是一行超参数。有意思的是两边方向相反——大脑的难题是怎么主动忘掉该忘的,人工网络的难题是怎么别被动全忘。
第三条更实用:说得有多确定,和有多准,几乎是两件事。心理学家奈瑟追踪过挑战者号航天飞机爆炸那天的记忆,同一批人,事发次日与两年半后对照:近半数细节被改写,有人完全记错了自己当时身在何处,信心评分却纹丝不动。美国已被 DNA 平反的冤案里,约七成涉及目击者的错误指认。鲜活、流畅、笃定,在人这边不是准确的证据;在模型那边也一样。
要说明这个联系不只是好看,得看它有没有解决过一个具体的、原本无解的问题。这里有一个,而且日期很清楚。
灾难性遗忘 1989 年就被发现,它卡住的是一件很基本的事:让一个网络一个接一个地学任务,学后面的就抹掉前面的。可大脑天天在做这件事,几乎不犯这个毛病。
1995 年提出的互补学习系统理论点破了这层对应。大脑不是一套记忆系统,是两套:一套快、容易被覆盖,一套慢而稳。新经历先落在快的那套上,再靠夜里一遍遍压缩重放,慢慢教会慢的那套。快慢分工,就把「学得快」和「不覆盖旧的」这对矛盾拆开了。
后来的工程只是把这张架构图做成了产品。经验重放——留一个回放池,训练时把旧样本随机捞出来和新数据混着练——至今几乎是持续学习里最强的基线。2017 年的生成重放更进一步:不存旧数据,训一个生成器去合成「像旧任务的数据」,既省存储又避开隐私,而这条路线的灵感明说了就是海马在睡眠中重放经历。
它也有自己要认的账。生成器本身也在持续学习,会逐代退化,合成出来的「旧样本」越来越不像真的,误差沿任务链累积,长序列之后旧任务照样崩。提货提来的是一个真架构,不是一张万能符。
但判据已经满足了:一个悬了六年的工程难题,答案是从隔壁学科的解剖结构里取来的,而且三十年后它仍然是最强的那一个。
从记忆这个例子往上走一层,能看见跨学科互联到底在省什么成本。词旅行过去,你什么也没得到;底下那套推理跟着过去,你顺带接手的是它已经挣到的全部结论。
这一套翻译过去几乎是逐条对应的。别用诱导式提问——「是不是他先动的手」和把结论先写进提示,是同一个动作。把内容和它的来源分开存——人会记住内容却记错来源,把听说的、想象的、梦见的误当成亲历;助手写用户画像时必须带上证据消息的编号,就是同一条防线。当场记录而不是事后回忆——团队复盘事故别只靠记忆,因为事后回忆会被已知结果重塑,而事件日志的每条记录必须带时间戳,否则捞回来的时候模型会把昨天的决定当成今天的。
现在说那句最常听见的话:「这个模型有记忆了。」
这句话里的「记忆」,九成时候指的是存储加检索。而人的记忆里最值钱的那一段,恰恰不在存和取上——它在夜里那个班次,在把新经历织进旧知识、把细节磨成规律的那个过程里。神经科学站自己把这一点讲得很干脆:外挂记忆形似而神不全,真正难的从来不是存和取。
下面五个问题不是用来抓人的,是用来判断一个说法能不能拿去做设计决策。
一、写入有没有取舍?全都留下来的那是日志,不是记忆。
二、读出是取回还是重建?永不出错、永不填补的那是数据库。会填补、会串味,才说明它走的是重建那条路——也才必然会编。
三、读这个动作会不会改写被读的东西?人这边会,这叫再巩固。向量库检索一万次,库里那段文字一个字都不会变。
四、有没有离线的再加工?把新经历织进旧知识、把细节磨成规律,这件事在人这边发生在睡眠里。
五、会不会主动遗忘?有没有淘汰策略,还是只能靠撑爆。
上下文窗口五条基本全不满足。它对应的根本不是长时记忆,是工作记忆——而且连工作记忆最关键的那一半都没有。人的桌面上有个指挥官,决定什么能上桌、顶住不相关的东西挤进来;窗口没有这个角色,你塞什么它就看什么,还带着那条中间塌下去的召回曲线。所以「把窗口拉长就等于记性变好」是这一片里最贵的一个误解:台面大小从来不是瓶颈,不是记不下,是不会挑。
向量库检索满足第二条,第三、第四条一条都不满足。第四条最要命:存进去的东西不会在夜里被重放、被抽象成概念,半年后库里躺着的还是当初那些原文。它是一套很好的「按线索找回来」,但它不消化。
权重里的知识是另一种情况。训练本身就是一次大规模的离线再加工,它确实把海量材料熬成了规律,第四条满足得比向量库好得多。它缺的是事件:它记不住你昨天说过什么。持续学习那三派对策,补的正是第五条。
助手的记忆工程是这几样里最接近的,这不是巧合:做这件事的人本来就是照着「记忆」这个词的全部含义在补。四层分工、写入路由、自维护的画像、淘汰策略、可回溯的事件日志,五个问题里它显式地回答了四个。
还有一档要单独说,因为它是诚实的借用:间隔重复工具。它不打比方,它直接算那条曲线并照着排期。它借走的不是词的形状,是一条可以代入数字的关系——这一档才叫真提货。
跑偏的一档也不难认。「组织的记忆」「城市的记忆」这类说法可以很动人,但拿去做设计决策时五个问题一个也答不上来。一旦真去追问,会发现它想要的东西其实另有名字:一个团队复盘事故时最该做的不是改善「组织记忆」,是当场记录,因为事后回忆一定会被已知结果重塑。那是日志问题,处方完全不同。
拆完得给出用法,否则这篇文章也只是另一种修辞。大致三档。
能算数的,就真的去算。遗忘曲线给出的复习排期、工作记忆按块计的容量、检索的 recall@k、稳定性—可塑性那条谱系上的旋钮,这些都有数字,能测能调。最朴素的一条是:你上周学到的那个最重要的概念,现在合上所有资料,能不能完整复述它的机制。答不上来,那份「懂」就还停在识别那一层。
机制说得清的,当模型用。「重建必然填补,填补必然可能填错」这条算不出数,但它能给出预言,而且预言能被检验。举个直接的:如果你接受错误记忆和幻觉是同一个机制的两个出口,那么「让模型再谨慎一点就能消除幻觉」这个方向就是错的。能改善的是不污染输入、不夸大信心、把来源和内容分开存,而不是指望重建变成回放。检索工程那句话说的就是这件事:拿不到对的文档,再谨慎也只能编。
剩下的是修辞。当修辞用完全没问题,很多好句子就是这么来的。别拿它当设计依据就行。
值得把这个词分清楚,倒不是为了纠正谁的用法。是因为这几套系统各自吃过的亏都不便宜:人这边花了几十年才承认遗忘是设计的一部分、确信不等于准确;机器那边正在把同样的路再走一遍,而且有些段落已经不必再走了。