![]()
在过去两年里,记忆(Memory)几乎从 “可选模块” 迅速变成了 Agent 系统的 “基础设施”:对话型助手需要记住用户习惯与历史偏好;代码 / 软件工程 Agent 需要记住仓库结构、约束与修复策略;深度研究型 Agent 需要记住已阅读的证据链、关键假设与失败路径,没有 memory 的智能体难以跨任务保留有效经验,难以稳定维护用户偏好与身份设定,也难以在长周期协作中保持行为一致、避免反复犯同样的错误。与此同时 Memory 概念在迅速膨胀、也在迅速碎片化:很多论文都声称自己在做 “agent memory”,但实现方式、目标假设、评价协议差别巨大,多术语并行又进一步模糊了边界。
在这样的背景下,来自新加坡国立大学、中国人民大学、复旦大学、北京大学等顶级学术机构共同撰写并发布了百页综述《Memory in the Age of AI Agents: A Survey》,尝试用统一视角为快速扩张、却日益碎片化的 “Agent Memory” 重新梳理技术路径。
![]()
论文链接: https://arxiv.org/abs/2512.13564Github 链接: https://github.com/Shichun-Liu/Agent-Memory-Paper-List
综述首先指出传统的 “长 / 短期记忆” 二分法,已经不足以描述当代系统里更复杂的结构形态与动态机制:有的记忆是显式 token 存储,有的写进参数,有的驻留在潜在状态;有的服务于事实一致性,有的服务于经验迁移,有的服务于单次任务的工作台管理 —— 如果继续用简单时间尺度切分,就很难真正解释这些差异。
基于此,该综述提出一个统一的分析框架:Forms–Functions–Dynamics(三角框架)。它试图分别回答三类核心问题:
![]()
记忆以什么形式存在(Forms)——What Carries Memory? 是外部 token、参数,还是潜在状态?
记忆解决什么问题(Functions)——Why Agents Need Memory? 它服务于事实一致、经验成长,还是任务内工作记忆?
记忆如何运转与演化(Dynamics)——How Memory Evolves? 它如何形成、如何被维护与更新、又如何在决策时被检索与利用?
概念辨析:Agent Memory 到底
和 LLM Memory、RAG、Context Engineering 有何不同?
在大量工程实践中,“Memory” 这个词往往被迅速简化为几个具体实现:一个向量数据库加上相似度检索,或者干脆等同为更长的上下文窗口、更大的 KV cache。在这种理解下,只要模型 “还能看到过去的信息”,系统似乎就已经具备了记忆能力。然而,综述明确指出:这些技术与 Agent Memory 确实存在交集,但在研究对象和问题层级上并不等价
![]()
Agent Memory:持久的、可自我演化的 “认知状态”
Agent Memory 关注的是智能体持续维持的认知状态,它不仅 “存”,还要能在交互中不断更新、整合、纠错、抽象,并跨任务保持一致性。独特性在于维护一个persistent and self-evolving cognitive state,并把事实与经验整合在一起。Agent Memory 关心的是 “智能体知道什么、经历过什么,以及这些东西如何随时间变化”,包括把反复交互沉淀成知识、从成功 / 失败中抽象程序性知识、跨任务保持身份一致性等。
LLM Memory:“模型内部机制 / 长序列处理”
确实存在一条与 Agent Memory 不同、但同样重要的研究路线 —— 真正意义上的 LLM-internal memory。这类工作关注的不是智能体如何在长期交互中积累经验,而是模型在内部计算过程中如何更有效地保留和利用序列信息。这些方法的核心问题是:在一次或有限次推理过程中,如何避免早期 token 的信息衰减,如何在计算与显存受限的前提下保持对长距离依赖的建模能力。其研究对象,本质上是模型内部的状态与动态。它们并不假设模型是一个长期存在、需要跨任务保持身份与目标的自主体,也不要求模型与环境进行持续交互或做出一系列有后果的行动决策。换言之,这些方法即便不引入 agentic 行为,也完全成立:模型依然可以在单次问答、长文档理解或摘要等任务中受益。
RAG:“静态知识访问”
RAG 通常强调从外部知识库检索静态信息以提升回答事实性;它可以是 Agent Memory 的一部分实现,但如果系统没有长期一致性、没有演化机制、没有跨任务的 “自我”,那么它更像 “知识访问模块”,而非完整记忆系统。这个差别在综述的概念对照图说明里也被点明:RAG 更接近 “static knowledge access”。
Context Engineering:“当下推理的外部脚手架”
Context Engineering 的目标常常是:在上下文窗口受限时,如何组织提示、压缩信息、构建工具输出格式等 —— 它优化的是 “此刻模型看到什么”。而论文强调:Context Engineering 是外部脚手架;Agent Memory 是支持学习与自主性的内部基底。前者优化当下接口,后者维持跨窗口、跨任务的持续认知状态。
Forms:记忆的载体是什么?
综述把 agent memory 的形式归纳为三大类:token-level /parametric/latent
这三类的差别聚焦于:信息以什么表示、在哪里存、如何读写、以及可解释性与可塑性的取舍
Token-level Memory:最 “显式” 的记忆层
token-level memory 的定义非常直观:它把信息存成持久、离散、可外部访问与检查的单元;这里的 token 不仅是文字 token,也可以是视觉 token、音频帧等,只要是可写、可检索、可重排、可修改的离散元素即可。
为什么它在工程里最常见?因为它天然具备三种优势:
1.透明:你能看到存了什么;
2.可编辑:能删改、能纠错;
3.易组合:适合作为检索、路由、冲突处理的 “中间层”,并与 parametric/latent memory 协同。
但 token-level 并不是 “一个向量库” 那么简单。进一步按 “拓扑结构复杂度” 可以把它分成三种组织方式:
![]()
Flat Memory(1D):没有显式拓扑关系,记忆像序列 / 离散单元一样累积(例如片段、轨迹)。它的优点是实现简单、写入快;缺点是检索与更新容易退化成 “相似度匹配 + 越存越乱”。Planar Memory(2D):单层结构化组织,记忆单元之间通过图、树、表等关系连接,但不分层。它更适合多跳推理、关系约束与一致性维护;代价是构建与维护结构更复杂。Hierarchical Memory(3D):多层结构并带跨层链接,形成 “分层 / 立体化” 的记忆体系。它的动机往往是:既要保留细节,又要形成抽象总结,并让检索可以在不同粒度之间切换。
这反应了当记忆规模增大,单纯堆历史就会暴露弊端,必须引入结构(2D)与分层抽象(3D),才能让长期存在的外部记忆真正可用。
Parametric Memory:把记忆 “写进权重”
Parametric memory 的定义是:信息存储在模型参数中,通过参数空间的统计模式编码,并在前向计算中被隐式访问。它更像人类 “内化后的直觉”:不用每次检索外部库,模型直接学会并记住这些内容。但代价同样明显:
需要训练 / 更新权重(成本高)难以精确编辑与审计容易和遗忘、分布漂移、灾难性遗忘问题纠缠在一起
![]()
Latent Memory:藏在隐状态 / 连续表示里的 “动态记忆”
Latent memory 的定义是:记忆以模型内部隐状态、连续表示或演化的潜在结构存在,可在推理时或交互周期中持续更新,用于捕捉上下文相关的内部状态。
![]()
它介于 “外部显式存储” 和 “权重内化” 之间:比 token-level 更紧凑、更接近模型计算过程;比 parametric 更容易在推理期更新,但也往往更难解释、更难审计。
![]()
Functions:记忆的功能是什么?
这一分类角度是这篇综述的核心观点之一,它不再用 “长 / 短期” 这种时间尺度粗分,而是用功能角色把 agent memory 分成三类:
Factual memory(事实记忆):记录来自用户与环境交互的知识Experiential memory(经验记忆):从任务执行中增量提升解决问题的能力Working memory(工作记忆):管理单个任务实例中的工作区信息
这三个概念的价值在于:它们对应的是三种完全不同的 “记忆失败模式”,也对应三类不同的系统设计。
![]()
Factual Memory:让智能体 “记住世界”,并且可核查
事实记忆的一个关键目标,是提供一个可更新、可检索、可治理(governable)的外部事实层,让系统在跨 session / 跨阶段时有稳定参考。 这类记忆不只面向 “用户偏好”,也面向 “环境事实”:长文档、代码库、工具状态、交互轨迹等。
环境事实记忆能成为持续可更新、可审计、可复用的外部事实层;在协作维度还能维持跨 agent、跨阶段一致性,从而支撑多来源信息与长周期任务下的稳健执行。
如果你做过 “多轮对话 + 多工具 + 多资料” 的系统,你会非常熟悉这种痛点:事实一旦散落在历史对话里,就会反复被遗忘、被误引、被编造。事实记忆的意义,就是把 “可核查的世界状态” 从临时上下文里抽出来,变成可维护的对象。
Experiential Memory:让智能体 “吃一堑长一智”
经验记忆的定义更像能力的积累:它把历史轨迹、提炼后的策略、交互结果编码为可持久检索的表示。它与工作记忆不同:工作记忆管 “眼前这一题”,经验记忆关心 “跨 episode 的长期积累与迁移”。
综述把经验记忆与认知科学里的非陈述性记忆(程序性 / 习惯系统)类比,同时指出 agent 的独特优势:它往往用显式数据结构存储,因此反而具备生物体没有的能力 ——可以内省、编辑、并对自己的程序性知识做推理。经验记忆给了智能体一种避免频繁参数更新的持续学习路径,把交互反馈转化为可复用知识,帮助系统纠错、抽象启发式、编译常规行为,从而减少重复计算并提升决策质量。
经验记忆按抽象层级分成三类:
Case-based:几乎不加工的历史记录,强调保真度,用作 in-context exemplars;Strategy-based:从轨迹中蒸馏可迁移的推理模式 / 工作流,作为规划脚手架;Skill-based:把策略进一步落到可执行技能(代码片段、API 协议等),成为可组合的执行底座。
![]()
Working Memory:让智能体在 “单次任务里” 不被信息淹没
工作记忆听起来像短期记忆,但在 agent 场景里,它最典型的问题不是时间短,而是:即时输入太大、太杂、模态太高维(长文档、网页 DOM、视频流……),在固定 attention / 上下文预算下必须建立一个 “可写工作区”。
一类是 single-turn working memory:目的就是单次调用之内 “减 token”,包括 hard/soft/hybrid 压缩,以及输入内容结构化、抽象化;另一类为 multi-turn working memory:关注多轮之间的状态维持与压缩、针对子任务的折叠剪切、使用 planning 管理记忆等等。
![]()
Dynamics:记忆是如何运转的?
如果说 Forms 解决 “记忆放哪儿”、Functions 解决 “记忆干嘛用”,那 Dynamics 解决的就是:记忆系统如何运转。
记忆的生命周期可以概括为三段:Memory Formation(形成)—Memory Evolution(演化)—Memory Retrieval(检索),并强调三者构成一个相互反馈的循环:形成阶段抽取新信息;演化阶段做整合、冲突消解与剪枝;检索阶段提供面向当前任务的访问;推理结果与环境反馈又反过来影响下一轮形成与演化。
![]()
Formation:从 “原始上下文” 到 “可存可取的知识”
Formation 阶段把原始上下文(对话、图像等)编码成更紧凑的知识。动机非常直接:full-context prompting 会带来计算开销、内存压力、以及在超长输入上的推理退化,因此需要把关键信息蒸馏成更高效的表示。
formation 操作进一步分成五类:语义总结、知识蒸馏、结构化构建、潜在表示、以及参数内化。这五类几乎对应了 Forms 的三种载体:总结 / 结构化更偏 token-level;潜在表示偏 latent;参数内化对应 parametric。
Retrieval:决定 “记忆是否真的能帮你做决策”
retrieval 形式化为一个操作:在每个时间步,根据当前观察与任务构造查询,并返回相关记忆内容;返回的记忆信号会被格式化成 LLM 策略可直接消费的文本片段或结构化摘要。
检索不必每步发生,可能只在任务初始化发生,也可能间歇触发或持续触发;而 “短期 / 长期” 效果往往不是因为搭载了两个模块,而是由 formation/evolution/retrieval 的触发节奏决定的。这点对工程实践有指导意义:很多系统并非缺一个长期库,而是触发策略不对、导致记忆无法进入决策回路。
![]()
Evolution:记忆库也需要 “维护与新陈代谢”
Evolution 阶段的任务是把新增记忆与已有记忆整合,通过合并相关条目、冲突消解、剪枝等机制,让记忆保持可泛化、连贯且高效。
这也是为什么 “记忆系统” 迟早会走向更复杂的治理问题:删什么、留什么、如何避免自相矛盾、如何避免隐私泄漏、如何给多智能体共享时加规则…… 这些都属于 evolution 的范畴。
![]()
资源整理:Benchmark 与开源框架
综述专门用 Section 6 汇总 benchmarks 与开源框架资源,这是支持实证研究与落地开发的关键基础设施,方便相关科研工作者查阅。
![]()
![]()
前沿展望:下一代记忆系统走向何方?
与其把记忆当作一个检索插件,不如把它当作智能体长期能力的 first-class primitive,作为 agent 的核心功能之一:
Memory RetrievalMemory Generation(记忆从 “找出来” 变成 “生成出来”);Hand-craftedAutomated Memory Management(记忆系统从 “人工写规则” 变成 “自动管理”);Heuristic PipelinesRL-driven Control(从启发式流程走向强化学习端到端优化);
并进一步讨论这些变化如何与多模态、多智能体协作、可信安全等主题交织。
记忆检索 vs 记忆生成:从 “取片段” 到 “做抽象”
传统检索范式把记忆看成一个已经 “写好” 的仓库:当前任务需要什么,就从向量库 / 图结构 / 重排器里把最相关的片段找出来拼进上下文,核心指标是检索的 precision/recall。大量工作围绕索引、相似度、重排、结构化来提升 “找得准不准”。 但 Agent 真正的长期能力不只依赖 “取回旧文本”,而更依赖一种面向未来的抽象
记忆不必是原始碎片,它可以被压缩、重组、重写成更适合后续推理的表示;尤其当原始记录冗余、噪声大、与任务不对齐时,“拼接式检索” 往往把上下文塞满,却不一定让模型更会做事。
这有两条主线:
1)Retrieve-then-Generate:先检索,再把检索到的材料重写成更紧凑、更一致、更任务相关的 “可用记忆”,如 ComoRAG、G-Memory、CoMEM 这类思路,保留可追溯的历史 grounding,同时提升可用性;
2)Direct Generation:不显式检索,直接从当前上下文 / 交互轨迹 / 潜在状态中生成记忆表示,比如用 “潜在记忆 token” 的方式绕开传统查库。
而未来则更关注三个方面:
Context-adaptive(上下文自适应):不是一刀切总结,而要能随任务阶段与目标动态调整粒度与抽象层次;Integrate heterogeneous signals(融合异质信号):把文本、代码、工具输出、环境反馈等碎片 “熔成” 统一表示;Learned & self-optimizing(可学习且自优化):什么时候生成、生成成什么样,不再靠人工规则,而由优化信号(例如 RL 或长期任务表现)驱动,与推理 / 决策共同进化。
自动化记忆管理:从 “写规则” 到 “让 Agent 自己管记忆”
如今很多搭载 memory 的 Agent 其记忆行为本质仍是工程规则—— 写什么、什么时候写、怎么更新 / 怎么取,都靠提示词、阈值、人工策略。这样做的好处是成本低、可解释、可复现,适合快速原型;但缺点也同样致命:僵硬、难泛化,在长程或开放式交互里容易失效。因此近期开始出现让 Agent自主参与记忆管理的方向
让模型把细粒度条目自动聚类成更高层抽象单元;引入专门的 “memory manager” 代理来处理更新。
![]()
但很多方法仍被手工规则牵引,或只在狭窄目标上优化,因此离通用自动记忆还有距离。而未来可能的路线有两条:
第一条是把记忆操作显式接入决策
不再把记忆当外部模块,而是让 Agent 在每一步都能通过工具调用式接口执行 add/update/delete/retrieve,并且 “知道自己做了什么记忆动作”。这会让记忆行为更连贯、更透明、更能与当前推理状态对齐。
第二条是走向自优化的记忆结构
不仅仅 “分层存储”,更要让记忆库能动态链接、索引、重构,使存储结构本身随时间自组织,从而减少对手工规则的依赖,最终支持更鲁棒、可扩展的自主记忆。
强化学习 × 记忆:记忆控制正在被 RL “内化” 进策略
在 Memory 中引入 RL 是一种从 pipeline 到 model-native 的转向:早期大量系统要么是阈值 / 语义检索 / 拼接等启发式;要么看起来很 “agentic”,但其实只是 prompt 驱动,模型并没受过任何有效记忆控制的训练。
随后出现RL-assisted memory:只对记忆生命周期的某一环节上 RL,比如:
用轻量 policy gradient 给检索到的 chunk 排序(后重排);训练记忆写入 / 压缩 / 折叠工作记忆的策略(Context Folding、Memory-as-Action、MemSearcher、IterResearch 等)。这一类已经展示出很强的潜力,RL 很可能会在未来记忆系统里扮演更中心角色。
下一阶段则更可能是Fully RL-driven memory。它需要满足两个理想特点:
1)尽量减少人类先验
目前很多记忆系统借鉴人类认知(海马体 / 皮层类比)、预设层级(episodic/semantic/core),这些抽象对早期探索很有价值,但未必是人工智能体在复杂环境中的最优结构。若进入 fully RL-driven,Agent 有机会在优化驱动下 “发明” 新的记忆组织形式、存储 schema、更新规则。
2)让 Agent 对全生命周期拥有完整控制
许多 RL 方法只覆盖 “写入” 或 “短期折叠”,却没把长期整合、演化、检索策略真正统一起来。论文认为,要让形成 - 演化 - 检索多粒度协同运转,几乎必然需要端到端 RL,因为仅靠启发式或提示词无法在长时域里协调这些复杂交互。
当记忆成为可学习、可自组织、与 Agent 共进化的子系统时,它就不再是外挂,而会成为长期能力与持续学习的基础设施。
多模态记忆:缺的不是 “能存图”,而是 “跨模态统一语义与时间”
随着 Agent 走向具身、交互式环境,信息来源天然是多模态的:视觉、动作、环境反馈等都会进入记忆系统。未来真正的难点不是把图片 / 视频 “塞进库”,而是让记忆支持异质信号的统一存取与推理。当前的两个关键缺口在于:
目前没有真正 “omnimodal” 的记忆系统,大多仍是单模态特化或松耦合;多模态记忆需要从被动存储走向支持抽象、跨模态推理与长期适应。
多智能体共享记忆:从 “各聊各的” 到 “共享认知底座”
MAS 的早期范式:每个 agent 有自己的局部记忆,通过消息传递来协作。这避免直接干扰,但会带来冗余、上下文割裂、沟通开销爆炸,团队规模和任务时长一上来就撑不住。因此出现中心化共享记忆,其作为团队共同 ground truth:支持联合注意、减少重复、利于长程协作;但也引入新问题:记忆污染、写冲突、缺少基于角色 / 权限的访问控制。
共享记忆会从仓库进化为主动管理的集体表示,有三条可能的方向:
agent-aware shared memory:读写与角色、专长、信任绑定,使聚合更结构化、更可靠;learning-driven management:不靠手工同步 / 总结 / 冲突解决策略,而训练 agent 在长期团队收益下决定何时写、写什么、怎么写;面向开放与多模态场景,共享记忆需要保持时间与语义一致性,作者认为 latent memory 可能是一条有前景的路径。
可信记忆:隐私、可解释与抗幻觉,必须成为 “第一原则”
当记忆进入长期、个性化、跨会话存储后,问题已经不再是传统 RAG 的 “是否会胡说”,而是一个更大的可信系统工程:因为 Agent 记忆会保存用户偏好、历史交互、行为痕迹等潜在敏感信息,风险维度从 factuality 扩展到隐私、安全、可控与可审计。
隐私保护:需要更细粒度的权限记忆、由用户主导的保留策略、加密或端侧存储、必要时的联邦访问;并可结合差分隐私、记忆脱敏 / 删改、以及可验证的 “遗忘” 机制(例如衰减式遗忘或用户擦除接口)来降低泄露风险。
可解释性:不仅要看到 “记忆内容”,还要能追踪 “访问路径”:哪些条目被取了、如何影响生成、是否被误用;甚至支持反事实分析(“如果不取这条记忆,会怎样”)。论文提出未来可能需要可视化记忆注意、因果图、面向用户的调试工具等成为标配。
抗幻觉与冲突鲁棒性:在冲突检测、多文档推理、不确定性建模上继续推进;包括低置信检索时的拒答 / 保守策略、回退到模型先验、或用多智能体交叉核验等。论文还特别提到,机制可解释性方法(例如在表示层面定位幻觉来源)可能会成为 “诊断 + 干预” 的新工具箱。
结语:把 “记忆” 当作
智能体的 first-class primitive
通过 Forms/Functions/Dynamics 的统一视角,记忆不再是附属插件,而是智能体实现时间一致性、持续适应与长程能力的关键基底;未来随着 RL 融合、多模态与多智能体场景兴起,以及从检索中心走向生成式记忆的趋势,记忆系统将变得更可学习、更自组织、更具适应性。





京公网安备 11011402013531号