简介:记忆原生大模型将记忆的写入、保持、更新与读取内嵌于模型前向计算,让模型从“外挂检索记忆”走向“自带记忆”。本文系统梳理其定义、背景动因、核心组成与工作原理,对比其与长上下文、RAG等方案的区别,并总结典型场景与选型注意事项,帮助开发者快速建立完整认知。
如果把当前主流大模型的记忆方案分成两类,一类是“外挂式”——记忆以文本形式存放在模型之外,需要时检索出来拼进提示词;另一类就是本文讨论的“原生式”——记忆的写入、保持、更新与读取被直接设计进模型的前向计算过程,成为模型自身的一部分。
记忆原生大模型(Memory-Native Foundation Model)指的就是后者:一类在模型底座层面内置持久、可动态更新的记忆状态,使模型能够在交互中主动沉淀关键经验,并以内部数值状态的形式在后续计算中直接调用的模型架构范式。
可以从三个视角理解这一定义:
使用大模型较长时间后,多数用户都会遇到:刚刚让模型做过的事情,换个会话它就“懵了”。偏好、项目背景、踩过的坑统统归零,需要从头再说一遍。这不是个别产品的缺陷,而是当前大模型工作机制的必然结果——模型的“记忆”本质上只存在于当前上下文窗口之内。
路线一:加长上下文窗口。 上下文长度从数千扩展到百万级 token,把更多历史“硬塞进去”。其局限在于:推理成本随窗口长度显著上升;注意力被大量无关历史稀释,关键信息容易淹没在长文本中;最本质的问题是——这是“重新读一遍历史”,而不是“记住历史”,跨会话、跨任务仍无法复用。
路线二:RAG 与外部记忆系统。 把历史沉淀到外部存储,使用时检索相关片段放入上下文。这套方案解决了不少问题,但记忆始终是“外挂”的:模型对“什么值得记、记到什么粒度”没有发言权,检索质量成为整体效果的天花板;更重要的是,它擅长存“说过什么”(陈述性记忆),却难以结构化地存“做过什么、怎么做的、为什么这么做”(程序性经验)。
Agent 的兴起改变了问题的量级:我们希望模型记住的不仅是过去说过什么,更是过去做过哪些事情。以编程 Agent 为例,典型的程序性经验包括:排查某类问题应遵照哪些步骤?哪些实现方案曾经踩过坑、原因是什么?这些经验决定了 Agent 能否在长程任务中越做越快、越做越准。
外挂方案可以把执行日志存下来,却很难让这些经验在模型后续计算中被直接、高效地利用。正因如此,近期开源社区出现的记忆原生模型引发了广泛关注:这类模型把记忆的读写直接放进模型计算过程,借助混合专家(MoE)等稀疏激活架构承载记忆相关计算;相关团队此前也推出过面向大模型与 Agent 的记忆操作系统(Memory OS)类方案,并在更早的底座探索中验证了“持久、可动态更新的内部记忆状态”这条技术路线。
完整的记忆闭环包含四个环节,记忆原生模型将它们全部纳入前向计算:
记忆原生模型中的记忆以数值状态形式存在,带来三个直接好处:
业界常见的实现思路是借助 MoE 这类稀疏激活架构:将记忆读写相关计算分配给特定专家模块,与常规语义计算解耦,在不显著推高整体计算成本的前提下为记忆操作预留专门的模型容量。同时,记忆原生的 Agent 框架通常还会配套“经验提取—沉淀—复用”的流程,把长程任务中的程序性经验持续写入模型记忆。
用一段示意性伪代码对比两种范式:
# 外挂式记忆(检索增强路线)def answer(query):docs = retrieve(query, external_store) # 1. 先在外部存储中检索prompt = query + "\n" + docs # 2. 拼接进输入return llm_generate(prompt) # 3. 模型被动消费文本# 记忆原生(示意)def answer(query, memory_state):hidden = forward(query, memory_state) # 1. 记忆状态直接参与前向传播memory_state = update_state(hidden) # 2. 写入/更新在计算中完成return decode(hidden), memory_state # 3. 输出与更新后的记忆状态
两者的关键差异集中在三点:
以软件工程评测中常见的大型开源 Web 框架项目为例:传统方案下,Agent 每次遇到同类接口兼容性报错都要从零排查;而在记忆原生框架中,“某类变更曾引发的兼容问题及其排查路径”会作为程序性经验写入模型记忆,后续遇到相似报错时可直接沿既有经验路径行动,显著缩短长程任务的试错链路。
| 维度 | 长上下文 | RAG/外部记忆 | 记忆原生模型 |
|---|---|---|---|
| 记忆位置 | 输入窗口内 | 模型外部存储 | 模型内部状态 |
| 记忆形态 | 原始文本 | 检索片段文本 | 数值化记忆状态 |
| 参与计算方式 | 注意力读取拼接内容 | 生成前检索拼接 | 前向传播内嵌读写 |
| 跨会话复用 | 弱 | 支持,依赖检索质量 | 原生支持 |
| 程序性经验 | 难以沉淀 | 依赖显式结构化记录 | 可沉淀为内部状态 |
| 主要成本 | 长窗口推理开销 | 检索链路与召回质量 | 记忆状态管理开销 |
另有两个容易混淆的概念:
回到定义本身:记忆原生大模型的核心特征,是让记忆的写入、保持、更新与读取和模型自身的计算过程同构——记忆不再是一段外挂的检索文本,而是直接参与计算的内部状态。它的核心价值在于跨会话、跨任务的经验复用,尤其是“做过什么”这类程序性经验的沉淀与调用,这恰好击中了 Agent 演进过程中最突出的短板。它的适用边界同样清晰:如果业务以短周期、单会话任务为主,外挂式记忆方案仍是性价比更高的选择。可以预期的是,随着记忆能力从系统层逐步下沉到模型层,“更长的上下文”与“更聪明的记忆”将不再是同一件事,而后者正在成为 Agent 走向可靠长程协作的关键拼图。