一、先把坐标定清楚

2025 年之前,大多数 Agent 的“记忆”就是一个向量库:把对话历史切片、嵌入、存起来,需要的时候做语义检索。这套方案能跑通简单客服和问答,但一到复杂场景就露出短板。

真正的 Agent 长期记忆至少要回答四个问题:

  • 用户是谁、喜欢什么、之前做过什么?
  • 这些事实会不会变?变了之后旧事实怎么处理?
  • 事实之间有什么关系?能不能跨事实推理?
  • Agent 自己能不能决定记住什么、忘记什么、下一步调用什么记忆?

Mem0、Zep、Letta 分别回答了这四个问题中的不同组合。可以先用五组差异记住它们:

  • 核心定位:Mem0 是通用记忆层 / Memory SDK;Zep 是时序知识图谱记忆服务;Letta 是有状态 Agent 运行时平台。
  • 最强能力:Mem0 强在易用性、框架兼容性和企业合规;Zep 强在时间感知的记忆演化和事实有效期;Letta 强在 Agent 自主管理多层记忆和长程状态。
  • 架构哲学:Mem0 把记忆做成可插拔基础设施;Zep 把记忆做成带时间轴的知识图谱;Letta 把 LLM 当成操作系统来调度记忆。
  • 开源与托管:Mem0 是开源核心加托管云服务;Zep 是 Graphiti 开源加 Zep Cloud;Letta 采用 Apache 2.0。
  • 公开信号:Mem0 官方披露 21 个框架、20 个向量存储集成,媒体报道 2025 年获 $24M 融资;Graphiti 官方仓库约 28K star;Letta 源自 MemGPT 论文,当前以 Letta Agent / Agent SDK 形态推进。

三者的差别首先体现在方向,其次才是规模。接下来分别拆开看。

二、Mem0:默认选项是怎么炼成的

Mem0 的前身是 EmbedChain,一个把 RAG 流程简化的框架。后来团队发现,Agent 真正缺的,是一套能被统一管理、随处调用的记忆层,而检索只是其中一环。于是 Mem0 诞生了。

它的核心假设很直接:记忆不应该绑定在某个 Agent 框架里,而应该是一个独立的 SDK,任何框架都能插进来用。

2.1 三层作用域 + 多存储后端

Mem0 把记忆按作用域分成三层:

  • User Memory:跨会话持久化,记录用户偏好、事实、身份。
  • Session Memory:单轮对话内的临时上下文。
  • Agent Memory:跨所有用户共享的 Agent 知识。

这个分层本身不算特别,但它后面的 Multi-Store 架构让 Mem0 和简单向量库拉开了距离:

  • Vector Store 负责语义相似度检索,支持 Pinecone、Weaviate、Qdrant、ChromaDB。
  • Graph Memory(Mem0ᵍ)负责实体关系和多跳推理,支持 Neo4j、Kuzu。
  • Key-Value Store 负责结构化事实快速查找,支持 Valkey、Cassandra。

这意味着 Mem0 既能回答“用户喜欢什么”这种简单召回,也能处理“用户的朋友、项目、偏好之间有什么关系”这类多跳问题。

2.2 2026 年的算法升级

Mem0 在今年做了两件关键改进。

第一,把提取策略从“只存用户说过的话”改成 ADD-only extraction:Agent 生成的推论、建议、确认都被当作一等事实存起来。这让记忆不再只是用户输入的镜像,而是变成了 Agent 与用户共同维护的知识库。

第二,检索从单路语义搜索改成 多信号融合:语义相似度、关键词匹配、实体匹配三路并行,再融合排序。

官方报告的性能数字很亮眼:

  • LoCoMo:92.5%,每查询约 6,956 token。
  • LongMemEval:94.4%,每查询约 6,787 token。
  • BEAM (1M):64.1%,每查询约 6,719 token。

如果这些数据成立,Mem0 在记忆类 benchmark 上已经是第一梯队。

2.3 企业级能力

Mem0 今年最大的产业动作,不是单点功能,而是集成面变宽。官方博客披露,它已经覆盖 OpenAI Agents SDK、Google ADK、AWS Bedrock、Vercel AI SDK、Mastra 等开发入口,同时支持 20 个向量存储后端。对企业市场来说,这比某一个框架适配更重要:记忆层正在被做成跨框架基础设施。

合规层面,Mem0 提供 SOC 2 Type II、HIPAA BAA、GDPR 删除、BYOK、BYOC。托管服务的成熟度目前是三者中最高的。

价格也分层清晰:Hobby 免费 → Starter $19/月 → Growth $79/月 → Pro $249/月 → Enterprise 定制。Graph memory 现在以 Entity Linking 的形式出现在 Pro 和 Enterprise 档。

2.4 短板在哪里

Mem0 的问题也很明显。

第一,Graph memory 被锁在 Pro 档。如果你需要实体链接增强的图式记忆,必须先到 $249/月这一档。这对早期团队和多跳推理刚需场景来说,是一道不低的门槛。

第二,时序推理弱。Mem0 能记录时间戳,但没有“事实有效期”概念。如果用户一年前喜欢 Python,上个月转向 Go,Mem0 可能同时召回两条事实,让模型自己判断哪个更优先。

第三,同步写入延迟偏高。生产环境建议用异步写入。

第四,事实冲突处理偏简单。两个矛盾事实可能共存,需要应用层自己解决。

2.5 适合谁

  • 需要快速给现有 Agent 加记忆,不想重构架构的团队。
  • 做客服、销售助手、个性化推荐这类以用户画像为核心的产品。
  • 看重托管服务、合规认证、AWS 生态的企业。

三、Zep:时间的维度被补上了

Zep 是 YC 背景的 Agent 记忆公司。它的核心判断是:真实世界的记忆是动态的,很多事实会变化、会过期、也会被新事实替代。如果记忆系统不能处理时间,就不够真实。

3.1 双时间轴知识图谱

Zep 最大的技术创新是 Graphiti 引擎,一个开源的时序知识图谱。它给每条事实都加上两个时间维度:

  • t_event:事件实际发生的时间。
  • t_valid / t_invalid:事实从何时到何时有效。

举个例子。用户周一说“我住北京”,周三说“我搬上海了”。

在 Mem0 里,系统可能同时记住“住北京”和“住上海”两个事实。如果模型不做额外判断,就可能根据旧事实给出错误建议。

在 Zep 里,系统会自动把“住北京”标记为从周三起失效,“住上海”从周三起生效。旧事实没有消失,只是不再作为当前有效事实被使用。保留历史对审计和回溯非常有价值。

3.2 事实记忆与情节记忆

Zep 把记忆分成两类:

  • Factual Memory:抽取出来的 timeless facts,带有效期窗口,支持矛盾检测和自动失效。
  • Episodic Memory:事件被组织成有意义的 episode 序列,支持“什么时候发生了什么”的查询。

这种区分让 Zep 更适合需要追踪状态变化的场景,比如 CRM 里的商机阶段、医疗记录、项目进度、交易流程。

3.3 检索与性能

Zep 的检索结合了三条路:

  • 语义嵌入:做向量相似度。
  • BM25 关键词:做词汇匹配。
  • 图谱遍历:做多跳关系查询。

Zep 官方仓库把 Zep 与 Graphiti 分得很清楚:Zep 是托管上下文图平台,强调生产级低延迟;Graphiti 是开源时序图引擎,具体性能取决于自托管配置。仓库说明里给 Zep 的口径是 scale 下 sub-200ms,Graphiti 则更适合能自己运维和调优的团队。

性能数据方面,公开口径主要有两类:

  • DMR Benchmark(GPT-4 Turbo):94.8%。
  • LongMemEval:论文披露在部分企业相关任务上最高提升 18.5%,同时相对 baseline 降低响应延迟。

这里有一个值得注意的地方:Mem0 在 2026 报告里给出的是新算法在 LoCoMo、LongMemEval、BEAM 上的完整表格;Zep 论文更强调 DMR、LongMemEval 相对提升和时序图架构。两个数字体系不能直接排成一个榜单。Benchmark 在这个领域高度依赖模型后端、数据切分、检索深度和评测协议,读的时候要保留怀疑。

3.4 部署形态

Zep 现在主要有四种使用方式:

  • Zep Cloud:托管服务,Flex 月付约 $125/月,按 credit 计费;免费额度约 10,000 credits/月。
  • Zep Enterprise:Cloud、BYOK、BYOC,适合安全、合规和部署边界要求高的团队。
  • Graphiti 自托管:需要 Neo4j / FalkorDB / Amazon Neptune;Kuzu 支持已标注 deprecated。
  • Graphiti 独立版:开源核心,可自定义扩展。

对比 Mem0,Zep 的定价方式更像企业基础设施:入口免费额度能试用,但正式自助档起步并不低;它的优势不在便宜,而在上下文图、部署边界和审计能力。自托管 Graphiti 的门槛也更高,因为必须运维图数据库。

3.5 短板

第一,生态集成不如 Mem0 广。Zep 支持主流框架,但插件、社区、教程数量都少一些。

第二,自托管需要图数据库能力。如果团队没有 Neo4j、FalkorDB 或 Amazon Neptune 的运维经验,成本会上升。

第三,Cloud 数据驻留目前主要在美国。对数据主权要求高的中国企业或欧盟企业,可能需要自托管。

第四,复杂图查询调优难度大。时序图查询一旦规模大,性能优化需要专门经验。

3.6 适合谁

  • 需要处理不断变化的事实:用户偏好、项目状态、交易流程、客户关系。
  • 需要时序推理:“用户去年 Q2 的策略是什么?”
  • 需要审计追踪:事实何时生效、何时失效、谁说了什么。
  • 需要多跳关系查询:组织架构、供应链、社交网络。

四、Letta:把 LLM 当成操作系统

Letta 的前身是 UC Berkeley 的 MemGPT 研究项目,论文 arXiv:2310.08560 提出的核心比喻很清楚:把 LLM 的上下文窗口看成有限内存,用类似操作系统虚拟内存的方式在快慢记忆之间调度信息。

MemGPT 的野心从一开始就不只是“让 Agent 有记忆”,而是“让 Agent 自己管理记忆”。

4.1 核心思想:LLM 即 OS

Letta 把 LLM 的上下文窗口比作计算机的虚拟内存。Agent 不需要一次性加载所有信息,而是像操作系统一样,按需把信息从内存换入换出。

记忆被分成三层:

  • Core Memory 类似 RAM,保存 Agent 的人格、用户画像和当前任务状态,始终在上下文里。
  • Recall Memory 类似磁盘缓存,保存近期对话历史,通过工具调用检索。
  • Archival Memory 类似冷存储,保存长期向量索引的事实和事件,按需深度检索。

关键点是:Agent 自己决定怎么管理这三层记忆。

4.2 自编辑记忆工具

Letta 给 LLM 暴露了一组类似操作系统调用的记忆工具。不同版本里的命名会变化,但核心动作大致是:

  • 更新 core memory block:修改始终在上下文里的状态。
  • archival_memory_insert:插入长期记忆。
  • archival_memory_search:按语义搜索长期记忆。
  • 通过 run / step 机制继续执行多步任务。

这意味着 Agent 会主动决定记住什么、忘记什么、什么时候检索什么;记忆不再是被动接收的信息流。

4.3 Heartbeat 与状态持久化

Heartbeat 机制让工具调用可以触发额外的 LLM 推理轮次,而不需要新的用户输入。这让 Agent 能够:

  • 自主执行多步任务。
  • 失败后自我恢复。
  • 在长周期运行中保持目标一致性。

Letta 文档里更稳的说法是:memories、user messages、reasoning、tool calls 等状态都会持久化到数据库里,即使从上下文窗口里被压缩或移出,也不会丢失。这种“真正 stateful”的能力,是 Mem0 和 Zep 这种记忆层本身不直接承担的。

4.4 产品形态

Letta 现在明显不只是一个研究原型,而是在往完整 agent 产品与 SDK 走:

  • Letta Agent:官方定位是 memory-first agent。
  • Letta Agent SDK:面向开发者构建 stateful agent。
  • Conversations API:多个并行对话共享同一个 Agent 的 memory blocks 和可搜索消息历史。
  • ADE(Agent Development Environment):白盒可视化环境,可以查看 agent 和记忆状态。
  • 多语言 SDK:Python、TypeScript、Rust。
  • 模型无关:支持 OpenAI、Claude、Llama、Gemini。

4.5 短板

Letta 的代价也很清楚。

第一,高度锁定。Letta 是一个完整的 Agent 运行时,可插拔库不是它的定位。如果你已经有一个基于 LangChain 或 CrewAI 的系统,迁移成本估计在 2 到 6 周。

第二,Token 成本高。自编辑记忆需要多轮工具调用,实际运行成本可能是 Mem0 的 2 到 3 倍。

第三,学习曲线陡峭。需要理解操作系统内存管理的概念,开发者的认知负担更重。

第四,公开 benchmark 数据较少。相比 Mem0 和 Zep,Letta 在 LongMemEval、LoCoMo 这类标准记忆 benchmark 上披露不多。

第五,不适合快速接入。已有成熟系统的团队,改造成本会很大。

4.6 适合谁

  • 构建长周期自主 Agent:研究 Agent、监控 Agent、个人助理。
  • 把记忆一致性作为核心差异化的产品。
  • 愿意从底层重新设计 Agent 架构的团队。
  • 学术背景强、愿意接受新范式的开发者。

五、对比:适合什么比排名更重要

把三者放在一起看,能力的分布很清晰。

5.1 记忆模型对比

从记忆模型看:

  • 事实存储:Mem0 强;Zep 强,而且有有效期;Letta 也强。
  • 时序推理:Mem0 弱;Zep 极强;Letta 中等。
  • 多跳关系:Mem0 依赖 Graph Memory;Zep 是原生图;Letta 主要靠 Archival 搜索。
  • 自主记忆管理:Mem0 和 Zep 更偏被动记忆层;Letta 让 Agent 主动管理。
  • 跨会话持久化:三者都支持,但 Letta 做的是完整状态持久化。
  • 长程任务支持:Mem0、Zep 中等;Letta 极强。

5.2 工程与生态对比

从工程和生态看:

  • 接入难度:Mem0 极低;Zep 中等;Letta 高。
  • 框架兼容性:Mem0 极强;Zep 中等;Letta 相对弱一些。
  • 托管成熟度:Mem0 极强;Zep 强;Letta 中等。
  • 企业合规:Mem0 极强;Zep 强;Letta 中等。
  • 开源灵活度:Mem0、Zep 都强;Letta 极强。
  • 社区规模:Mem0 最大;Zep 和 Letta 中等。

5.3 成本对比

成本上,三者也不是同一类账:

  • Mem0:按 add / retrieval 请求计费,Pro 档 $249/月 unlock graph memory,适合规模上来后付费。
  • Zep:免费额度可试,Flex 月付约 $125/月;retrieval、storage、users 不按量计费,自托管 Graphiti 需要图数据库运维。
  • Letta:开源免费,但运行时 token 消耗高,总拥有成本可能高于前两者。

六、选型决策框架

6.1 按场景选

按场景选,可以更直接:

  • 快速给现有 Agent 加记忆:选 Mem0,因为接入成本最低,生态最好。
  • 客服、销售、个人助手个性化:选 Mem0,因为用户画像和偏好记忆成熟。
  • CRM、医疗、交易状态追踪:选 Zep,因为事实会变化,需要有效期。
  • 需要回答“当时是什么情况”:选 Zep,因为时序图谱是核心优势。
  • 长周期研究 Agent / 自主任务:选 Letta,因为它有状态持久化和自主记忆管理。
  • 从零构建复杂 Agent 系统:选 Letta,因为运行时最完整。
  • 已有 LangGraph 项目:可以优先看 LangMem,因为生态内原生。
  • 对数据主权要求极高:优先考虑 Zep CE / Letta 自托管,因为可控性最强。

6.2 按团队能力选

按团队能力选,也可以粗略分四档:

  • 小团队 / 初创 / MVP:Mem0 Starter,或先用 Zep 免费额度验证上下文图是否必要。
  • 中型团队 / 有明确记忆需求:Mem0 Pro 或 Zep。
  • 大厂 / 有 Agent 平台野心:Letta,或者自研运行时,再用 Mem0 / Zep 做记忆层。
  • 学术 / 研究型团队:Letta。

七、落到最后:三种路线会共存

2026 年的 Agent 记忆领域有一个共识:简单的向量检索已经不够用了。未来的记忆系统需要同时支持:

  • 语义检索
  • 结构化事实
  • 时序演化
  • 关系推理
  • 自主管理

目前还没有一家能把这五点同时做到极致。所以更可能的未来是组合架构:

  • 用 Mem0 或 Zep 做用户级长期记忆,解决“用户是谁、喜欢什么”的问题。
  • 用 Zep 处理会变化的事实和时序关系。
  • 用 Letta 做长周期任务执行,让 Agent 自己管理状态。
  • 用 MRAgent 这类图记忆方案处理复杂多跳推理。

Mem0、Zep、Letta 不会互相取代,它们要做的是各自把坐标上的能力做厚。

对开发者来说,先想清楚任务需要哪几层记忆能力,比选出“最强”的那个更重要。答案不同,选择就不同。