首页 › ai-agents › 读写分家:自主体记忆层四栈选型

概述

把大模型塞进一个会自己跑循环的壳里,并不等于"自主智能体"。2026年真正从试点地狱里爬出来的那些代理——能连续自主运行数周、跨会话累积用户上下文、最终替代真实人力的那批——共同点只有一个:在 LLM API 和业务逻辑之间,硬塞进了一层专门设计的记忆层。这一层如今已从研究原型长成独立品类,有了自己的基准(LongMemEval)、创业公司和生产部署范式。本文拆解四套主流记忆栈——Mem0(写入时压缩派)、Letta(自编辑记忆派)、Zep/Graphiti(时序知识图谱派)、Hindsight(多策略检索派)——在 LongMemEval 上从 49% 到 91.4% 的精度断层背后的架构分歧,并给出"先向量、后图谱、异步写、同步读"的生产落地路径。

为什么"记忆"才是 2026 自主体的真瓶颈

一句话定义问题:没有记忆的自主体,只是一个昂贵的聊天机器人。它在单个上下文窗口里推理得很漂亮,会话一结束就忘掉一切,用户从头再来,代理从头再来,什么都不会复利累积。

这就是 2024 到 2025 年大批企业自主体卡在试点炼狱的根本原因。能跑、能推理、能调工具——但"上周我们讨论过的事"它不记得。而恰恰是这个失败模式不会出现在任何单会话测试套件里,于是 Demo 漂亮、上线即崩。学术上记忆分四类,但 2026 生产实践里,三层映射最干净:

记忆层级 内涵 工程载体
工作记忆(Working) 模型当下推理的内容,即上下文窗口 进程内缓冲 / 当前 prompt
情景记忆(Episodic) 发生过什么——历史对话、完成任务、过往决策 向量库(Pinecone/Weaviate/pgvector)
语义记忆(Semantic) 持久知识库——用户事实、实体关系、领域知识 图数据库(Neo4j via Graphiti)
程序记忆(Procedural) 学到的行为规则、指令 系统提示词 + 结构化配置

绝大多数团队第一版只做对了工作记忆(够开 Demo),第二会话回来才发现需要情景检索,等到代理在规模上把相似实体搞混时,才补上语义关系建模。几乎没有人一次性把三层都做对。

四栈核心对比

维度 Mem0 Letta(前 MemGPT) Zep / Graphiti Hindsight
定位 记忆 API / 服务 自主体运行时 时序知识图谱 多策略检索引擎
核心哲学 写入时压缩 读取时自编辑 图谱 + 时序 四网四策略融合
写入路径 提取→去重(ADD/UPDATE/DELETE/NOOP) 代理自己调工具编辑核心记忆 Graphiti 抽取实体边并打时间戳 四网络并行写入
检索路径 向量(可选图谱变体) 核心记忆常驻 + archival 向量检索 图遍历 + 向量 语义/BM25/图/时序 + 重排
LongMemEval 49.0%(GPT-4o) 未公布主榜 63.8%(GPT-4o) 91.4%(Gemini-3 Pro)
p95 延迟 7–10s(同步写)/ 1.44s 检索 中 ~1s(亚秒) ~2–4s
上手 一行 add/search 运行时概念重 需图数据库运维 架构最重
生产吞吐 10 亿 token/天 — — —
合规 企业版 HIPAA BAA/SSO 自托管 Neo4j 自托管 MIT 许可,可全本地

深度拆解

一、Mem0:写入时压缩派

Mem0 把自己定位成记忆 API 而非代理运行时,接口刻意极简:add() 存、search() 取。它在每一对消息上跑一个提取阶段,识别显著事实并蒸馏成紧凑的自然语言记忆条目。新事实在落库前与已有记忆比对,从四种操作里选一个:ADD、UPDATE、DELETE、NOOP。

核心创新是写入时去重。它不是不断堆冗余向量,而是持续合并。这正是它在 LOCOMO 基准上比 OpenAI 自带记忆高 +26% 的根因。生产规模上,Mem0 现在每天处理超 10 亿 token。v1.0.0 把 async_mode=True 设为默认——承认了一个生产现实:同步记忆写入会阻塞响应管线,这在基准里看不出来,却会在每一个线上事故里收税。

from mem0 import Memory

m = Memory()  # v1.0+ 默认 async_mode=True,写入后台 fire-and-forget
m.add("Alice manages the infrastructure team", user_id="alice")
results = m.search("who runs infra?", user_id="alice")  # user_id 做命名空间隔离

代价是:Mem0 的被动提取一致且省 token,但没法做细致的上下文判断——是提取模型在决定什么重要,不是代理本身。这也是它 LongMemEval 仅 49% 的结构性原因(同一基准、同一 GPT-4o 下,Zep 是 63.8%)。补救是用图谱变体 Mem0g(68.4% LLM Score 对纯向量的 66.9%,代价是 p95 从 1.44s 涨到 2.59s),或集成 ZeroEntropy 重排器。

二、Letta:读取时自编辑派(OS 式记忆)

Letta 走的是完全相反的哲学。它不是被代理调用的记忆服务,而是一个完整代理运行时,记忆管理就是执行模型的核心。架构直接照搬操作系统:核心记忆(常驻上下文,类比 RAM)、归档记忆(外部可搜索向量库,类比磁盘)、回忆记忆(对话史)。

关键点:Letta 里的代理用上下文内的工具调用自己编辑核心记忆。当核心记忆塞满,代理自己决定归档什么——用模型自身的推理来策展哪些内容保持活跃。这比被动提取更自适应,但记忆质量成了模型判断力的函数:GPT-4o 级模型上表现惊人,弱模型上显著退化。

# Letta 代理自发调用的记忆工具(伪示意)
core_memory_append(block="human", content="用户偏好 Kubernetes 而非 Docker Swarm")
core_memory_replace(old="Alice 在 A 组", new="Alice 已调到 B 组")  # 自主更新

Letta 的强项是超长任务的连续性——那些上下文窗口方案根本撑不住的场景。它就是为"跑几周、不是跑一会话"的代理而生。代价是概念重量:你引入的是一个运行时,不是一个库。

三、Zep / Graphiti:时序知识图谱派

Zep 是这一品类里最图谱原生的生产系统。其核心技术 Graphiti 是一个时间感知的知识图谱——不只记"发生了什么",还记"何时发生、以何顺序"。当用户改变主意,Graphiti 不是简单覆盖事实,而是把历史关系和新状态一起记下来。

这点在 LongMemEval 上拉开的差距是实打实的:用 GPT-4o,Zep 拿 63.8%,而 Mem0 在同基准同模型上只有 49.0%——在时序排序至关重要的复杂多会话推理任务上,这是有意义的鸿沟。延迟曲线比纯向量系统重,但通过优化图遍历,Zep 在规模上仍能交付亚秒级检索。Graphiti 的开源发布 + Neo4j 集成,让图谱记忆对已经跑图数据库基础设施的团队成了可行的生产选项。

// Graphiti 风格:事实带有效期,旧关系不删而是失效
(a:Alice)-[:MANAGES {valid_from:"2025-03", valid_to:"2026-01"}]->(InfraTeam)
(a:Alice)-[:MANAGES {valid_from:"2026-01"}]->(PlatformTeam)   // 当前生效

四、Hindsight:多策略检索派(精度天花板)

Hindsight 是这一品类里架构野心最大的系统。它维护四个独立记忆网络——世界网络、经验网络、观点网络、实体/观察网络——并对每个查询并行跑四种检索策略:语义相似度、BM25 关键词、图遍历、时序排序,再用交叉编码器重排综合结果。

基准数字反映了这架构投入:在 LongMemEval 上用 Gemini-3 Pro 拿到 91.4% 总精度,是该基准已发表的最高分(仅次于专有的 OMEGA 95.4% 和 MemMachine 93.0%)。需要强调:LongMemEval 仍是研究基准,生产结果随领域和查询类型差异巨大。Hindsight 是 MIT 许可、支持本地部署,这让它成了数据驻留要求排除云记忆 API 的合规行业的首选。

五、写入时 vs 读取时:两派之争的本质

四栈背后真正分家的,是"什么时候做记忆加工"这一个决策。

2026 的工程共识是:先把写入做成异步(Mem0 v1.0.0 把它正式化为 async_mode),读取保持同步。写入绝不能阻塞响应管线——fire-and-forget 更新、流式返回响应、异步确认落库。这条规则,是生产记忆层和 Demo 记忆层的分水岭。

六、精度 vs 延迟:无赢家曲线

把四栈的 LongMemEval 精度对 p95 延迟画出来,你会看到一条没有哪个系统同时在两个轴上领先的曲线:

quadrantChart
    title LongMemEval 精度 vs 延迟(2026)
    x-axis 低精度 --> 高精度
    y-axis 低延迟 --> 高延迟
    quadrant-1 高精度高延迟(重但准)
    quadrant-2 低精度高延迟(两头不讨好)
    quadrant-3 低精度低延迟(轻但糙)
    quadrant-4 高精度低延迟(理想区)
    Mem0: [0.49, 0.30]
    Zep: [0.64, 0.45]
    Supermemory: [0.85, 0.10]
    Hindsight: [0.91, 0.75]

Hindsight 赢精度但慢;Supermemory 赢延迟(亚 300ms、月处理 100B+ token、85.4%)但牺牲精度。面向消费者的亚秒级应用和跑后台的自主代理(召回质量比响应时间更重要),会做出截然不同的选择。生产里真正有用的信号是:不要看榜单绝对值,要看你的查询分布落在曲线哪一段。

七、向量 vs 图谱 vs 混合:架构决策

2024 年这其实不是个真决策——大家全用向量库,因为图数据库运维复杂、图谱记忆还属实验。2026 年图谱记忆进了生产,决策变真了:

2026 实操共识:先向量,等代理需要推理实体关系时再上图谱。运行图数据库的运维开销是真实的,用例不要求就别引入。

八、生产部署清单

从 2026 实际跑通的部署里提炼的决策序列:

  1. 先定义记忆范围——存用户偏好、任务状态、领域知识,还是全要?答案在写一行代码前就定了架构。
  2. 先向量、留图谱后路——schema 设计成可平滑迁混合,不必重写应用层。
  3. 第一天就把写入做成异步——同步写入是你会在每个线上事故里反复付的延迟税。
  4. 在你自己的查询分布上做基准——LongMemEval 分数重要,但它测的是特定分布。
  5. 设记忆预算——无界累积会让检索质量随时间劣化,从第一天就上淘汰/合并。
  6. 显式测多会话连续性——"代理忘了我们上周聊的"这个杀手级失败,单会话测试套件抓不到。

一个常见的分层生产栈:短期用 Redis、情景用 Pinecone/Weaviate/pgvector、语义用 Neo4j via Graphiti、程序用系统提示词;想砍运维复杂度的团队转向 TiDB/SingleStore 这类"SQL + 向量 + 图谱"一体的统一库。

自主体记忆分层架构

flowchart TB
    U[用户/任务] --> AG[自主代理循环<br/>Plan→Act→Observe→Reflect]
    AG -->|注入系统提示| RL[记忆检索层<br/>同步读]

    subgraph 写入路径[写入时加工派]
        AG -.异步 fire-and-forget.-> W1[Mem0 提取+去重<br/>ADD/UPDATE/DELETE/NOOP]
        AG -.异步.-> W2[Zep/Graphiti 抽取实体边<br/>打时间戳入图]
    end

    subgraph 自编辑路径[读取时加工派]
        AG ==>|代理自主调用工具| L1[Letta 核心记忆<br/>core_memory_append/replace]
        L1 -->|塞满则自主归档| L2[Archival 向量库]
    end

    RL --> R1[向量检索<br/>Pinecone/Weaviate/pgvector]
    RL --> R2[图遍历<br/>Neo4j/Graphiti 时序]
    RL --> R3[BM25 + 语义 + 重排<br/>Hindsight 四策略]

    R1 & R2 & R3 --> CTX[构造检索增强上下文]
    CTX --> AG

    style RL fill:#e8f5e9
    style W1 fill:#fff3e0
    style L1 fill:#e3f2fd

推荐方案(按场景)

你的场景 首选 理由
快速给现有应用加个性化记忆 Mem0 一行 API 接入,写入时去重,10 亿 token/天验证过;记住配 async_mode=True
超长任务、跨周连续运行的自主代理 Letta OS 式分层 + 代理自编辑,为"跑几周"而非"跑一会话"设计;前提是模型够强
强时序、多实体关系、要问"何时/谁连谁" Zep/Graphiti 时序知识图谱,LongMemEval 63.8% 对 49% 的差距就在时序;已有 Neo4j 团队加分
合规行业、数据必须本地、精度优先 Hindsight 四网络四策略 91.4%,MIT 许可可全本地部署
消费者级亚秒响应、要接企业知识源 Supermemory 亚 300ms、85.4%、Notion/Slack/Drive 连接器现成
不知道选啥的最小起步 pgvector + Redis 先向量、留图谱后路;别在用例不要求时引入图数据库运维

一句话总结 2026 的认知转向:还在等更好模型的团队,输给了在搭更好记忆的团队。 自主体和 Demo 的差距,绝大部分是记忆差距;这一层框架已是生产级、基准在成熟、架构模式有据可循。下一个真正自主的代理,不会赢在谁的模型大,而会赢在谁的记忆层让知识能复利累积。

参考来源

  1. Agent Memory in Production 2026: Letta, Mem0, Zep, and Hindsight Benchmarked — AgentMarketCap — 四栈架构、LongMemEval 基准数据(49%→91.4%)、精度vs延迟曲线、生产部署清单的核心来源
  2. AI Agent Memory Architecture Guide 2026: Mem0, Zep, LangGraph Store — baeseokjae — 记忆架构按用例匹配的选型框架与三层记忆分层
  3. Mem0 vs Letta (MemGPT): AI Agent Memory Compared (2026) — Vectorize — 写入时被动提取 vs 读取时自编辑运行时的两派哲学对照
  4. Mem0 vs Zep vs Letta: Agent Memory Compared (2026) — AgenticWire — LongMemEval 基准、AWS 部署与架构取舍的横向对比
  5. Best AI Agent Memory Systems in 2026: 8 Frameworks Compared — Vectorize — 跨会话失忆问题与八大记忆系统的工程定位梳理

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入