Metis:不是外部RAG,而是原生记忆!首个记忆基础模型诞生
Metis: Memory Foundation Model

在过去几年中,大语言模型的能力边界得到了极大的拓展,但当我们将这些模型构建为复杂的 AI Agent 时,一个核心瓶颈始终存在:模型本身是没有记忆的。为了解决这个问题,当前的行业标准做法是依赖检索增强生成(RAG)等外部记忆模块,将历史信息转化为文本片段塞入模型的上下文窗口中。然而,这种“外挂式”的记忆方案正在显露出其固有的天花板。
ArXiv URL:https://arxiv.org/abs/2607.26760v1
由 MemTensor 联合新加坡国立大学、中国人民大学、上海交通大学和同济大学等机构提出的最新研究给出了一条截然不同的破局之路。研究团队不仅在概念上首次定义了“记忆基础模型”(Memory Foundation Models),还成功构建了首个具备原生记忆能力的原型模型 Metis。这项工作直接切中当前 Agent 记忆机制的痛点,证明了记忆不必游离于模型之外,而是可以作为一种原生的网络参数状态,内化到大模型的前向计算过程中。
最值得关注的结论在于,Metis 实现了一种“零梯度”(gradient-free)的在线记忆维护机制。在推理阶段,模型的所有静态权重保持冻结,但其内部的“原生记忆状态”会随着输入信息,通过标准的前向传播进行自主更新和演进。这种设计彻底摆脱了对外部数据库和向量检索的依赖,让模型真正拥有了类似于人类“海马体”的内部记忆机制。
外部记忆的困境与原生记忆的崛起
在探讨 Metis 的具体架构之前,有必要先审视目前主流外部记忆方案的局限性。当前的大多数 Agent 框架将记忆与模型的骨干网络彻底解耦,这种割裂带来了不可调和的矛盾。
外部记忆通常只负责构建一个包含丰富信息的上下文,而骨干模型仅仅是在这个被动喂给的上下文中执行条件语言建模。这意味着,外部记忆检索出的内容未必是骨干网络在当前推理中最需要的信息;反过来,骨干网络也无法主动优化外部记忆的检索逻辑。更为致命的是,外部记忆的读写操作是离散的文本处理过程,梯度无法在模型与外部数据库之间有效反向传播,导致端到端优化变得异常困难。尽管部分研究尝试引入强化学习来优化记忆操作,但由于效率低下,难以在大规模场景中推广。此外,频繁地对外部存储设备进行读写操作,不可避免地增加了系统在线推理的延迟。
为了打破这一僵局,研究团队提出了“记忆基础模型”的构想,其核心理念是将记忆能力从外部模块转化为骨干模型的内部机制,使其直接参与到每一次的前向计算中。在这个全新的范式下,原生记忆(Native Memory)被赋予了两个维度的严谨定义:原生记忆状态与原生记忆过程。

所谓“原生记忆状态”,意味着记忆基础模型在多轮推理中原生具备状态性(Stateful)。不同于传统大模型在每次生成结束后就“阅后即焚”,记忆基础模型能够在骨干网络内部形成、维持并利用来自过往推理的记忆状态。这些记忆状态动态地表现为模型参数的一部分,且其语义空间在预训练或中期训练阶段就已与模型的静态参数完成了对齐。
而“原生记忆过程”则颠覆了传统的记忆工程。记忆的存储、遗忘和更新不再是由外部的 Python 代码或向量数据库 API 控制,而是伴随模型骨干网络的前向计算自主完成的。模型接收到指令后,其计算过程本身就是对记忆状态的操作。这种高度内化的设计使得记忆基础模型可以像普通基础模型一样,通过数据驱动的方式进行后训练,进而适配不同的垂直领域。
Metis 的核心架构:为大模型植入“海马体”
作为首个记忆基础模型的原型,Metis 的架构设计极具启发性。它在传统的因果语言模型基础上进行了深度的机制创新,引入了基于快速权重编程(Fast Weight Programming, FWP)理念的 Metis 块(Metis blocks)。
在标准的 Transformer 架构中,当前词的生成依赖于对历史 Token 的注意力计算,所有历史状态都被存储在不断增长的 KV Cache 中。然而,KV Cache 本质上仍然是当前会话的上下文,无法跨越不同的交互周期形成持久记忆。Metis 的思路是:不把历史信息存为冗长的 Token 序列,而是将其压缩并编码到一个固定大小的参数矩阵中,在后续交互时通过特殊的“记忆注意力”(Memory Attention)进行读取。

Metis 的基本组成单元由两部分协同工作:超记忆块(Hyper Memory Block)和局部记忆块(Local Memory Block)。
超记忆块可以被视为记忆的“筛选器与投影仪”。它的任务是基于当前步骤的输入和输出中间激活状态,决定哪些信息值得被记住,并将它们转化为适合存入记忆体的数据格式。超记忆块包含了一组在训练阶段习得且在推理阶段冻结的静态参数。具体而言,它引入了一个可学习的重要性向量 $\tilde{\mathbf{w}}_{\text{agg}}^{(l)}$,用于对输入序列的隐藏状态进行打分和自适应聚合。模型并非把所有 Token 同等对待,而是通过 Softmax 函数和重要性阈值筛选出真正有价值的信息。被选中的隐藏状态随后会通过记忆键投影矩阵 $\tilde{\mathbf{W}}_K^{(l)}$ 和记忆值投影矩阵 $\tilde{\mathbf{W}}_V^{(l)}$,映射为专供局部记忆块使用的记忆键(Memory Keys)和记忆值(Memory Values)。
局部记忆块则是真正的“记忆存储介质”,它维持着两个跨时间步动态演进的矩阵:记忆矩阵 $\mathbf{M}_t^{(l)}$ 和归一化状态矩阵 $\mathbf{S}_t^{(l)}$。当新的信息(即上述的记忆键和记忆值)传递过来时,局部记忆块通过一种指数滑动平均(EMA)的机制更新这两个矩阵。在时刻 $t+1$,记忆状态的更新公式为:
\[\mathbf{M}^{(l)}_{t+1}=\lambda\mathbf{M}^{(l)}_{t}+\frac{(1-\lambda)}{L_{t}^{\prime}}\cdot\frac{\tilde{\mathbf{K}}_{t}^{(l)\top}}{\sqrt{d_k}}\tilde{\mathbf{V}}_{t}^{(l)}\]这里的 $\lambda$ 是一个衰减系数,控制着旧记忆的保留比例;而等号右侧的第二项,则是利用当前被筛选出的 $L_{t}^{\prime}$ 个 Token 计算出的增量记忆。这个过程完全是通过矩阵乘法这种标准的神经网络前向计算完成的。因此,在在线交互时,Metis 不需要反向传播,不需要计算梯度,只要走一遍前向传播,记忆就被永久地刻印在了动态参数 $\mathbf{M}$ 和 $\mathbf{S}$ 中。
当需要利用记忆进行推理时,模型会使用由当前查询向量计算出的记忆注意力机制。模型分别在当前的 KV 状态和原生的记忆状态中进行查询,并通过一个平衡因子 $\gamma$ 将标准注意力的结果与记忆分支的读出结果进行融合。这样,模型在生成每一个词时,既考虑了当前的对话上下文,也提取了内化在参数深处的历史记忆。
数学视角的优雅:从虚拟前缀到线性注意力
Metis 并非简单地将几个模块拼凑在一起,其背后的原生记忆机制具有极其严谨的理论基础。研究团队提供了一个精妙的数学推导,揭示了 Metis 的记忆块在本质上是对传统注意力机制的等价近似和降维压缩。
假设我们希望利用来自过去交互的历史信息,最直白的方法是在当前输入前面拼接一个包含所有历史信息的“虚拟记忆前缀” $\mathbf{P}_t^{(l)}$。在标准的注意力机制下,当前时刻的查询向量 $\mathbf{Q}_t^{(l)}$ 会同时与虚拟前缀和当前输入进行注意力分数计算。经过矩阵分块推导,研究人员证明了这种全局注意力可以被完全拆解为两部分之和:一部分是仅依赖当前输入的原始注意力(Original Attention),另一部分则是查询向量专门针对虚拟前缀计算的记忆注意力(Memory Attention)。
由于标准注意力机制中存在复杂的 Softmax 归一化,使得两部分的融合依赖于全局信息,这导致无法将历史信息预先固化为固定大小的矩阵。为了突破这一理论障碍,Metis 巧妙地采用了线性近似(Linear Approximation)思想。
在记忆注意力分支中,如果我们不使用指数形式的 Softmax,而是直接使用缩放点积来衡量查询与历史键的相似度,即用 $\frac{\mathbf{Q}_t^{(l)}(\mathbf{P}_t^{(l)}\mathbf{W}_K^{(l)})^{\top}}{\sqrt{d_k}}$ 替代指数形式,整个计算图的结合律就会发生奇妙的改变。原本必须等到 $\mathbf{Q}$ 出现才能与历史状态进行交互的计算,现在可以通过矩阵结合律,提前把历史信息的键和值相乘并累加起来。
具体而言,由于 $\mathbf{Q} (\mathbf{K}^{\top} \mathbf{V}) = (\mathbf{Q} \mathbf{K}^{\top}) \mathbf{V}$,模型不需要保存庞大的历史 $\mathbf{K}$ 和 $\mathbf{V}$ 矩阵,而是可以直接维护一个 $d_k \times d_v$ 维度的紧凑矩阵 $\mathbf{M}$,也就是前文提到的局部记忆块中的记忆矩阵。历史信息 $\mathbf{P}_t$ 被彻底压缩并吸收到了这个固定大小的状态矩阵中。
这个数学洞察解释了为什么 Metis 能够在无需扩展上下文窗口、不增加推理复杂度的情况下,实现真正的跨步骤持久记忆。模型通过前向计算完成的每一次更新,本质上就是对这组隐式线性注意力权重的累加与修正。
走向原生记忆的深水区:机遇与局限
为了让骨干模型真正掌握这种原生记忆机制,使其懂得如何调度超记忆块中的门控和重要性筛选机制,研究团队构建了大规模的记忆专属训练数据,并引入了多项优化目标。其中包括了对应记忆压缩上限的“记忆重建目标”,以及对应操作指令的“记忆操作目标”。此外,为了提高模型在复杂场景下的鲁棒性,还引入了正则化目标。这些精心设计的中期训练(Mid-training)使得模型习得了原生的记忆过程。
从更宏观的视角来看,记忆本质上解决的是在线信息的时间流属性带来的根本问题。在信息存储阶段,系统无法预知这些信息未来将如何被使用;而在推理使用阶段,原始的离散信息往往已经丢失,只能依靠被压缩的存储态。因此,记忆问题在机器学习中本质上是一个关于信息压缩与未来需求预测的问题。与大模型通过思维链(CoT)数据内化出强大的原生推理能力类似,Metis 证明了通过合适的架构扩展和数据驱动的优化,记忆能力同样可以作为一种原生能力被彻底内化。
这不仅是一次架构上的优化,更是 AI Agent 范式的一次重要演进。原生记忆消除了系统级的调用开销,保证了计算资源的高度集中,并为多轮交互下的终身学习(Lifelong Learning)提供了一个更为原生的参数级容器。在这个容器中,从预训练获得的静态“知识”与在在线交互中获得的动态“记忆”在同一个高维语义空间中实现了融合。
当然,作为原生记忆基础模型的首次探索,Metis 目前也展现出了必须正视的局限性:
-
长期任务中的信息衰减: 由于历史信息必须被压缩到固定大小的参数矩阵(记忆状态)中,这种操作在数学上本质上是有损压缩。在需要跨越极长周期、涵盖海量细节的长期任务中,Metis 的性能会不可避免地出现退化,部分极度细粒度的信息会在多次指数滑动平均更新中被洗去。
-
隐空间内的信息混淆: 因为所有的记忆都是以连续的稠密向量形式叠加在同一个隐空间中,当模型接收到大量语义相似但细节相互冲突的信息时,原生记忆有时会出现语义融合和信息混淆。这与人类记忆的“错误归因”现象有一定的相似之处,但在要求精准事实回溯的场景中,这种特性会造成幻觉。
尽管存在上述限制,Metis 依然是一项具有里程碑意义的工作。它向学界和工业界明确昭示:依赖外部向量数据库的 RAG 并非 Agent 记忆演进的唯一终点或最优解。将外部能力逐步内化到大语言模型的前向计算中,正成为新一代基础模型进化的核心主线。研究团队已将项目代码和模型检查点完全开源,这一举措无疑将大幅加速下一代自带“海马体”的记忆基础模型的到来。在不久的将来,具备自我更新记忆、甚至能够模拟人类遗忘与强化机制的原生大模型,将真正成为长期相伴的智能个体。