AI 记忆系统怎么选:Mem0、Letta、Zep、Cognee、Memobase 对比

对比 Mem0、Letta、Zep/Graphiti、Cognee、Memobase、AgentMemory、Text2Mem、ReMe 和 memU 等 AI 记忆系统:它们分别适合外置记忆、自带记忆 Agent、时序记忆、知识图谱、用户画像和编程助手场景。

AI 应用一旦从一次性问答走向长期使用,就会遇到同一个问题:它怎么记住人、项目、偏好、历史和状态变化?

现在的记忆方案已经分成几条路线。有的像“外置记忆条”,夹在应用和数据库之间;有的把 Agent 本身改造成带记忆管理能力的系统;有的强调时间和失效状态;也有的专门服务用户画像、跨文档推理或编程助手。

如果只看项目名,很容易混在一起。更实用的判断方式是:你到底要让 AI 记住什么,以及你愿意为这份记忆付出多少架构复杂度。

先看结论

方案 更像什么 适合场景 主要代价
Mem0 外置记忆中间件 给现有 AI 应用快速加长期记忆 需要处理成本、存储和命中质量
Letta 自带记忆的 Agent 运行时 从零做一个越用越懂你的 Agent 要接受它的 Agent 架构
Zep / Graphiti 带时间轴的记忆层 客户档案、合同状态、偏好变化 架构较重,通常要图数据库
Cognee 文档到知识网的加工层 多文档知识库、跨文档推理 数据处理链路更复杂
Memobase 用户画像记忆 AI 陪伴、教育、推荐、C 端产品 记的是“人”,不是通用事件流
AgentMemory 编程助手跨会话记忆 AI 编程助手、项目上下文复用 更垂直,适用面较窄
Text2Mem 记忆操作规范 给记忆系统定义可验证操作协议 更偏抽象层,不是完整产品替代
ReMe 文件即记忆 希望用户可直接查看和编辑记忆 需要接受透明文件化管理方式
memU 后台主动记忆 Agent 希望记忆系统自己持续整理上下文 范式更激进,工程不确定性更高

Mem0:最百搭的外置记忆层

Mem0 适合当作第一选择来理解 AI 记忆系统。它的定位不是重写你的 Agent 架构,而是夹在应用、模型和数据库之间,帮你把对话、用户偏好、项目事实等内容抽取成可复用记忆。

它的优势是通用、生态广、接入门槛相对低。你已经有一个聊天应用、助手应用或工作流系统,想加一句“它记得我”,通常会先想到这类中间件。

Mem0 的另一个方向是本地版 OpenMemory。这个方向的吸引力在于:记忆可以保存在自己的电脑里,并在多个工具之间共享。对隐私敏感、又不想每个工具都重新积累上下文的用户,这一点很重要。

不过 Mem0 不是魔法开关。真正落地时要关心三件事:

  • 记忆抽取会不会过度,导致无关信息越积越多。
  • 检索出来的记忆是否稳定命中当前任务。
  • 长期调用模型和存储带来的成本是否可控。

一句话:想给现有项目快速加记忆,先看 Mem0;想让记忆系统自己定义 Agent 的运行方式,它还不是最重的那类方案。

Letta:把记忆放进 Agent 本体

Letta 的前身是 MemGPT,它和 Mem0 不是同一种东西。

Mem0 更像外置记忆条,Letta 更像一个带记忆管理能力的 Agent 运行时。它把大模型放进一套类似操作系统的框架里,让 Agent 自己判断哪些信息要留在工作上下文,哪些要归档,哪些以后再取回来。

这条路线的好处是记忆和 Agent 行为结合得更深。你不是在一个普通应用外面挂一层记忆,而是在设计一个“本来就会管理自己记忆”的 Agent。

代价也很直接:它更重。你需要把项目放进 Letta 的世界里,接受它的运行模型、状态管理方式和开发习惯。

适合 Letta 的场景是:你从零开始做一个长期运行的个人 Agent、研究助手、业务助手,希望它越用越懂用户,并且愿意围绕它的框架搭系统。

Zep / Graphiti:把时间当成一等公民

很多记忆系统的问题不是“记不住”,而是“记住了旧答案,却不知道它已经过期”。

Zep / Graphiti 这类方案的关键点是时间。它不只是保存一条偏好或事实,还会记录它在什么时候成立、什么时候失效。用户改口时,旧记忆不一定被硬删除,而是变成历史状态。

这让它适合处理会变化的关系和事实,例如:

  • 客户资料和跟进阶段。
  • 合同条款与状态更新。
  • 用户偏好随时间变化。
  • “现在喜欢什么”和“三月时喜欢什么”都需要查询的场景。

这条路线通常会走向图结构,因为状态变化、人物关系、事件链和时间线天然适合连成网络。好处是证据链更清楚,坏处是架构更重,部署和维护成本也更高。

如果你的记忆主要是“当前偏好”,不一定需要这么重;如果你的记忆经常有版本、时间、失效和追溯需求,Zep / Graphiti 这类方案就很有价值。

Cognee:把文档熬成可推理的知识网

传统 RAG 更像“按相似度捞片段”。它能找到相似文本,但不一定理解文档之间的关系。

Cognee 的方向是把一堆资料加工成图谱和向量混合的记忆系统。它不只存片段,还尝试抽取实体、关系和结构,让系统能顺着关系网继续推。

这适合大量文档场景,例如:

  • 公司内部知识库。
  • 技术文档和项目资料。
  • 法务、合同、产品规格等跨文件材料。
  • 需要从多个文件里拼出结论的研究任务。

它的代价也明显:数据加工链路更长,系统组件更多,更新、清洗、去重、关系抽取都需要设计。它不是“给聊天机器人加一点记忆”的轻量路线,更像“把资料库变成可推理知识网络”。

Memobase:专门记“你是个什么样的人”

Memobase 的重点不是记每件事,而是整理用户画像。

别人更关注“发生过什么”,它更关注“这个用户是什么样的人”:兴趣、习惯、属性、偏好、长期特征。它把这些信息整理成更清楚的字段,方便读取、修改和产品化使用。

这对 C 端产品很有用:

  • AI 陪伴需要理解用户性格和关系边界。
  • 教育产品需要记住学习阶段、薄弱点和目标。
  • 推荐系统需要稳定、可编辑的偏好画像。
  • 健康、效率、生活类助手需要长期跟随用户习惯。

Memobase 的边界也在这里。它不是最适合做通用事件追踪,也不是复杂文档推理系统。它更像“人物卡记忆层”:把用户是谁、喜欢什么、习惯怎样这类信息整理出来。

AgentMemory:编程助手的跨会话记忆

AgentMemory 更垂直,主要解决 AI 编程助手的老问题:每开一个新会话,就要重新解释项目背景。

开发者真正希望保存的不是闲聊记忆,而是:

  • 项目的技术栈和目录结构。
  • 约定俗成的代码风格。
  • 哪些文件不能乱动。
  • 常用命令和测试方式。
  • 上一次排查到哪里。

如果这些信息能跨会话共享给多个编程助手,就能减少大量重复提示。AgentMemory 适合纯开发场景,尤其是团队或个人长期维护同一批项目时。

但它不是通用记忆平台。做客服、陪伴、推荐、知识库时,通常会先看前面几类方案。

Text2Mem:给记忆系统定义操作指令集

Text2Mem 更像一套记忆操作协议。它关心的是:记忆系统应该怎样新增、更新、合并、删除、验证和输出结构化结果。

它提出的思路可以概括为三点:

  • 用一组原子操作描述记忆变更,而不是让模型随意写。
  • 用固定 JSON 契约承载记忆操作,减少不可控输出。
  • 用验证层检查结果,避免把错误记忆直接写入系统。

这类方案适合做记忆系统的“控制面”。如果你已经有 Mem0、Zep、Graphiti 或自研记忆层,Text2Mem 的价值可能不在替代它们,而在约束记忆写入动作。

ReMe:文件即记忆,用户可以直接看

ReMe 来自阿里 AgentScope 生态,它的关键词是“文件即记忆”。

很多记忆系统的问题是黑盒:用户不知道系统记住了什么,也很难直接修改。ReMe 的方向更透明,把记忆变成用户能看、能改、能管理的文件。

这对可信度很重要。尤其是在个人助手、企业助手和长期 Agent 里,用户不一定希望记忆全由系统暗中维护。能直接编辑,意味着用户可以纠偏,也可以主动整理上下文。

它适合重视可解释、可控、可迁移的场景。代价是产品设计要跟上:文件结构、权限、同步、冲突处理,都需要认真设计。

memU:让记忆本身变成后台 Agent

memU 的范式更激进:记忆不只是被动存储,而是一个持续运行的后台 Agent。

普通记忆系统大多是在对话发生时抽取、查询、更新。memU 的设想更像是让记忆层 24/7 工作:主动整理、归档、压缩、更新和准备上下文。

这个方向很有想象力,因为真正长期运行的 Agent 不应该只在用户说话时才思考记忆。但它也意味着更多工程问题:

  • 后台整理会不会误改重要记忆。
  • 主动更新的触发条件怎么定义。
  • 成本如何控制。
  • 用户如何审计它做过什么。

如果你在做实验性 Agent 或个人长期助手,可以关注这个方向;如果是生产系统,仍要先确认可控性和可观测性。

选型建议

如果你只是想给现有应用加长期记忆,优先看 Mem0。它足够通用,接入成本也更容易接受。

如果你要从零做一个长期 Agent,而且愿意围绕 Agent 运行时重构项目,可以看 Letta。它更像“带记忆的 AI 本体”,不是普通插件。

如果你的业务强依赖时间、状态变化和历史追溯,优先看 Zep / Graphiti。客户、合同、偏好、关系网络,这些都需要知道“什么时候成立、什么时候失效”。

如果你要处理大量资料并做跨文档推理,看 Cognee。它更适合把文档变成知识网,而不是只做相似度检索。

如果你的产品重点是理解用户本人,看 Memobase。AI 陪伴、教育、推荐、生活助手,都需要一个可读可改的用户画像层。

如果你关心的是 AI 编程助手跨会话记忆,看 AgentMemory。它的场景窄,但问题很真实。

如果你在自研记忆系统,Text2Mem、ReMe、memU 更像三个补充方向:一个管操作规范,一个管透明可编辑,一个把记忆变成主动后台过程。

一个简单判断框架

可以按四个问题筛选:

  1. 记忆对象是什么?

    是用户画像、项目背景、对话事实、文档知识,还是会随时间变化的业务状态?

  2. 记忆是否需要时间线?

    如果旧状态也有价值,就不要只做覆盖式更新。

  3. 你愿意改多少架构?

    Mem0 更适合外挂,Letta 更适合重建 Agent 运行方式,Cognee 和 Zep/Graphiti 往往会带来更重的数据层。

  4. 用户需不需要直接编辑记忆?

    如果需要透明和可控,ReMe、Memobase 这类思路会更有参考价值。

小结

AI 记忆系统没有一个统一答案。轻量接入看 Mem0,自带记忆 Agent 看 Letta,时间状态看 Zep / Graphiti,跨文档推理看 Cognee,用户画像看 Memobase,编程助手看 AgentMemory。

更关键的是不要先问“哪个最强”,而是先问“我要记住什么”。记忆对象一变,最合适的技术路线也会变。

记录并分享
使用 Hugo 构建
主题 StackJimmy 设计