夜雨聆风学习资料网

ARTICLE · 1042230

AI 为什么“记得”你说过的话?

AI 为什么“记得”你说过的话?

PARAMKEY · 人工智能

AI 为什么“记得”你说过的话?

AI 并没有像人一样,把这段聊天记在脑海里。

它之所以接得上,是因为每次回答前,产品又把与当下有关的内容摆到了它面前。

先做个小实验。

打开任意一个 AI 聊天工具,让它写一段冒泡排序。等它写完,再发一句:“改成 Java 的。”

它通常不会反问“改什么”。你接着说“加上注释”,它也知道要给 Java 版加。

这太自然了,自然到很少有人停下来想:它到底把“刚才那段”记在了哪里?

先给答案:

我们平时说的“AI 记忆”,其实混合了三样不同的东西——训练留下的知识、当前对话的上下文,以及产品替你保存的长期记录。

下面先认识几个天天见的词,再把这三样分开。分开之后,很多疑问都会变得简单:为什么换个聊天窗口后,它有时像不认识你,有时却还记得你的偏好,为什么聊久了会忘,为什么明明“记得”却又会记错,以及 Claude Code、Codex 这类工具为什么能连续工作很久。

一、先认识几个常见的词

这几个词天天见,说的却不是同一个维度:有的是领域,有的是路线,有的是功能,有的是目标。

AI · 一个领域

人工智能,泛指让机器做出看起来“有智能”的事。输入法联想、人脸识别、下围棋的 AlphaGo 都算 AI。它更像“医学”这样的领域名称。

大模型 · 一条路线

模型可以想成一台装满旋钮的机器,旋钮叫“参数”,训练就是反复调这些旋钮。7B、671B 说的就是参数数量,B 是十亿。“大”指规模:参数、数据和算力一起往上加,能力往往会稳定变强。

大语言模型 · 处理文字的那一支

ChatGPT、Claude、DeepSeek 背后都是它,日常说“大模型”多半指它。它的基本动作是读一段文字,接上最可能的下一小段,再连同前文继续往下接。在海量文字上反复练习“往下接”,语言规律和知识就被压进了参数。

生成式 AI · 一种功能

能产出新文字、图片、代码或视频的 AI,生成的内容常叫 AIGC。它和大模型是交叉关系,重叠的那一块就是“生成式大模型”。能同时处理文字、图片和声音的模型,叫“多模态”模型。

AGI · 一个目标

通用人工智能,指几乎所有智力任务都能达到人类水平、还能举一反三的系统。今天的大模型还不算,什么才算实现,业内也没有统一标准。

图 1|AI 是领域,大模型是路线,生成式 AI 是功能,三者有交叉;AGI 是目标,不是某一种技术。

再记三个词

Token(词元)

模型读写文字的最小单位,可能是一个汉字、一个词或半个英文单词。计费和“一次能读多长”的上限,通常都按 Token 算。

推理模型

回答前会投入更多计算,分多步分析、检查和修正;产品显示的“思考过程”有时只是整理后的摘要。

幻觉

AI 一本正经地编出不存在的内容。原因是它生成的是“最像”的话,不是查证过的事实。

一句话记住

AI 是领域,大模型是路线,生成式 AI 是功能,两者重叠处是生成式大模型;AGI 是还没到的目标。

二、AI 的“记忆”,至少有三层

第一层:参数里的知识

前面说过,大语言模型在海量文字上训练后,会把语言规律和常见知识压进参数里。

所以你新开一个对话,它仍然知道北京是中国的首都,也知道 Python 的基本语法。这可以看作模型的“长期知识”,但它不是一座能按书名和页码查询的图书馆,也通常不会因为刚和你聊了几句,就立刻改写参数。

这就是为什么模型知道很多公共知识,却不会天然知道“你刚才说了什么”。

第二层:眼前这一轮的上下文

模型回答时,只能依据这一次交到它面前的内容:系统给它的规则、你们之前的相关对话、你刚输入的话,以及可能附带的文件或工具结果。

这份内容叫“上下文”。它更像工作台:摆在台面上的,模型此刻看得见;没有摆上来的,它就不能凭空知道。

我们在同一个聊天窗口里感受到的连续性,主要来自这一层。

第三层:产品保存的长期记录

有些产品会记住你的称呼、偏好或者过去聊过的事情。通常不是模型在脑中永久留下了印象,而是产品把这些信息存在数据库里,需要时再挑出来放进上下文。

它像贴在工作台旁边的便签。便签是产品保管的,模型只是这一次看到了它。

一句话记住

参数像受教育后留下的知识,上下文像眼前的工作台,产品记忆像随用随取的便签。三者都被叫作“记忆”,机制却完全不同。

三、你按下发送之后,发生了什么

先建立一个认知:你手里的聊天 App,和真正生成回答的模型,是两样东西。

前台和后厨

App 或网页是前台,负责接收你的文字、管理聊天记录、显示回复。模型跑在厂商的服务器上,App 通过一个叫“接口”的通道把内容交给它,再把它写好的回复取回来。

就像点外卖:你在 App 上下单,前台整理好订单交给后厨,后厨做好后再把结果送回来。

一张“订单”里有什么

你按下发送时,产品会为这一轮准备一份输入。里面通常不只包含你刚打的那句话,还可能有四类内容。

系统规则

告诉模型要扮演什么角色、遵守哪些限制、用什么方式回答。

对话上下文

这次回答所需的前文,可能是原始聊天记录,也可能是摘要或者挑选出的相关片段。

你的新消息

例如“改成 Java 的”。

工具和附件

模型可以使用哪些工具,以及你上传的图片、文档或工具返回的结果。

模型根据这份输入生成回复,产品再把回复显示到屏幕上。

图 2|一次对话的往返:产品把规则、上下文和新消息等内容整理成输入,模型生成输出。示意图,已简化。

模型本身是“无状态”的

这里有个专业说法:模型本身是“无状态”的。

意思是,模型的参数不会因为和你聊了几句就改变;这一次回答算完,它也不会自动把这段对话带进下一次。下一次回答只能依据产品为它提供或续接的上下文。

所以,聊天之所以能连续,不是模型自己做到的,而是产品每次都把该知道的内容重新放进输入。下一节就来看它是怎么放的。

这也解释了一个容易混淆的事实:聊天内容可以被产品保存,但“已经保存”不等于“模型这一轮正在读取”。隐私政策关心前者,回答时的上下文关心后者。

一句话记住

模型本身是无状态的,不会在聊天窗口里一直醒着。每次回答前,产品都要重新告诉它:规则是什么、前面发生了什么、你现在又说了什么。

四、它怎样接上“刚才那段”

最常见、也最容易理解的办法,是把相关的聊天历史再次交给模型。

你以为第三轮只有“加上注释”四个字。模型实际看到的可能是:写个冒泡排序、这是 Python 版、改成 Java 的、这是 Java 版、加上注释。

它读到这串上下文,自然知道“加上注释”指向什么。

图 3|多轮对话的一种常见实现:每一轮都带上此前的消息,只有橙色那条是新输入。也有产品让服务器按编号接续,或只放入摘要和相关片段。

打个比方

把模型想成一位认真但不会自动保留上一张订单的厨师。

你每次下单,前台都会附上一本笔记本,里面写着这次做菜需要知道的往来。厨师读完笔记本,就能接着做。

他看起来记得你,其实是每一轮都重新拿到了线索。

但不一定每次都“原样重发整本”

“把全部聊天记录重新发一遍”是常见实现,却不是所有产品的唯一做法。

有的产品每次由 App 自己把历史带上;有的只需附上上一轮回复的编号,厂商的服务器会按编号把前面的记录找出来接上。对话太长时,产品还可能删掉较早内容、把旧对话压成摘要,或者只把与新问题有关的几段找出来放进去。

传输方式可以不同,核心没有变:

模型要接上前文,就必须在这一轮获得足够的上下文。

至于这些内容是 App 重新送来、服务器按编号找回,还是从摘要和数据库里拼出来,只是各家产品的做法不同。

一句话记住

“记得刚才”不是模型在回忆,而是系统在为这一轮重建上下文。

五、笔记本越来越厚,会发生什么

第一,输入通常会变多

前面说过,接口通常按 Token 计费:进入这一轮上下文的内容越多,输入成本通常越高。普通聊天产品可能按月收费,你看不到每一轮的账单,但后台仍然要处理这些文字。

长输入也可能增加等待时间,不过缓存、硬件和服务端优化会改变实际体验,所以“越长一定越慢”并不是铁律。

第二,工作台有大小上限

模型一次能处理的内容有限,这叫“上下文窗口”。产品和模型不同,上限也不同,而且数字还在不断变化。

快放不下时,产品可能删掉较早内容、压缩成摘要、只保留它判断为重要的部分,也可能直接提示超限或要求新开对话。

压缩会丢细节,挑选也可能挑错。所以聊到后面,它忽然忘了最初的一个要求,并不神秘:那句话可能已经没有被放回工作台。

第三,看得见,也不等于用得好

即使某句话还在上下文里,模型也未必每次都能准确抓住它。内容越长、话题越杂,重要要求越容易被大量细节淹没,互相矛盾的指令也更难处理。

上下文窗口回答的是“最多能放多少”,不是“放进去的每个字都能被完美使用”。

第四,缓存能省计算,但不是记忆

如果多轮请求的开头相同,服务商可以复用之前算过的中间结果,这叫提示词缓存。它能减少重复计算,并可能降低延迟和输入费用。

但缓存不会自己理解“你喜欢简洁回答”,也不会主动找回上周的聊天。它只是把相同的前半段算得更省。

一句话记住

上下文越长,成本、容量和“抓不住重点”的问题越明显;缓存能省计算,却不会把模型变成真正认识你的老朋友。

六、为什么 AI 会“记错”

理解了三层记忆,就能看出“记错”通常从哪里来。

原话已经不在上下文里

产品删掉了旧消息,或者只留下了一段摘要。

摘要丢了细节

“周五前完成初稿”被压成了“尽快完成”,时间要求就消失了。

长期记忆选错了

产品找回了一条过时偏好,或者把一次临时选择当成了长期习惯。

模型在补空白

它没有找到答案,却生成了一段听起来连贯的话,让人误以为它真的记得。这正是前面说的“幻觉”。

所以,AI 的“记忆”更像一次次重建,而不是从脑海里播放一盘完整录像。重建得越充分,回答越连贯;线索残缺或者被选错,它就可能把空白补错。

四个更实用的使用习惯

换了任务,就考虑开新对话

无关历史越少,重点越清楚。

关键要求,在重要节点重新说一遍

不要只依赖几十轮前的一句话。可以直接说:“继续之前,先复述你的目标、限制和完成标准。”

需要事实时,给资料并要求标明依据

“记得像真的”不能替代查证。

留意产品的记忆与隐私设置

不希望跨对话保留的信息,不要只靠“新开聊天”来清除;应查看相应产品的保存、记忆和删除选项。

一句话记住

AI 记错,往往不是某个“记忆细胞”坏了,而是上下文被删减、摘要失真、长期记忆找错,或者模型把缺口补成了一个顺口的答案。

七、同一个原理,怎样让 AI 动起手来

Claude Code、Codex 这类工具看起来不只会聊天,还能读文件、改代码、运行测试。它们靠的仍然是同一套上下文机制,只是多了一双“手脚”。

大脑在云端,手脚在程序里

大模型可以处理文字、图片等输入,也可以生成文字或结构化的工具请求,但它本身不会直接碰你的硬盘。Claude Code、Codex 是装在你电脑上的程序(有的也提供云端版本),通过接口和模型来回通信,真正去读文件、跑命令的是本地程序或受控的云端工具。

程序每次发请求,都会附上一份“工具清单”:读文件、改文件、运行命令、搜索代码……每个工具写明叫什么、能做什么、要填哪些参数。

模型只“说”,程序去“做”

模型想用工具时,会回一段格式固定的内容,大意是:调用“读文件”工具,路径是 src/login.py。这叫“工具调用”。程序认出格式就去执行,把结果写回上下文,再发回给模型。模型自己什么也没碰。

比如你说“登录总是失败,帮我修好”:模型先要求搜索相关代码、读文件,再要求运行测试;看到报错后提出修改,改完再跑一遍测试,全部通过才写一段话告诉你改了什么。

“模型决定 → 工具执行 → 结果回传 → 模型再决定”,一圈又一圈,这就是智能体,也叫 Agent。

图 4|智能体的一圈:程序把上下文和工具清单交给模型,模型提出下一步,工具执行后再把结果写回上下文。

复杂任务可能要转几十圈,每一圈上下文都会变长,所以智能体做一件大事往往很耗 Token。

好不好用,一半看程序

程序要如实回传报错,模型才能发现失败、自己改对;还要按风险管理权限:普通读取可以自动执行,修改和命令是否询问取决于设置,删除、发送、付款等高风险动作应保留人工确认;上下文快放不下时,还需要通过压缩或摘要保留关键信息。

所以给智能体提需求时,最好说清楚目标和“怎样算完成”,并给它检查结果的办法,比如“改完跑一遍测试,全部通过再告诉我”。

一句话记住

智能体不是模型突然长出了手脚,而是程序把工具和结果不断放进上下文,让模型一轮一轮地决定下一步。

···

参数让模型带着训练所得的知识而来。

上下文让它接得上眼前这段对话。

产品记忆让一些信息能跨对话再次出现。

所以,AI 并非完全“没有记忆”,也不是像人一样在脑海里保存与你的相处。

更准确的说法是:

每次回答时,系统都在替它重建一份“此刻应该知道什么”。

在《人工智能的发展史》里,我们看到机器一步步接过判断里的更多环节。到了今天,真正决定一次 AI 体验的,已经不只是模型本身,还有谁在整理这份上下文、谁在选择记住什么,以及谁守着工具执行前的最后一道门。

相关学习资料