为什么?
因为那不是“记住”,是每次重新“读”了一遍之前发送的对话历史。
哈喽大家好,我是二哥呀。今天用 3 分钟,带你搞懂一个反直觉的事——LLM 是没有记忆的。
面试官问这道题,考三层:第一,LLM 无状态的本质你清不清楚;第二,参数记忆和上下文记忆的区别你能不能讲明白;第三,LLM 能“记住”之前的对话到底是怎么回事?
好,接下来给你满分回答,照着背就完事了。
先记住一句话:LLM 是无状态的。每一次请求都是独立的,前一次对话和后一次对话之间,模型不保留任何信息。
打个比方。LLM 就像一个读了几万本书的超级学霸,什么都知道,但有一个致命问题——每次和你说话之前,他都会失忆。
那他“知道”的东西从哪来呢?靠两样东西。
第一样,参数记忆(Parametric Memory)。
训练的时候,模型读了整个互联网的文本,几万亿个 token。这些知识被压缩、编码进了模型的权重参数里。训练结束,权重冻结,对话过程中不会再变。
类比一下:你从小学读到大学,十几年学的数学、物理、历史,已经存在脑子里了。当然你可能会忘,但绝不会忘记一加一等于二。
甚至不用翻书,你也知道勾股定理、知道水的沸点是 100 度。
哦,你忘记了?那当我没说。哈哈。
参数记忆就是模型在训练阶段学到的知识,考试的时候直接用,不用现查。
但参数记忆是死的。
模型训练截止到哪天,知识就停在哪天。你问它今天的新闻,不知道。你告诉它你叫什么,下次新开对话,也不记得。
第二样,上下文记忆(Contextual Memory)。
你跟 ChatGPT 聊天,感觉它“记得”你五分钟前说的话。真相是什么?
每次你发一条消息,系统把你们之前所有的聊天记录,一字不漏,全部打包塞给模型,让它从头读一遍。模型读完,生成回复。下一轮,再把新回复也塞进去,整段历史再来一遍。
它不是“记住”了你说的话。它是“又看了一遍”你说的话。
怎么验证?新开一个对话窗口,问它“我刚才说了什么”。它一脸问号,完全不知道。因为新窗口没有任何历史记录,它的“记忆”是零。
(当然了,现在的 Agent 都提供了长期记忆功能。)
所以,LLM 的记忆是工程层面制造的假象:不是模型自己记得,是系统每次帮它复习一遍。
面试官如果追问:“那 ChatGPT 的记忆功能又是怎么回事?”
告诉他——那是在模型之上加的工程方案。系统从对话里提取关键信息,比如“用户是程序员”“偏好用 Python”,存到外部数据库里。下次新开对话,把这些信息注入 system prompt,让模型“看到”。模型本身还是无状态的,只是被喂了更多上下文。记忆不在模型里,在模型外面的持久化文件里。
最后送大家一句口诀——权重装知识,上下文装对话;开了新窗口,一切从头来。
这道题你学废了吗?下一期拆上下文窗口——LLM 一次到底能“看到”多少内容?点赞关注,我是二哥,下期见!

