AI Agent最新「Memory」综述 |多所顶尖机构联合发布

就在昨天,新加坡国立大学、中国人民大学、复旦大学等多所顶尖机构联合发布了一篇AI Agent 记忆(Memory)综述。
就在昨天,新加坡国立大学、中国人民大学、复旦大学等多所顶尖机构联合发布了一篇AI Agent 记忆(Memory)综述。

当前的 LLM 应用开发正面临严重的“记忆碎片化”问题:我们有用于短期记忆的 KV Cache,有用于知识检索的 RAG,还有用于长期交互的 MemGPT 类架构,但缺乏统一的理论指导。这篇综述不仅是对现有工作的盘点,更是一份解决“灾难性遗忘”与“上下文溢出”的系统方案。它详细拆解了如何通过Token级、参数级和潜在(Latent)级三种形式来构建记忆,并深入探讨了如何让记忆像生物体一样具备“自我遗忘”和“冲突修正”的能力。对于正在构建复杂Agent应用(如伴侣 Bot、自主编码 Agent)的读者朋友来说,这篇文章直接给出了技术选型的理论依据。
核心界定:Agent记忆的独特版图
在深入技术细节之前,我们需要先达成一个共识:并不是所有“存下来的东西”都叫Agent记忆。研究者在论文中非常严谨地帮我们区分了三个容易混淆的概念,这有助于我们理解Agent记忆的独特性。

Agent记忆 vs. LLM记忆
- LLM记忆:通常指模型内部的技术优化,例如如何优化 Transformer的KV Cache(键值缓存)以减少重复计算,或者通过架构调整(如 Mamba、RWKV)让模型能处理更长的上下文窗口。这更像是计算机的“显存优化”,关注的是单次推理的效率和容量。
- Agent记忆:这是指一个智能体为了在环境中长期存在,维护的一个持久的、动态演化的认知状态。它不仅是存储数据,更包含了“我是谁”、“我经历过什么”、“用户的偏好是什么”这些核心认知,是跨越多次交互周期的。
Agent记忆 vs. RAG(检索增强生成)
- RAG:通常是静态的知识外挂,有Modular RAG、Graph RA、Agentic RAG三类。比如您有一个巨大的文档库(比如公司手册),模型去里面搜索答案。它解决的是“知识库”的问题,通常用于单次任务,知识库本身很少随交互而改变。
- Agent记忆:是动态生长的。随着 Agent与您的每一次交互,它的记忆库都在发生变化——它会记下新的经验,修正错误的认知,甚至遗忘不再重要的信息。它强调的是交互历史和经验积累。
Agent记忆 vs. 上下文工程(Context Engineering)
- 上下文工程:是一种资源管理手段。因为模型的窗口有限,我们通过各种技巧(如Prompt压缩、重要性筛选)把最重要的信息塞进去。
- Agent记忆:是认知建模。它决定了哪些信息值得被保留下来成为长期记忆,并在未来几天、几个月甚至几年后被调用。上下文工程是“怎么塞进去”,而 Agent记忆是“该塞什么”。
形式(Forms):记忆的物理载体与拓扑结构
如果我们打开 Agent的“大脑”,我们会看到什么样的存储结构?研究者将记忆的形式归纳为三大类。这三种形式并不是互斥的,而是像人类大脑的不同区域一样协同工作。

Token级记忆(Token-level Memory):显性的认知符号
这是目前最主流、最可解释的记忆形式。信息以离散的、可读的文本(Token)或数据块的形式存储在模型外部。根据组织方式的复杂程度,它从简单的线性记录进化到了复杂的立体结构。

一维:扁平记忆(Flat Memory)


- 机制:记忆像是一条长长的流水账(List)或一堆无序的便签。为了应对无限增长的长度,通常采用递归摘要(Recursive Summarization),即旧的对话被压缩成摘要,新的对话继续追加。
- 典型应用:早期的对话机器人日志、简单的经验池(Experience Pool)。
- 局限性:随着记忆量的增加,“大海捞针”变得极其困难,且容易丢失上下文细节(Lost in the Middle)。
二维:平面记忆(Planar Memory)

- 机制:记忆不再是孤立的点,而是通过拓扑结构建立了“关联”。最典型的形式是图(Graph)和树(Tree)。
- 核心优势:
- 知识图谱(Knowledge Graph):例如,Agent不仅记住了“苹果”,还通过图结构记住了“苹果”是“水果”的一种,且“长在树上”。像
Mem0的图记忆版本,就能在对话中实时构建这种实体关系。 - 因果链条:在解决复杂问题时,Agent可以顺着图的边(Edge)进行多跳推理(Multi-hop Reasoning),发现那些如果不建立联系就无法察觉的隐性答案。
三维:层级记忆(Hierarchical Memory)


- 机制:这是最接近人类高级认知的形式。记忆被组织成了不同的抽象层级,构成了立体的金字塔结构。
- 运作方式:
- 底层:存储着原始的、细节丰富的交互记录(Raw Traces)。
- 中层:对事件的摘要(Event Summaries),例如“周二下午开了一次关于预算的会议”。
- 顶层:高阶的洞察和规律(High-level Insights),例如“用户非常在意成本控制,偏好保守方案”。
- 价值:这种结构(如
HiAgent或GraphRAG)允许 Agent在宏观规划时调用顶层记忆,在执行具体操作时调用底层细节,极大地平衡了检索效率与信息密度。
参数化记忆(Parametric Memory):刻在神经元里的本能
这种记忆形式更隐蔽。信息不再是存储在硬盘上的文字,而是直接变成了模型神经网络中的权重参数。
- 内部参数记忆:通过全量微调(Fine-tuning)直接修改模型权重。这就像是生物进化,将知识变成了“本能”或“肌肉记忆”。但缺点也很明显:更新太慢、成本太高,且容易发生灾难性遗忘(Catastrophic Forgetting)学了新的,忘了旧的。
- 外部参数记忆:这是现在的热门方向。我们不改动大模型本身,而是给它挂载一些小的参数模块(如LoRA或Adapter)。这就像是给 Agent插上了不同的“技能卡”或“记忆卡”(例如
K-Adapter),既保留了模型的通用能力,又注入了特定领域的知识,且支持即插即用。
潜在记忆(Latent Memory):机器的原生语言
这种记忆形式对于人类来说是不可读的,但对于机器来说效率极高。它直接存储模型推理过程中的数学表示。

- 生成式(Generate):利用辅助模型将长文档压缩成特殊的Gist Tokens或向量。Agent只要看到这串编码,就能“脑补”出之前的上下文,而不需要重新阅读几千字的原文。
- 复用式(Reuse):直接存储推理时的KV Cache。这是对“思考过程”的直接快照,调用时零延迟,能完美复原当时的思维状态,但对显存占用较大。
功能(Functions):Agent记忆的核心目的
搞清楚了记忆存在哪里,我们再来看看 Agent到底在记什么。研究者提出了一个非常精妙的分类法,将记忆的功能分为了三类,分别对应了 Agent的不同能力维度。

事实记忆(Factual Memory):"我知道什么"
这是 Agent对世界的声明性知识(Declarative Knowledge),它解决了一致性的问题。
用户事实(User Factual)
- 内容:用户的身份、偏好、历史行为、之前的承诺。
- 作用:
- 连贯性:防止 Agent在聊了十句之后就忘了你刚才说想买红色的衣服。
- 个性化:通过长期积累用户画像(User Profile),提供专属服务。例如
MemGuide系统会维护用户的“意图树”,即使话题跑偏,也能拉回最初的目标。
环境事实(Environment Factual)
- 内容:关于外部世界的知识。比如代码库的文档、游戏里的地图信息、工具的 API手册。
- 作用:这是 Agent行动的参考书。特别是在多智能体协作(Multi-Agent)中,共享的环境记忆就像是一个全局黑板(Global Blackboard),让所有 Agent同步项目进度和环境状态,避免冲突。
经验记忆(Experiential Memory):"我学会了什么"
这是区分普通Chatbot和高级Agent的关键。它对应的是人类的“程序性记忆”(Procedural Knowledge),是Agent实现自我进化的基石。

基于案例(Case-based)
- 机制:Agent将过去成功或失败的完整轨迹(Trajectory)存下来。
- 应用:当遇到新问题时,先去翻翻“老黄历”。如果以前做过类似的,直接“抄作业”(Replay);如果以前在这个坑里跌倒过,就根据失败案例进行修正。
基于策略(Strategy-based)
- 机制:这比存案例更高级。Agent会对过去的经历进行反思(Reflection),提炼出抽象的规则、工作流(Workflows)或思维模板(Thought Templates)。
- 例子:Agent不仅仅记住了“上次代码报错是因为少了一个分号”,而是总结出“在写 Python函数时,要注意缩进和标点符号的检查”。这种元认知(Meta-cognition)让 Agent具备了泛化能力。
基于技能(Skill-based):从经验到本能
这是经验记忆最高级的形式,它将抽象的经验固化为可执行的工具。
- 代码片段(Code Snippets):像
Voyager这样的 Agent,在 Minecraft游戏中学会了“挖铁矿”的一系列复杂操作后,会自己写一段代码封装成mine_iron()函数存入技能库。下次再需要铁矿,直接调用这个函数,而不需要重新思考每一步怎么走。 - 函数与脚本(Functions & Scripts):Agent可以自主编写和复用 Python脚本或 Shell命令,将重复性劳动自动化。
- API封装:对于常用的外部工具调用(如搜索、计算器),Agent会将其用法封装成标准化的 API调用模式,甚至学习如何组合多个 API来解决复杂问题(如
ToolLLM)。 - MCPs (Model Context Protocol):这是一种新兴的标准,旨在标准化 Agent与工具、数据之间的交互协议,让记忆中的技能可以在不同的 Agent生态系统中通用。
工作记忆(Working Memory):"我现在在想什么"
这就好比是我们电脑的内存(RAM),或者是人类正在进行心算时的思维草稿纸。它的核心挑战在于上下文窗口是昂贵且有限的。

- 单轮压缩(Single-turn):面对超长的输入(比如一本书),Agent需要学会输入冷缩(Input Condensation),利用
LLMLingua等技术扔掉 80% 的冗余 Token,只保留核心信息进入处理流程;或者进行观测抽象(Observation Abstraction),将视频流转化为关键帧描述。 - 多轮状态维护(Multi-turn):在长达数天的任务中,Agent需要学会上下文折叠(Context Folding)。完成一个子任务后,就将相关细节打包成一个简短的摘要存档,只在工作区保留当前任务所需的信息和下一步计划(Cognitive Planning),从而在有限的窗口内实现无限长的任务执行。
动态(Dynamics):记忆的生命周期
记忆不是静态的数据库,它是一个活的系统。研究者将其生命周期拆解为三个核心过程:形成、演化、检索。

记忆形成(Formation):沙里淘金
并不是所有的交互都值得被记住。如果把每一句“你好”、“在吗”都存入长期记忆,系统很快就会被垃圾信息淹没。
- 语义摘要:将长对话压缩为精炼的摘要,可以采用增量式(来一句压一句)或分块式(攒一堆再压)。
- 知识蒸馏(Knowledge Distillation):从对话中提取出结构化的知识三元组(实体-关系-实体),或者从失败的尝试中提取出“教训”和“洞察”。
- 结构化构建:不仅仅是存储,而是将非结构化的文本转化为图、树或层级结构,明确信息之间的关系。

就像是人,每天经历无数事情,但晚上睡觉时,大脑只会筛选出最重要的片段,通过记忆巩固(Consolidation)存入长期记忆。
记忆演化(Evolution):对抗熵增
这是目前很多系统容易忽视的一环。记忆库如果不维护,就会变得混乱、冲突、过时。

整合(Consolidation)
- 局部整合:将语义相似的碎片记忆合并。
- 全局集成:将新的信息融入到整体的世界观或用户画像中,形成更宏大的叙事。
更新(Updating)
- 冲突解决:用户上周说“我单身”,这周说“我有女朋友了”。记忆系统必须能识别这种冲突,并根据时间戳或置信度来覆盖旧信息,而不是让两条矛盾的记录并存。
- 软删除:有些系统采用给旧记忆打上“失效”标签的方式,而不是直接物理删除,以保留历史的可追溯性。
遗忘(Forgetting)
- 必要的遗忘:为了保持检索的高效和相关性,Agent必须学会遗忘。
- 机制:
- 基于时间:太久远的信息权重降低(遗忘曲线)。
- 基于频率:很久没被用到的知识被丢弃(LFU策略)。
- 基于重要性:这是最高级的。Agent能够评估某条信息未来的价值。比如“用户对花生过敏”这条信息,即使一年没用到也不能忘;而“用户今天中午吃了面条”,可能明天就可以删了。
记忆检索(Retrieval):不仅是搜索
传统的 RAG往往是被动的:用户问什么,系统搜什么。但高级Agent的检索是主动的、策略性的。

- 主动检索(Timing & Intent):Agent应该自己判断“我现在的信息够不够回答这个问题?”如果不够,它会主动发起记忆检索的动作,而不是等待指令。
- 查询构造(Query Construction):用户的提问往往是不完整的。Agent需要将“他怎么看?”重写为“Elon Musk对火星移民计划的具体观点是什么?”,或者通过HyDE技术生成一个假设性的答案作为查询向量,这样才能在数据库中找到准确答案。
- 检索策略:结合词法检索(精准匹配关键词)、语义检索(匹配含义)和图检索(匹配关系),实现混合检索。
- 后处理(Post-processing):搜出来的东西往往有噪声。Agent需要对检索结果进行重排序(Re-ranking)和过滤,确保喂给大模型的上下文是纯净的。
未来的 Agent记忆会是什么样?
在这篇综述的最后,研究者们展望了几个极具潜力的发展方向。这些方向预示着 AI将从“工具”向“生命体”迈进。
从“检索”到“生成” (Retrieval vs. Generation)
现在的做法大多是把存好的文本原封不动地拿出来。但人类回忆时,其实是在重构场景。未来的 Agent可能会采用生成式记忆,根据当前的上下文,动态生成一段最符合当前需要的记忆描述,而不是死板地调取文件。这种方式能更好地融合多源信息,填补信息的空缺。
自动化与强化学习 (RL Meets Memory)
目前的记忆规则大多是人工设计的(比如“保留最近 10轮对话”)。未来,Agent应该通过强化学习(RL)自己学会如何管理记忆:

- 什么该记?什么该忘?
- 什么时候该去检索? 如果一次检索帮助它更好地完成了任务,它就会强化这种记忆策略。这将诞生出完全超越人类设计直觉的高效记忆架构,实现真正的端到端(End-to-End)记忆优化。
迈向世界模型 (Memory for World Models)
如果我们要构建能够模拟物理世界或复杂社会的Agent,它的记忆就需要包含时空一致性。Agent需要记住的不仅是文本,还有物体的位置、状态的变化、时间流逝的影响。这是通往具身智能(Embodied AI)的必经之路。
可信记忆 (Trustworthy Memory)
随着记忆越来越强,隐私和安全问题也随之而来。
- 隐私与遗忘权:如果用户要求“忘掉我的信用卡号”,系统必须能确证地从所有参数、向量库和摘要中彻底删除这条信息(Machine Unlearning)。
- 抗毒化:防止恶意用户通过对话向 Agent植入错误的记忆或偏见(Memory Poisoning),这需要建立记忆的“免疫系统”。
结语
读完这篇综述,我们不仅看到了技术的全景图,更看到了Agent进化的方向。
记忆,不再是一个简单的存储桶(Storage Bucket)。它是Agent实现连续性、个性化和自我进化的灵魂。从简单的文本记录,到复杂的层级结构,再到内化为参数的本能,Agent正一步步构建起属于它们自己的“海马体”。
当AI拥有了记忆,它就不再只是每一个 Session里新生的过客,而是成为了我们生活中可以积累感情、积累默契、共同成长的伙伴。这,或许才是 Agent时代的真正魅力所在。
文章来自于“AI修猫Prompt”,作者 “AI修猫Prompt”。
相关主题
读完之后
加入 AINRK 交流群
了解加入交流群的方式,与更多 AI 从业者交流。




