【Agent深入了解】记忆的作用

AI Agent :记忆发家史

从 LLM 的"先天失忆症"到记忆系统的三代演进------理解 Agent 记忆的架构本质与选型决策

一、引子:AutoGPT 的集体翻车,逼出了一个基础设施

2023 年上半年,AutoGPT、BabyAGI 等第一批"全自动 Agent"刷屏。它们有循环、有工具,但几乎没有像样的记忆系统。结果是灾难性的:

  • Agent 陷入死循环,反复执行同样的操作
  • 中途忘了最初目标,越跑越偏
  • 在已经解决的问题上继续叠加错误
  • 烧光 Token 预算却一事无成

这次集体翻车,让业界第一次明确意识到------光有模型和一个 while 循环远远不够,Agent 需要一个"记忆器官"

到 2026 年,Agent 记忆已经从"可选功能"变成了"核心基础设施"。Mem0 GitHub 星标突破 6.8 万、完成 4200 万美元 B 轮融资;Letta(前身 MemGPT)星标 3.5 万;时序知识图谱 Graphiti 星标突破 3.2 万。学术界 2026 年上半年就产出 40+ 篇相关论文。

但为什么记忆这么重要?为什么即使上下文窗口扩展到 200 万 Token,Agent 仍然会"失忆"?


二、LLM 的"先天失忆症":三个结构性矛盾

LLM 的底层架构决定了它是一个纯函数(pure function)------每次 API 调用都是独立的,模型不"记得"上一句说了什么。它能"接着聊",纯粹是因为你把历史又喂了一遍。

这带来三个结构性矛盾:

结构性矛盾 本质原因 记忆系统要解决什么
无状态 Transformer 架构天然是 one-shot inference,不维护跨调用状态 提供跨调用的持久状态存储
有界窗口 注意力机制的计算复杂度是 O(n²),窗口不可能无限大 用外存 + 检索突破窗口硬上限
成本线性增长 为"记住"只能每轮重喂全部历史,Token 成本随对话长度线性飙升 用压缩 + 按需检索替代全量重喂

一句话本质:LLM 被训练成"在给定文本上预测下一个词"的函数,而不是"在真实世界里持续完成目标"的主体。记忆系统,就是在模型的能力之外,用工程手段补齐"持久状态"这个它学不到的部分。

即使上下文窗口扩展到百万级,三个问题仍未解决:

  1. 上下文腐烂(Context Rot):长对话中早期信息的注意力权重被稀释,模型对历史信息的利用效率急剧下降
  2. 跨会话遗忘:用户昨天告诉 Agent 的偏好,今天完全丢失
  3. 规模不可控:将所有历史塞入上下文窗口,Token 成本线性增长,延迟指数上升

2025 年底的综述论文 Memory in the Age of AI Agents 明确指出:传统的"长/短期记忆"二分法已不足以捕捉当代 Agent 记忆系统的多样性,记忆应当成为 Agent 系统设计中的一等原语(first-class primitive)


三、四类记忆:从认知科学到工程实现

认知科学将人类记忆分为工作记忆、情景记忆、语义记忆和程序性记忆。Agent 的记忆系统同样遵循这个框架,它已经成为讨论 Agent Memory 的"通用语言":

记忆类型 人类类比 Agent 实现 代表技术 持续时间
工作记忆 此刻正在思考的内容 当前上下文窗口 Context Window 单次会话
情景记忆 "上周三讨论了认证模块迁移" 对话日志/摘要 对话历史检索 跨会话
语义记忆 "用户喜欢深色主题" 向量库/知识图谱 Mem0、Graphiti 永久
程序性记忆 "部署时先跑测试再推代码" 规则库/反思日志 反思模块 永久

关键区别:情景记忆记录"何时发生了什么",语义记忆只关心"什么是真的"。情景记忆记录"2026 年 6 月 10 日用户说他喜欢深色主题",语义记忆直接存储"用户喜欢深色主题"。两者互补------情景记忆提供时序推理能力,语义记忆提供高效检索能力。

程序性记忆最容易被忽视,但恰恰是让 Agent 从"工具"变成"助手"的关键。它存储的是操作模式------"当用户说部署时,先跑测试再推代码"------是从经验中提炼出的行为规则。


四、三代演进:从"存向量"到"记忆即基础设施"

第一代:向量记忆(2023-2024)

代表:LangChain Memory、早期 RAG 方案、Mem0 v0

核心思路:把对话历史转成向量嵌入,存进向量数据库,下次对话时检索最相似的片段塞回上下文窗口。

致命缺陷:

  • 语义丢失:无法精确匹配,"用户住在北京"和"用户居住地是北京"可能检索不到
  • 无法更新:新旧记忆共存,"用户住在北京"和"用户刚搬到上海"同时存在
  • 无关系建模:记忆之间是孤立的,无法推理"用户住在北京 → 用户可能在东八区"
  • 时序混乱:无法区分"上个月说的"和"今天说的"

第二代:结构化记忆(2024-2025)

代表:MemGPT/Letta、Graphiti、Mem0 v1

核心突破:从"存向量"进化到"存结构"。

  • Letta(MemGPT):引入 OS 虚拟内存分页机制,三层金字塔架构------Core Memory(上下文内,始终可见)、Recall Memory(对话历史,按需检索)、Archival Memory(向量存储,嵌入搜索)
  • Graphiti:构建时序知识图谱,用三元组(实体-关系-实体)建模记忆间的关系
  • Mem0 v1:向量 + 图双引擎,同时支持语义检索和关系推理

第三代:记忆即基础设施(2025-2026)

代表:Mem0 Cloud、AgentMemory、MCP 记忆协议

核心变化:记忆不再是 Agent 的"附加功能",而是独立的基础设施层,通过标准化协议(MCP)被任何 Agent 调用。

维度 第一代 第二代 第三代
存储方式 向量嵌入 知识图谱 + 向量 多模态 + 图谱 + 时序
更新能力 只能追加 可更新/删除 自动提取/更新/过期
关系建模 三元组 动态图谱
协议标准 MCP
代表基准 LoCoMo LoCoMo + LongMemEval + BEAM

五、六大架构流派与基准评测

5.1 六大架构流派

① MemGPT/Letta:三层金字塔

复制代码
Core Memory(上下文内,2-4K tokens)
  persona + human 结构化描述
  ↓ 溢出时归档
  ┌───────────────┴───────────────┐
Recall Memory          Archival Memory
对话历史(文本搜索)    向量存储(嵌入搜索)

借鉴操作系统的虚拟内存分页机制:Core Memory 相当于 RAM,Archival Memory 相当于磁盘,通过"换页"操作将不活跃记忆移出上下文窗口。

适用场景:通用 AI 助手,记忆层次清晰的简单应用。

② Mem0:向量 + 图双引擎

同时维护向量索引和知识图谱,检索时并行打分并融合结果。实体级匹配 + 语义检索 + 时序推理三路并行。

2026 年 4 月发布的新算法核心变化:

  • 单次提取,仅追加:旧算法需要两次 LLM 调用(提取 + 对账),新算法合并为一次,且只做 ADD 操作------信息变更时新事实与旧事实共存,而非覆盖
  • Agent 生成的事实成为一等公民:之前 Agent 说的"我已经帮你订了 3 月 3 日的航班"会被忽略,现在同等权重存储

③ Graphiti/Zep:时序知识图谱

核心优势:天然支持时序推理和关系推理。"用户从北京搬到了上海"不是简单的覆盖,而是保留两个事实 + 一个迁移关系。

④ Cognee:知识图谱驱动的结构化记忆

从非结构化文本中自动抽取三元组,构建知识图谱。适合企业知识库场景。

⑤ Letta Filesystem:文件系统即记忆

Letta 的实验表明,一个简单的文件系统 Agent(用 grep + search_files + open/close 工具操作对话历史文件)在 LoCoMo 上用 GPT-4o mini 就能达到 74.0% 的准确率,高于 Mem0 报告的 68.5%。

原因:Agent 对文件系统操作这类在训练数据中大量出现的工具非常熟练,而专用的记忆工具 Agent 反而用不好。

⑥ GAM:JIT 编译式记忆

General Agentic Memory(BAAI, 2025)提出"即时编译"原则:离线阶段只保留轻量记忆,在线阶段通过深度研究(deep research)生成定制化上下文。双 Agent 架构:Memorizer 负责提取关键信息,Researcher 负责按需检索和整合。

5.2 基准评测之争:LoCoMo 上的"罗生门"

2025-2026 年,三个基准测试定义了记忆系统的评测格局:

基准 题目数 核心测试维度 特点
LoCoMo 1,540 单跳/多跳/时序/开放域 最主流,10 段超长对话(平均 300 轮)
LongMemEval 500 知识更新/多会话/时序推理 更难,每条问题对应约 115K Token 历史
BEAM --- 1M/10M Token 规模 测试生产级规模下的表现,无法靠扩大窗口解决

Mem0 在 2026 年 4 月发布的新算法成绩:

基准 分数 平均 Token/查询
LoCoMo 92.5 6,956
LongMemEval 94.4 6,787
BEAM (1M) 64.1 6,719
BEAM (10M) 48.6 6,914

解读:全上下文方案在 LoCoMo 上通常消耗 25,000+ Token/查询,Mem0 新算法用不到 7,000 Token 达到更高准确率。但 Letta 的文件系统实验也提醒我们------当前基准可能还不够有区分度,一个简单的文件操作 Agent 就能超越专用记忆工具。


六、选型决策:如何选择记忆架构?

6.1 六大维度对比

维度 MemGPT/Letta Mem0 Graphiti/Zep 文件系统 知识图谱 GAM
记忆容量 无限(分页) 大(图+向量) 大(图谱) 取决于文件系统 无限(JIT)
检索精度 高(多路融合) 高(关系推理) 极高 高(深度研究)
时序推理 极强
实现复杂度 极高
Token 效率 极高(~7K/查询)
生态集成 LangChain 21+ 框架 LangChain Letta 原生 通用 研究阶段

6.2 决策树

场景一:实时、低延迟对话(客服机器人)

  • 方案:MemGPT 架构 + 滑动窗口策略
  • 逻辑:MemGPT 提供无限记忆容量底座,滑动窗口保证最近对话的极低延迟响应

场景二:深度个性化交互(心理治疗、教育导师)

  • 方案:Mem0 / Graphiti + 摘要压缩策略
  • 逻辑:时序知识图谱捕捉用户偏好的演变过程,摘要压缩定期提炼冗长对话

场景三:企业知识库问答

  • 方案:知识图谱 + 语义检索策略
  • 逻辑:知识图谱负责精准的关系推理(如组织架构查询),向量检索负责从海量文档中召回语义相关的段落

场景四:快速原型验证

  • 方案:文件系统 + 简单检索
  • 逻辑:Letta 的实验证明,文件系统方案在 LoCoMo 上就能达到 74%,适合快速验证

6.3 三个关键设计决策

决策一:向量检索 vs Agent 推理检索

向量检索快但浅------只能找到"语义相似"的内容。Agent 推理检索慢但深------能理解"用户为什么问这个问题"并找到真正相关的记忆。生产级系统通常两者结合:向量检索做初筛,Agent 推理做精排。

决策二:集中式 vs 分布式记忆

集中式:一个共享记忆池,所有 Agent 读写同一份记忆。优点是一致性强,缺点是单点瓶颈。分布式:每个 Agent 有自己的记忆,通过消息传递同步。优点是扩展性好,缺点是一致性难保证。

决策三:被动存储 vs 主动提取

被动存储:Agent 说一句,系统存一句。简单但信息密度低。主动提取:LLM 从对话中自动提取关键事实、关系、偏好。复杂但信息密度高,是当前主流方向。


七、记忆系统的核心挑战:远比"存下来"复杂

构建一个合格的 Agent 记忆系统,需要解决以下核心难题:

① 信息矛盾与时序推理

用户上个月说"我住在北京",这个月说"我刚搬到上海"。系统必须识别出后者覆盖了前者,只返回"上海"------而不是把两条信息一股脑丢给 LLM 让它猜。

② 噪声过滤与精准检索

11.5 万 Token 的对话历史中,可能只有 3 句话跟当前问题相关。检索噪声过高,LLM 同样无法有效利用信息。

③ 自动遗忘

"我明天有考试"------这条信息在明天过后就应该自动失效,不应变成永久噪声。自动遗忘机制是记忆系统区别于传统数据库的关键特性。

④ 跨会话身份

同一个用户在不同设备、不同时间与 Agent 交互,记忆系统需要将分散的交互关联到同一身份下。这是目前最难解决的开放问题之一。


八、总结

  1. LLM 天生"失忆",这是 Transformer 架构的结构性限制,不是靠扩大上下文窗口就能解决的。三个矛盾------无状态、有界窗口、成本线性增长------决定了记忆系统是 Agent 的必需品而非可选项。

  2. 四类记忆框架(工作/情景/语义/程序性)已成为行业通用语言。程序性记忆最容易被忽视,但恰恰是让 Agent 从"工具"变成"助手"的关键。

  3. 三代演进的核心脉络:向量存储 → 结构化记忆 → 记忆即基础设施。第三代的关键特征是标准化协议(MCP)和自动提取/更新/过期。

  4. 基准评测仍在"罗生门"阶段。LoCoMo、LongMemEval、BEAM 三个基准提供了可比框架,但 Letta 的文件系统实验提醒我们:当前基准可能还不够有区分度,记忆的核心可能不在检索机制,而在 Agent 如何管理上下文。

  5. 选型的核心权衡:精度 vs 效率 vs 复杂度。Mem0 在精度和效率上领先(92.5 LoCoMo,~7K Token/查询),但文件系统方案在简单场景下也不容忽视。


参考资料