ARTICLE / ai
Agent 记忆架构 2026:从认知科学到生产级实现的技术全景
2024 年,“AI Agent 记忆"意味着把对话历史塞进 context window,然后祈祷模型能记住关键信息。无状态 Agent、重复指令、跨会话零个性化——这些被认为是使用 LLM 的固有代价。这个认知框架已经过时了。
2026 年,记忆已成为 Agent 架构中的一等公民:它拥有独立的评测基准套件、独立的研究文献、可量化的性能差异,以及专门为它构建的工具生态。Mem0 在 2025 年 ECAI 会议上发表了首个大规模记忆系统对比论文,Zep 的 Graphiti 引擎在时序推理基准上领先 15 个百分点,Letta(前 MemGPT)让 Agent 像操作系统一样自主管理内存分配。这些不是概念验证——它们是已经在生产环境运行的系统。
本文不重复"短期/长期/工作记忆"的基础分类(参见 Agent 记忆系统:短期/长期/工作记忆的技术方案对比),而是聚焦于 2025-2026 年间 Agent 记忆领域发生的范式性变化:从认知科学的三层记忆模型到混合存储架构的工程实现,从标准化评测基准到生产环境中的安全与隐私挑战。
1. 认知科学的三层记忆模型:从理论到 AI Agent 的映射
1.1 三层记忆分类体系
认知科学文献将记忆按存储介质和检索模式分为不同类型。2025-2026 年,AI Agent 框架领域收敛到一个惊人一致的三层分类体系:
| 记忆类型 | 认知科学定义 | Agent 系统映射 | 核心特征 |
|---|---|---|---|
| Episodic Memory(情景记忆) | 记录特定事件:发生了什么、何时发生、在什么上下文中 | 对话日志、工具调用轨迹、交互序列 | 时序锚定——事实与时间点绑定 |
| Semantic Memory(语义记忆) | 存储声明性事实和关系:用户偏好、实体属性、领域知识 | 用户画像、领域规则、实体关系图 | 无时间性——表示当前认为"为真"的事实 |
| Procedural Memory(程序记忆) | 存储"如何做"的技能和流程 | 学到的工作流、编码模式、工具使用习惯 | 行为指导——指导 Agent 如何执行任务 |
这个分类体系直接借鉴了认知科学中 Tulving 的记忆分类理论,但在 Agent 系统中获得了更精确的工程含义。
1.2 情景记忆:时序锚定的事实记录
情景记忆记录特定的过去事件。在 Agent 系统中,这对应对话日志、工具调用轨迹和交互序列。关键属性是时序排序——情景记忆不仅仅是事实,而是锚定在特定时间点的事实。
不同框架的实现差异很大:
- Letta 的 recall memory 是可搜索的 SQLite/PostgreSQL 消息日志,按需分页加载到 context window 中
- Zep/Graphiti 在事件子图上存储显式的双时序标注:事件时间(事实何时为真)和摄入时间(Agent 首次观察到事实)
- Mem0 将对话历史作为提取语义记忆的源数据,而非直接作为情景记忆存储
Graphiti 的双时序设计(bitemporal design)尤其值得注意——它能够精确推理"追溯性修正”:当用户更新地址时,系统可以区分新事实和旧事实,而不丢失任何一个。
1.3 语义记忆:Agent 积累的结构化知识
语义记忆存储声明性事实和关系。与情景记忆不同,语义记忆在很大程度上是无时间性的——它表示 Agent 当前认为"为真"的内容。
这是大多数 Agent 记忆系统的核心关注点。Mem0 是目前部署最广泛的语义记忆层,拥有约 48,000 GitHub Stars 和 2025 年 10 月完成的 $24M Series A 融资。其语义层通过 LLM 管道从对话中提取命名实体和关系,存储为图数据库中的节点和边,并与向量嵌入交叉链接以支持模糊搜索。
语义记忆面临的核心挑战是事实冲突检测——当新事实与已有图谱条目矛盾时,系统需要决定更新、合并还是保留两者。这是纯向量存储无法优雅处理的问题。
1.4 程序记忆:被忽视的第三种记忆
大多数 AI 记忆系统关注前两种类型。但生产级 Agent 还需要第三种:程序记忆。
程序记忆存储"事情应该怎么做"。对于 Agent,这意味着学到的工作流、编码模式、工具使用习惯、审查规范和部署步骤。一个编码助手可能学会团队如何组织 Pull Request、合并前运行哪些测试命令、以及如何处理 Release Notes。
这是目前工具化程度最低的记忆类型。Mem0 的架构在概念上支持程序记忆,但专门管理程序记忆的工具仍然处于早期阶段。Letta 的 sleeptime agent 机制(后台循环在对话间隙重写和整合记忆块)是目前最接近实用化程序记忆管理的实现。
2. 混合存储架构:向量数据库不再独挑大梁
2.1 纯向量存储的根本局限
2024 年之前,Agent 记忆的默认实现是"向量数据库 + 相似度检索"。这种方案在简单场景中工作良好,但存在三个结构性缺陷:
| 缺陷 | 表现 | 根因 |
|---|---|---|
| 关系盲区 | 无法回答"Alice 和 Bob 的关系是什么"这类结构化查询 | 向量嵌入不编码实体间的关系 |
| 时序失忆 | 检索到的最相似嵌入可能是过时的事实 | 相似度无法区分新旧事实 |
| 冲突无感 | 新旧矛盾事实共存,检索结果互相矛盾 | 没有事实一致性检查机制 |
2.2 混合向量-图存储:2026 年的事实标准
生产级 Agent 越来越多地依赖混合架构——同时使用向量数据库和知识图谱,由 LLM 管理的接口决定存储什么、何时检索、何时遗忘。
多信号检索是关键技术突破。以 Mem0 的 v3 算法为例,检索栈并行运行三个评分通道:
- 语义相似度(Vector Similarity)——捕获概念层面的相关性
- 关键词匹配(BM25)——捕获精确术语匹配
- 实体匹配(Entity Matching)——捕获命名实体级别的关联
三个通道的分数经过归一化后融合为统一的结果得分。实验证明,融合后的得分优于任何单一信号。Mem0 在 LoCoMo 基准上的时间推理提升了 +29.6 分,多跳推理提升了 +23.1 分——这两个维度正是多信号融合贡献最大的领域。
2.3 图记忆:从实验到生产的路径
2024 年,图记忆在 Agent 系统中基本是实验性的。到 2026 年,生产模式已经发生了根本转变。
关键洞察:重要的转变不是"每个 Agent 都需要图数据库",而是记忆系统正在超越纯向量相似度。
Zep 的 Graphiti 引擎是目前最具代表性的生产级时序知识图谱实现。它在 LongMemEval 基准上取得了 63.8% 的得分(使用 GPT-4o),而 Mem0 的得分为 49.0%——在时序检索任务上存在 15 个百分点的差距。这个差距恰好出现在生产级 Agent 最需要的能力上:记住随时间变化的事实。
Graphiti 使用 Neo4j 作为底层存储,实现了双时序标注(事件时间 + 摄入时间),使得系统能够精确处理"追溯性修正"——当用户更新信息时,系统知道哪个版本是当前的,同时保留历史版本。
Mem0 在 v3 版本中做了一个大胆的架构决策:移除外部图存储支持,改为内置实体链接(Entity Linking)。在 add() 时,Mem0 从每条记忆中提取实体并存储在并行的实体集合中。检索时,查询中的实体与该集合匹配,匹配结果用于提升相关记忆的排名。权衡:这不再是一个可遍历的图接口,relations 字段被移除,实体关系现在只影响检索排名,不能被直接遍历。
3. 生产级框架深度对比
3.1 四大框架概览
2026 年,四个开源候选框架在 Agent 记忆领域形成了差异化竞争:
| 框架 | GitHub Stars | 架构范式 | 核心差异化 | 适用场景 |
|---|---|---|---|---|
| Mem0 | ~48K | 向量 + 实体链接 | 自动提取、零配置集成、21 个框架适配 | 个性化 Agent、快速落地 |
| Zep/Graphiti | ~24K | 时序知识图谱 | 双时序标注、时序推理领先 15 分 | 需要时序推理的生产系统 |
| Letta | ~21K | OS 风格运行时 | Agent 自管理内存、分级存储 | 长时间运行的有状态 Agent |
| Cognee | ~12K | ECL 管道 + 类型化图谱 | 结构化知识提取管道 | 知识密集型 Agent |
3.2 Mem0:最广泛部署的记忆层
Mem0 的核心设计理念是零配置、自动提取。开发者调用 add() 和 search() 即可获得跨会话记忆,无需手动设计提取逻辑。
架构演进:
Mem0 经历了从 v2 到 v3 的重大架构变更。v2 版本支持可选的图存储层,v3 版本移除了外部图存储支持,改为内置实体链接。这个决策背后的考量是:图存储的部署和维护成本(Neo4j 实例)对于大多数团队来说过高,而内置实体链接可以提供大部分图记忆的收益,同时保持向量存储的简洁性。
四层作用域模型:
Mem0 的 API 设计采用了四层作用域(scope),这是该领域中最清晰的设计之一:
| 作用域 | 标识符 | 含义 | 生命周期 |
|---|---|---|---|
| User | user_id | 属于特定用户,跨所有会话持久化 | 永久 |
| Agent | agent_id | 属于特定 Agent 实例 | 跟随 Agent |
| Session | run_id | 绑定到单次对话或工作流 | 会话级 |
| Organization | app_id | 共享的组织上下文 | 组织级 |
作用域可以组合——查询可以限定到特定用户在特定会话中的记忆,也可以检索用户跨所有会话的全部记忆。检索管道自动处理合并,用户记忆的排名高于会话上下文,会话上下文高于原始历史。
代码示例:
3.3 Zep/Graphiti:时序推理的领先者
Zep 的差异化在于它将整个记忆架构围绕时序知识图谱构建。Graphiti 是其核心引擎,每个事实都带有明确的时间有效性窗口。
双时序模型:
检索机制:
Graphiti 在检索时不调用 LLM——这与很多其他方案不同。它的检索栈由 BM25 + 向量嵌入 + 图遍历 组成,全部是确定性算法。这带来了两个重要优势:
- 低延迟:没有 LLM 调用的额外延迟
- 可预测性:检索结果不随 LLM 版本变化而波动
在 LongMemEval 基准上,Graphiti 的 63.8% 得分(GPT-4o)显著领先于 Mem0 的 49.0%。这个 15 分的差距集中在时序检索和知识更新两个维度——这恰恰是生产级 Agent 最常失败的场景。
什么时候选择 Zep 而不是 Mem0:如果你的 Agent 需要处理"事实随时间变化"的场景(例如,用户的地址从 A 变到 B,职位从 X 变到 Y),Zep 的时序图谱提供了更可靠的解决方案。如果主要是个性化偏好(用户的语言偏好、交互风格),Mem0 的自动提取和零配置体验更优。
3.4 Letta:Agent 自管理内存的 OS 风格运行时
Letta(前身是 MemGPT)代表了一种根本不同的设计哲学:让 Agent 自己管理记忆,就像操作系统管理虚拟内存一样。
分级存储模型:
| 层级 | 类比 | 实现 | 特征 |
|---|---|---|---|
| Core Memory | RAM | 永驻 context window 的文本块 | Agent 每轮读取和编辑 |
| Archival Memory | 硬盘 | 向量数据库存储的长期知识 | Agent 按需检索 |
| Recall Memory | 系统日志 | SQLite/PostgreSQL 消息历史 | 可搜索的对话记录 |
| Filesystem | 文件系统 | 上传的文档和文件 | 支持 grep 和 open 操作 |
Agent 通过工具调用管理自己的记忆——core_memory_replace 替换核心记忆块中的文本,archival_memory_search 检索长期记忆,memory_insert 插入新记忆。核心设计决策:记忆的提取、更新和遗忘都由 LLM 自主决定,而非由外部管道自动处理。
Letta 在 2025 年 8 月发布的一篇博文"Is a Filesystem All You Need?“中展示了一个有趣的发现:将 LoCoMo 基准的对话记录转储为文件,附加到一个普通 Agent 上,得分达到 74.0%——超过了 Mem0 图变体的 68.5%。Letta 的论点是:Agent 在训练中已经学会了高效的文件搜索,专门的记忆系统可能增加了不必要的复杂性。
Letta 的 sleeptime agent 机制值得特别关注:它在对话间隙运行后台循环,主动重写和整合记忆块。这使得记忆更新可以发生在实时交互之外,避免了对话延迟。这是目前最接近实用化程序记忆管理的实现。
3.5 框架选型决策矩阵
| 维度 | Mem0 | Zep/Graphiti | Letta | Cognee |
|---|---|---|---|---|
| 记忆提取 | 自动(LLM 管道) | 自动(图谱管道) | Agent 自管理 | 自动(ECL 管道) |
| 时序推理 | 中等 | 领先 | 中等 | 中等 |
| 部署复杂度 | 低(云/自托管) | 中(需 Neo4j) | 中(需 PostgreSQL) | 中 |
| 框架耦合 | 无(21 个集成) | 无 | 独立运行时 | 无 |
| 合规就绪 | SOC 2 | SOC 2 | 基础 | 无 |
| 多 Agent 支持 | Actor 感知 | 图谱级别 | 内置 | 基础 |
| LoCoMo 得分 | 92.5(v3 算法) | 68.5(图变体) | 74.0(文件系统) | ~60 |
| 长时运行 Agent | 一般 | 一般 | 最佳 | 一般 |
4. 评测基准:从各自为战到标准化对比
4.1 三大基准定义评测格局
Agent 记忆研究最重要的进展是标准化评测基准的出现。三个基准现在定义了整个领域的测量标准:
| 基准 | 规模 | 测试维度 | 核心价值 |
|---|---|---|---|
| LoCoMo | 1,540 个问题,4 类 | 单跳、多跳、时序、开放域 | 多会话对话记忆的黄金标准 |
| LongMemEval | 500 个问题,6 类 | 用户/助手/偏好回忆、知识更新、时序推理、多会话 | 时序推理的终极压力测试 |
| BEAM | 1M/10M token 规模 | 10 类(偏好、指令、提取、更新等) | 生产规模部署的相关性最高 |
LoCoMo(Snap Research)是目前最广泛使用的基准。每次对话最多跨越 35 个会话、300 轮交互、9,000 个 token,问题按难度分为单跳、多跳、时序和开放域四类。
BEAM 基准尤其值得关注——它在 1M 和 10M token 规模上测试记忆系统。关键发现:仅靠扩展 context window 无法解决 BEAM 中的挑战,这使得它与生产规模部署最相关。
4.2 统一评测框架
三个基准共享一个五维评测框架:
| 指标 | 衡量内容 | 为什么重要 |
|---|---|---|
| BLEU Score | 生成内容与标准答案的 token 级相似度 | 衡量生成质量 |
| F1 Score | 回答 token 的精确率和召回率 | 衡量信息完整性 |
| LLM Score | LLM 裁判的二元正确性判断 | 衡量语义正确性 |
| Token 消耗 | 每次查询的总 token 数 | 衡量成本效率 |
| 延迟 | 检索和响应生成的时钟时间 | 衡量用户体验 |
关键洞察:这种组合防止了在单一维度上过度优化。一个在准确率上表现优秀但每次查询需要 26,000 token 的系统在生产中不可行。一个延迟低但召回率差的系统没有用处。
4.3 当前最佳成绩
| 框架/算法 | LoCoMo | LongMemEval | 平均 Token/查询 |
|---|---|---|---|
| Mem0 v3 | 92.5 | 94.4 | ~6,900 |
| MAGMA | 70.0(Judge) | - | - |
| Letta(文件系统) | 74.0 | - | - |
| Mem0 图变体(v2) | 68.5 | - | ~26,000 |
Mem0 的 v3 算法在 token 效率上取得了显著进步——从 v2 的约 26,000 token/对话降低到约 6,900 token/查询,同时在时间推理上提升了 +29.6 分。
5. 声明式记忆注入:编码 Agent 的新范式
5.1 CLAUDE.md / AGENTS.md 模式
2025-2026 年,一种出人意料的记忆模式在编码 Agent 中获得了广泛采用:声明式记忆文件。
- Claude Code 读取
CLAUDE.md - OpenAI Codex 读取
AGENTS.md - Cursor 读取
.cursorrules
这些文件在每次会话开始时注入到 LLM 的 context 中,本质上是最简单的记忆系统——人工维护的、声明式的、永不衰减的记忆。
5.2 为什么这种"笨办法"有效
声明式记忆之所以在编码场景中表现优异,有三个原因:
- Agent 擅长文件搜索:Letta 的实验表明,Agent 在训练中已经学会了高效的文件搜索,简单的文件系统加上 Agent 的搜索能力就足以匹敌专门的记忆系统
- 零提取开销:不需要 LLM 管道来提取和存储记忆,所有记忆都是人工策展的
- 可审计性:人类可以直接阅读和审查 Agent 的"记忆”,这在安全敏感场景中至关重要
声明式记忆的局限在于可扩展性——它要求人工维护,无法从交互中自动学习。但对于编码 Agent 这种"团队规范固定、知识边界清晰"的场景,它的简洁性恰恰是优势。
6. 多 Agent 系统中的记忆挑战
6.1 记忆归属问题
在多 Agent 对话中,一条记忆如"用户需要帮助部署"是模糊的——是用户直接说的,还是监控 Agent 推断的?还是规划 Agent 创建的中间步骤?
Actor 感知记忆(Actor-Aware Memory)是解决这个问题的关键模式。Mem0 的 Group Chat 实现使用消息的 name 字段进行归因:用户消息存储在 user_id 下,助手或 Agent 消息存储在 agent_id 下。检索时,Agent 可以按参与者和会话过滤,帮助区分用户陈述的事实和 Agent 生成的推断。
6.2 记忆的来源追踪
随着多 Agent 系统日益复杂,记忆层中的来源追踪(provenance)成为可靠性的组成部分,而不仅仅是调试工具。每条记忆需要记录:
- 谁创建了它(用户、Agent A、Agent B)
- 何时创建的(创建时间和最后验证时间)
- 它的置信度(直接陈述 vs. 推断 vs. 不确定)
- 它影响了哪些决策(下游依赖追踪)
7. 安全与隐私:记忆系统的暗面
7.1 记忆投毒攻击
记忆系统引入了一个全新的攻击面:记忆投毒(Memory Poisoning)。攻击者可以通过精心构造的交互,让 Agent 记住恶意信息,这些信息会在后续会话中被检索并影响 Agent 的行为。
防御策略包括:
- 输入验证:对写入记忆的内容进行异常检测
- 来源分级:用户陈述的事实 vs. Agent 推断的事实,赋予不同的信任等级
- 记忆审计:定期审查存储的记忆,检测异常模式
- 沙箱隔离:敏感操作的记忆与普通记忆分离存储
7.2 GDPR 合规挑战
记忆系统存储的用户数据可能受到 GDPR 的"被遗忘权"约束。当用户要求删除其数据时,Agent 需要能从所有记忆存储中彻底清除相关信息——包括向量数据库中的嵌入、知识图谱中的节点和边、以及可能的缓存和备份。
当前状态:Mem0 和 Zep 都声称支持 GDPR 合规,但完全的"被遗忘权"实现仍然需要工程上的额外工作,特别是在涉及图记忆和缓存层时。
7.3 记忆过时与知识衰减
记忆系统面临的另一个安全和质量挑战是记忆过时(Memory Staleness)。存储的事实可能随时间变得不准确,但如果系统没有机制来检测和更新过时记忆,Agent 可能会基于陈旧信息做出错误决策。
目前的解决方案包括:
- 时间衰减:记忆的检索权重随时间自然衰减
- 显式过期:为每条记忆设置过期时间
- 主动验证:定期使用 LLM 检查记忆的一致性
- 用户反馈驱动:当用户纠正 Agent 时,自动更新相关记忆
8. 开放问题与未来方向
8.1 尚未解决的核心问题
| 问题 | 现状 | 影响 |
|---|---|---|
| 跨会话身份一致性 | Agent 难以在不同会话中识别"同一个用户" | 跨会话个性化失败 |
| 大规模时序抽象 | 在百万级记忆上高效推理时间关系 | 长期运行 Agent 的知识管理瓶颈 |
| 记忆过时自动检测 | 缺乏通用的过时检测机制 | Agent 基于错误信息决策 |
| 程序记忆管理 | 工具化程度最低的记忆类型 | Agent 无法从经验中学习"怎么做" |
| 评测覆盖不足 | LoCoMo/LongMemEval 不覆盖程序记忆和抗投毒能力 | 无法全面评估记忆系统质量 |
8.2 2026 年的关键趋势
- 混合存储成为默认:纯向量存储正在被混合向量-图谱架构取代
- 评测标准化:LoCoMo、LongMemEval、BEAM 正在成为行业标准
- 记忆即上下文工程:Anthropic 的 Context Engineering 工作将记忆从"存储层"重新定位为"上下文组装层"
- 声明式与自动提取融合:编码 Agent 的 CLAUDE.md 模式与自动提取管道正在融合
- 隐私优先设计:OpenMemory MCP 代表了本地优先、用户控制的记忆架构方向
总结与展望
三层认知模型已成为行业共识:情景记忆、语义记忆、程序记忆的分类体系从认知科学迁移到了 Agent 架构中,Mem0、Zep、Letta 等框架都在这个框架下实现各自的差异化
混合向量-图谱存储是 2026 年的事实标准:纯向量存储在关系推理和时序推理上的结构性缺陷已被充分证明,多信号检索融合(语义 + 关键词 + 实体)带来了显著的性能提升
Mem0 在规模和易用性上领先,Zep 在时序推理上领先,Letta 在长时间运行 Agent 上领先:没有单一框架在所有维度上最优,选型需要根据具体场景的需求优先级决策
标准化评测基准的出现标志着领域成熟:LoCoMo、LongMemEval、BEAM 使不同记忆架构的对比第一次变得可量化、可复现
记忆安全和隐私仍是未充分解决的挑战:记忆投毒、GDPR 合规、记忆过时检测等问题需要更多工程实践和标准制定
未来 18 个月,Agent 记忆领域最值得关注的进展方向是程序记忆的工具化(Agent 如何从经验中学习"怎么做"而不仅仅是"知道什么")和跨 Agent 记忆共享(多个 Agent 如何安全地共享和协调它们的知识)。这两个方向的突破将决定 Agent 能否从"有用的工具"进化为"真正的团队成员"。
参考资源
- Memory in the Age of AI Agents: A Survey — 最全面的 Agent 记忆综述论文,提出三层分类体系(Form/Function/Dynamics)
- Mem0 v3 算法与评测 — Mem0 的最新研究,LoCoMo 92.5 分,LongMemEval 94.4 分
- Graphiti: Temporally-Aware Knowledge Graph Engine — Zep 的时序知识图谱引擎论文
- Letta: Is a Filesystem All You Need? — Letta 关于文件系统记忆的基准测试,LoCoMo 74.0 分
- LoCoMo Benchmark — Snap Research 的多会话对话记忆评测基准
- LongMemEval Benchmark — 时序推理和知识更新的评测基准
- BEAM Benchmark — 百万级 token 规模的记忆系统评测
- Mem0 GitHub — 开源记忆框架,~48K Stars
- Graphiti GitHub — Zep 的时序知识图谱引擎
- Letta GitHub — Agent 自管理内存的 OS 风格运行时
- Agent Memory Paper List — Agent 记忆论文清单,持续更新