
记忆是什么在讲技术之前我们先问一个最基本的问题记忆是什么大多数人的直觉是记忆 存储过去发生的事情。但这个定义有一个致命的漏洞——如果记忆的目的是存储遗忘就是一个 bug。然而艾宾浩斯遗忘曲线告诉我们人类会主动、有规律地遗忘大量信息。演化不会保留 bug这说明遗忘是一个 feature——记忆的目的根本不是存储。现代神经科学的主流观点记忆的本质不是对过去的归档而是对未来行动的预测性准备。你记住一件事不是为了「回放」它而是为了下次遇到类似情境时能做出更好的决策。记忆还有第二个维度——有一句话说得很好「记忆是连接一个人的过去、现在和将来的精神胶水。」没有记忆就没有连续的自我没有「我是谁」。一句话定义记忆 压缩过去经验以降低未来行动的不确定性带着这个定义我们来看大模型的记忆是如何从零开始被构建的。01 · MESSAGE LIST一切的起点消息列表要理解大模型的记忆是怎么工作的必须先理解 OpenAI 接口的演化。这是整个行业的基础。1.0 时代Completion API文本补全最早的 GPT 接口text-davinci-003 时代是一个纯粹的「文本补全」接口。你输入一段文字模型帮你续写。它没有「对话」的概念只有「提示词」和「续写」。想实现多轮对话开发者只能手动把历史拼成一段字符串# Completion API 时代的多轮对话 prompt 你是一个有用的助手。用户你好我叫李坤助手你好李坤有什么可以帮你的用户我在研究LLM记忆系统助手 response openai.Completion.create( modeltext-davinci-003, promptprompt )所谓「记忆」就是开发者手动维护一个字符串每轮对话都把历史拼进去。简单粗暴完全没有任何结构化。2.0 时代Chat Completions API2023年3月GPT-3.5-turboGPT-3.5-turbo 带来了一个影响至今的接口设计结构化消息列表messages。messages [ {role: system, content: 你是一个有用的助手}, {role: user, content: 你好我叫李坤}, {role: assistant,content: 你好李坤有什么可以帮你的}, {role: user, content: 我在研究LLM记忆系统} ] response openai.ChatCompletion.create( modelgpt-3.5-turbo, messagesmessages )这个设计确立了沿用至今的三种角色system、user、assistant。最关键的事实模型是无状态的模型本身不存储任何东西。每次请求你必须把完整的对话历史通过 messages 传进去模型才知道之前发生了什么。所谓「记忆」就是这个 messages 数组本身——它存在于你的服务器上不在模型里。这个设计带来了四个直接问题01 **上下文窗口限制**GPT-3.5-turbo 最初只有 4K token约3000个汉字消息积累几十轮就满了只能截断。02 **成本线性增长**每次请求都要带全量历史对话越长每次 API 调用的费用越高用户聊得越多亏得越多。03 **跨会话失忆**messages 只存在于服务器内存里用户关闭页面再打开一切归零。下次见面如同第一次。04信噪比下降「你好」「好的」「谢谢」这类无意义交互和关键信息等权重地塞进上下文稀释了真正有用的内容。插曲SDK 本身也经历了一次大迁移2023年11月OpenAI 发布了 Python SDKv1.0.0这是一次重大的破坏性变更breaking change。所有使用旧接口的代码需要迁移SDK v0.x旧openai.ChatCompletion.create( modelgpt-3.5-turbo, messagesmessages)SDK v1.x新client OpenAI()client.chat.completions.create( modelgpt-3.5-turbo, messagesmessages)调用方式变了但底层逻辑没变messages 数组仍然是你手动维护的模型仍然是无状态的。这次迁移是工程规范的升级不是记忆架构的突破。2025年Responses API — OpenAI 自己给出了答案2025年OpenAI 发布了全新的Responses APISDK v2.x这才是对「无状态 手动维护 messages」问题的根本性回应。client OpenAI() # 第一轮正常发送 response client.responses.create( modelgpt-4o, input你好我叫李坤在研究LLM记忆系统, storeTrue # OpenAI 服务端存储这条对话 ) # 第二轮只传上一次的 response_id不用带全量历史 response2 client.responses.create( modelgpt-4o, previous_response_idresponse.id, input那你知道MemGPT是什么吗 )Responses API 的三个关键变化**状态前移**对话状态从客户端移到 OpenAI 服务端。通过previous_response_id串联对话不再需要手动维护全量 messages。**内置工具**Web Search、File Search、Code Interpreter 作为原生工具直接集成不需要开发者自己搭 RAG 或工具链。**Items 模型**输出单位从 message 变成了 item可以是文本、工具调用、工具结果等更适合复杂 Agent 工作流的编排。Responses API 本质上是 OpenAI 在协议层解决了「短期记忆手动维护」的问题——把 session 状态托管给平台开发者只需要传 ID。但它解决的仍然只是会话内的短期状态跨会话的长期记忆和中期记忆依然需要开发者自己设计。值得关注的是社区也在基于 Responses API 推动更广泛的标准化。Open Responsesopenresponses.org是一个开源规范项目由 NVIDIA、Vercel、OpenRouter、Hugging Face、LM Studio、Databricks、Red Hat、AWS、Ollama、OpenAI、vLLM、Llama Stack 等多家机构联合参与。02 · LANGCHAIN MEMORYLangChain 的四种记忆方案2022—2023年LangChain 作为最早系统性解决 LLM 应用工程问题的框架提出了一套Conversation Memory的抽象成为行业里第一批认真回答「对话历史怎么管理」的工程方案。核心思路是在 messages 发给模型之前做一层处理——决定「带什么」进去。方案一 ConversationBufferMemory — 全量保留**做法**把所有历史消息原封不动地全部带上。memory ConversationBufferMemory() # 每次对话自动追加全量传入模型**优点**实现最简单信息完整无损**缺点**无上限增长长对话直接超出 token 限制成本不可控方案二 ConversationBufferWindowMemory — 滑动窗口**做法**只保留最近 K 轮对话超出窗口的消息直接丢弃。memory ConversationBufferWindowMemory( k5 # 只保留最近5轮 )**优点**Token 可控成本可预测**缺点**硬截断超出窗口的话全部消失早期重要信息丢失方案三 ConversationSummaryMemory — 摘要压缩**做法**不保留原始消息而是用 LLM 对历史对话生成一段摘要每次只把这段摘要带入上下文。摘要示例「用户李坤是AI产品经理本次对话讨论了LLM记忆系统的分类重点关注中期记忆的缺失问题倾向于从神经科学角度理解记忆本质。」**优点**极大压缩 token 用量可支持超长对话**缺点**摘要会丢失细节每次需额外一次 LLM 调用摘要质量依赖模型能力方案四 ConversationSummaryBufferMemory — 混合方案**做法**近期消息保留原文超过 token 阈值的旧消息压缩为摘要。结合了方案二和方案三的优点。摘要层「前期对话摘要用户在讨论记忆系统架构……」原文层「最近5轮对话完整原文」**优点**近期细节完整远期信息不完全丢失是当时实践中效果最好的方案**缺点**仍然是单一会话内的方案无法解决跨会话问题摘要质量仍是瓶颈LangChain 这四个方案的历史价值这是行业第一次系统性地思考「对话历史怎么管理」——从简单截断到摘要压缩到混合方案构成了一条清晰的工程演进路径。但所有这四个方案都有同一个根本局限**它们都只在单次会话内工作无法跨会话持久化。**用户关了窗口一切归零。03 · ENTERPRISE PRACTICE企业是怎么做的画像 多轮对话当 LangChain 在工程框架层面探索记忆方案的同时真实落地了 LLM 产品的企业选择了一条更务实的路把已有的用户画像系统直接接进来。为什么用户画像成了第一个「长期记忆」这件事之所以自然发生有一个结构性原因用户画像在大模型出现之前就已经存在了——它是企业过去几年在推荐系统、风控、运营里沉淀的资产。接入大模型时最低成本的方案就是把这份已有数据塞进 System Prompt。messages [ { role: system, content: 你是用户的专属助手。 【用户画像】 姓名李坤 | 职业AI产品经理 偏好简洁回答偏好技术深度 历史过去30天活跃用户主要使用场景为工作研究 }, # 最近N轮对话... ]电商 App购买记录、浏览偏好 — 比聊天记录更能反映用户真实需求健康 App运动数据、历史目标 — 跨会话上下文天然就在那里金融 App持仓、风险偏好 — 画像系统里本来就有结构化数据这个阶段的记忆架构长期记忆 用户画像 KV稳定的用户标签、偏好、属性。由业务系统维护定期更新。写入 System Prompt。短期记忆 当前会话消息列表最近 N 轮对话原文会话内实时更新会话结束即销毁。写入 Messages中期记忆 「用户最近几次会话在干什么」— 几乎没有产品认真建过这一层为什么中期记忆长期缺位需要在会话结束后异步触发「摘要提取」的 pipeline额外的 LLM 调用成本、独立存储系统、「什么值得保留」的判断逻辑——四个工程问题叠在一起而早期 ROI 不明确团队优先级自然排后。还有一个更隐蔽的问题用户在 App 里的即时业务行为——刚刚加购了什么、刚搜索了什么、刚完成了一次训练——这些信息对当下对话极度相关但既来不及进用户画像也不在消息列表里没有对应的层来承接这类实时信号。04 · NEUROSCIENCE人类记忆研究给了我们什么就在各方用经验性方案修补记忆问题的同时认知心理学和神经科学已经积累了几十年关于记忆的系统性研究。这些研究反过来深刻影响了后来的 AI 记忆架构设计。Atkinson-Shiffrin 模块模型1968感觉记忆 毫秒 ~ 秒原始感官输入未被注意到即消失。对应 AI实时事件流、即时业务行为。短时 / 工作记忆 秒 ~ 分钟主动处理的信息容量有限需复述才能维持。对应 AI当前会话消息列表。长时记忆 天 ~ 终生巩固后的知识容量几乎无限。对应 AI用户画像 KV 情景摘要。最关键的细分情景记忆 vs 语义记忆情景记忆Episodic Memory— 带时间坐标的个人经历「上周三我在咖啡馆和朋友讨论了 LLM 记忆他提出了一个关于中期记忆的好问题。」具体的、有时间地点的、个人的。— 对应 AI 记忆的中期记忆最近几次会话发生了什么语义记忆Semantic Memory— 稳定的事实和知识「这个朋友叫李坤是AI产品经理特别关注记忆系统的工程化问题。」抽象的、不依附于具体事件的、稳定的。— 对应 AI 记忆的长期记忆用户画像 KV**关键洞察**企业的用户画像系统本质上只建了语义记忆。而情景记忆用户最近经历了什么、正往哪个方向走几乎没有产品认真建过——这正是中期记忆长期缺位的神经科学视角解释。记忆巩固过程从情景到语义神经科学发现记忆的固化分两步原始情景记忆存储在海马体经过反复激活和整合通常在睡眠中完成逐渐转化为存储在新皮层的稳定语义知识。原始情景记忆海马体 → 反复激活 / 睡眠整合 → 稳定语义知识新皮层这个「巩固」过程正是后来 Generative Agents 论文里 Reflection反思机制的直接灵感来源——会话结束后异步触发的摘要提炼本质上是在模拟记忆巩固。05 · LANDMARK PAPERS两篇改变行业的经典论文2023年两篇论文从完全不同的角度系统性地回答了大模型记忆的核心问题MemGPT 2310.08560 · Berkeley存哪里 怎么取架构层— 解决上下文窗口有限但任务无限长Generative Agents 2304.03442 · Stanford什么值得存 如何提炼认知层— 如何从经历中产生连贯的长期行为arxiv 2310.08560 · UC Berkeley · 2023.10MemGPT — 把大模型当操作系统来设计Towards LLMs as Operating Systems问题上下文窗口是一堵墙2023年中期GPT-4 的上下文窗口是 8K tokenGPT-3.5-turbo 只有 4K。想让 AI 分析一份完整的法律合同根本塞不进去跨会话的记忆更是无从谈起。Berkeley 的研究者说等等这个问题六十年前就解决过了。核心洞察LLM 就是操作系统1960年代OS 用虚拟内存解决了「RAM 有限但程序需要处理超大数据」的问题把暂时不用的数据换出到硬盘需要时再调回来。MemGPT 把同样的思路搬到了 LLM传统计算机CPU 只能操作 RAM 里的数据 ↔︎ RAM快/小↔︎ 硬盘慢/无限大MemGPTLLM 只能处理上下文窗口 ↔︎ 上下文快/小↔︎ 外部存储慢/无限大三层记忆架构第一层 · Main Context主上下文— LLM 直接能看到分两个区域System Prompt 里存核心记忆Core Memory关于用户的关键事实 FIFO 对话队列最近消息满了从头丢弃旧消息第二层 · Recall Storage召回存储所有历史对话消息的完整存档支持关键词和语义搜索。类似全文检索数据库Agent 主动查询。第三层 · Archival Storage归档存储理论上无限大的长期知识库存参考文档、海量数据、跨会话重要事件记录通过语义向量检索。最关键的机制Agent 自己管理记忆**这是 MemGPT 与所有前人方案的根本区别。**以前开发者写规则决定何时检索什么LLM 被动接收。MemGPT 给 LLM 配备了函数调用能力它自己决定何时检索、何时更新# Agent 更新对用户的认知 core_memory_append(namehuman, content用户在研究LLM记忆系统) # Agent 主动翻历史 recall_memory_search(query上次说到中期记忆是什么时候) # Agent 把洞察写入长期存档 archival_memory_insert(content用户认为情景记忆对应中期记忆)一个具体场景用户第 100 轮问「上次我说的那个 Python 项目怎么样了」。FIFO 队列里早已没有第 5 轮的内容。此时 Agent 自主判断需要去检索历史 → 调用 recall_memory_search → 找到第 5 轮对话 → 加载进上下文 → 回答。一切由 Agent 自己完成。核心价值与局限第一个把「记忆管理」从工程配置变成 Agent 能力的系统打开了有状态 Agent 的大门直接影响了 LangGraph Memory、Letta 等后续产品。Recall Storage 存的是原始对话流水没有摘要和提炼。Agent 不一定知道何时该检索弱模型会做出糟糕的记忆决策。arxiv 2304.03442 · Stanford · 2023.04Generative Agents — 让 AI 学会反思Interactive Simulacra of Human Behavior实验25 个 AI 住进了一座小镇斯坦福团队创建了一个叫 Smallville 的虚拟小镇就像《模拟人生》里的世界。25 个 AI Agent 住在里面每人有名字、职业、性格、人际关系。研究者想知道在没有任何显式编程的情况下这些 Agent 能不能自发产生真实的社会行为令人震惊的涌现行为Isabella 随口对一个 Agent 提了一句「我想办个情人节派对你来吗」——没有任何代码里写过「举办派对」的逻辑。但这句话通过记忆系统的传播和提炼情人节当天大多数 Agent 自发聚集到了咖啡馆。派对就这样从记忆系统里涌现出来了。模块一 Memory Stream记忆流每个 Agent 的所有经历都被记录为带时间戳的条目并在创建时由 LLM 打一个重要性分数1—10 分「今天早上去了咖啡馆」重要性2「Klaus 向 Maria 表白了」重要性9「情人节派对在咖啡馆举办」重要性7检索记忆时用一个三维评分公式选出最相关的内容检索得分α₁ · 时近性 α₂ · 重要性 α₃ · 相关性时近性越新的记忆得分越高使用指数衰减 0.99^ΔtΔt 为小时数重要性创建时打分永久附着在记忆上不随时间变化相关性与当前查询的余弦相似度三者缺一不可模块二 Reflection反思— 论文最重要的创新只有原始记忆不够。人不只记录发生了什么还会从中提炼规律和判断。当近期记忆重要性分数累积到 150 分时触发一次反思1 取出最近 100 条记忆的摘要2 让 LLM 生成 5 个值得探索的高层问题「Klaus 和 Maria 的关系如何发展」3 对每个问题检索最相关记忆LLM 提炼洞察「Klaus 对 Maria 抱有浪漫的感情但还没有表达出来」4 这个洞察作为新的记忆条目写入 Memory Stream可被后续检索也可触发更高层次的反思反思可以递归Reflection 就是「记忆巩固」的 AI 实现。原始情景记忆 → 经过反思 → 语义洞察 → 再次反思 → 更高层抽象。这和大脑在睡眠中整合记忆的过程惊人地相似。模块三 Planning规划Agent 每天生成粗粒度计划递归分解为 15 分钟级别的细粒度行动序列并根据新观察动态调整。计划的质量直接取决于记忆系统的质量。消融实验三个模块缺一不可无 ReflectionAgent 长时间运行后行为变得随机因为无法从经历中形成稳定认知无 Planning行动碎片化无法执行需要提前安排的社会行为三者齐全涌现出完整的社会行为八卦传播、派对组织、关系建立核心价值与局限证明了记忆价值在于提炼质量而非存储量。首次实现情景→语义转化链路。三维检索公式成为行业标准参考。直接影响了 Mem0、Zep 的设计。Reflection 触发阈值在真实产品里难以精确控制。反思质量完全依赖模型推理能力错误洞察会以高置信度写入很难纠正。两篇论文合在一起才是完整的答案MemGPT 解决存哪里 怎么取架构层— 分三层存Agent 自己决定何时检索Generative Agents 解决什么值得存 如何提炼认知层— 重要性评分 三维检索 Reflection两者共同的空白中期记忆触发时机、即时业务行为接入、跨层一致性保证结合两篇论文完整工作流应当是新对话 → 重要性评分写入记忆流 → 分层存入对应存储 → 重要性累积触发 Reflection 提炼洞察 → 下次对话时 Agent 自主调用函数检索 → 三维评分选取相关记忆注入上下文。这个流程正是 Mem0、Zep、LangGraph Memory 等产品今天在工程化实现的方向。06 · FAILURE MODES记忆实现里最常见的难题记忆的生命周期分为写入 → 存储 → 检索 → 推理 → 系统级五个阶段每个阶段都有独立的失效模式。A. 写入阶段Poisoning 记忆投毒脏数据被写入记忆库后随多轮召回持续扩散后续所有关联任务都复用这条错误信息造成连续推理错误。Hallucination Injection 幻觉植入模型在生成摘要或 Reflection 时产生幻觉把不存在的事实写入记忆库。原始对话没说过记忆里却有了。Attribution Confusion 来源混淆无法区分「用户说的」「AI 推断的」「文档里的」三类来源全部以同等置信度写入导致推断被当成事实。Reflection Error 反思误归纳原始记忆正确但 Reflection 过程抽象出了错误的高层洞察。用户连续三次问 Python 高级问题 → 被归纳为「用户是 Python 初学者」。B. 存储阶段Burst 记忆暴增信息涌入过快上下文超限系统无法及时消化写入导致大量信息丢失或写入质量下降。Decay 记忆过期衰退TTL 设置过激进重要记忆在仍然有效时就被清除。「下周五 deadline」这条记忆在 deadline 到来前就过期了。Drift 记忆漂移事实发生了变化但记忆没有更新旧事实继续被使用。用户从 Python 切换到 Go但长期记忆里仍写着「偏好 Python」。Fragmentation 碎片化语义强相关的记忆被存为孤立碎片。「用户在做项目A」「项目A用Python」「项目A周五截止」三条孤立记忆检索任意一条都不会带出另外两条。C. 检索阶段Retrieval Gap 检索缺口记忆存在但检索机制无法命中。Query 的 embedding 与 memory 的 embedding 向量距离过大有记忆但找不到。Recency Bias 近因偏差检索系统对最新记忆权重过高压制久远但更权威的信息。今天随口问了 Java掩盖了「用户有10年Go经验」。Spurious Activation 噪声激活不相关的旧记忆因表面词汇相似被错误召回引入误导性上下文。Retrieval Overload 检索过载命中的记忆过多全部注入上下文导致关键信息被稀释。每次召回50条记忆真正有用的3条被淹没。D. 推理 / 使用阶段Conflict 记忆冲突多条事实相互矛盾模型不知道信哪条。需要矛盾消解、时序覆盖、可信度校验机制。Noise 记忆噪声大量低价值冗余碎片信息占据上下文需要过滤、压缩、摘要精简。Compounding Error 错误级联错误记忆 → 错误 Reflection → 错误规划 → 产生新的错误记忆层层放大。初期微小错误被巩固成高置信度标签后几乎无法纠正。Memory Anchoring 锚定偏差最早写入的记忆成为后续推理的隐性锚点即使后来的证据应推翻它也难以覆盖。Temporal Incoherence 时序错乱过期的情景记忆被当作当前事实使用。「项目A下周五截止」在截止日过后仍被频繁召回。E. 系统 / 安全级Cross-Session Contamination 跨会话污染多用户场景下一个用户的记忆渗入另一个用户的上下文。最严重的数据安全问题。Scope Creep 上下文越界一个场景下写入的记忆被不当迁移到完全不相关的场景。健康信息出现在工作助手的对话里。Injection Attack 注入攻击攻击者通过精心构造的输入主动操控记忆写入流程区别于被动的 Poisoning这是有目的的主动攻击。Consistency Violation 跨层不一致同一事实在短期、中期、长期记忆中存储了不同版本无一致性校验机制两层同时注入时模型不知信哪个。最值得警惕的三个Compounding Error— 初期微小错误被 Reflection 层层巩固成高置信度标签后期几乎无法溯源纠正。引入反思机制的系统都需要重点防范。Fragmentation— 绝大多数记忆系统存的是孤立 KV 对没有关联结构每次只能召回碎片而非完整语境。工业上最普遍被忽视的问题。Drift— Conflict 的慢性版本。旧事实悄悄过时但没有人主动更新只有新旧信息同时出现时才暴露而用户早就期望系统应该知道变化了。CLOSING从一条 messages 数组到 LangChain 的四种压缩方案到用户画像进入 System Prompt到 MemGPT 的操作系统类比到 Generative Agents 的反思机制——AI 记忆系统走过了一条清晰的演化路径。真正意义上「懂你」的 AI必须先解决记忆的问题。篇幅和时间问题后面我们继续再讲Zep, Hindsight, Mem0这些优秀记忆产品的实践和发展历程LoCoMo、LongMemEval、MemoryArena这些记忆评测bench的关键以及业务落地中的真正难题。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】