给「转头就忘」的 agent 加记忆
Mem0 是你加到 AI agent 上、让它跨对话记住事情的记忆层。它不必每轮重发整段历史,而是抽取耐久的事实(用户偏好、名字、决定),存起来,在需要时把相关的取回来。这既省 token,又让助手感觉真的认识你。它和 agent 无关:就是你调用的一层薄东西,你的 agent 怎么搭由你自己定。截至 2026-06 有 58,664 星,是 LLM 应用里最流行的记忆方案之一。
设计把抽取(什么值得记)、存储(在向量库里)、检索(多信号,把语义搜索和关键词、实体线索揉在一起)分开。
它做什么
你调 add 记一轮对话,调 search 在回应前拉相关记忆。记忆按用户、会话或 agent 划范围,所以你能把每用户的事实和每会话的上下文分开。底层用一个 LLM 抽取事实、用向量库索引,检索把多种信号结合起来,不只靠原始语义相似度,这让召回比扁平 RAG 集合更精准。
安装
pip install mem0ai
也有 npm 包。你配一个 LLM(默认 OpenAI,通过 provider 支持很多家)和一个向量库(默认 Qdrant,也支持 Pinecone、Weaviate、pgvector 等)。团队部署可以用自托管的 OpenMemory server,通过 Docker 跑,带仪表盘和 API 密钥。
开源库与托管平台
围着它做设计前先把这定了。Mem0 既以 Apache-2.0 开源库和自托管 server 形态发布,也有一个单独的托管 Mem0 Platform(SaaS)。开源那侧给你核心的 add/search 记忆,用你自己的 LLM 和向量库。托管平台加上托管检索、扩展和分析,这些本来要你自己运维。代码的许可是真宽松,所以你能在库上做商业开发;只是要知道,一部分最顺、面向规模的功能在付费平台上,按你的用例读清那条边界在哪。
适合与不适合
想给已有 agent 加长期记忆、又不想引入一整个框架时,Mem0 很合适;在意每用户个性化、或想省「重发历史」的 token 成本时也合适。与 agent 无关的设计让它能塞进多数栈。
变难的地方:向量库和 LLM provider 的配置归你,issue 区显示真正的摩擦就在集成(嵌入维度、provider 怪癖、批处理行为)上。检索质量取决于调优,而且有些失败是静默的,所以核对记忆是否真存进、真取回。如果你要的是一整套有状态 agent 框架、而一层记忆不够用,那 Letta 更贴合。
mem0 和替代品的对比
| Mem0 | Letta | 裸 RAG(向量库) | |
|---|---|---|---|
| Stars | 58,664 | 23,354 | 无 |
| 性质 | 与 agent 无关的记忆层 | 有状态 agent 框架 | 文档检索 |
| 记忆模型 | 用户/会话/agent 范围 | core 加 archival 记忆 | 单个扁平集合 |
| 检索 | 多信号(语义、关键词、实体) | core 上下文加 archival | 仅语义 |
| 托管选项 | Mem0 Platform | Letta Cloud | 你的向量 DB 厂商 |
数字为截至 2026 年 6 月的 GitHub 数据。Letta 是内建记忆的完整有状态 agent 框架,比一个记忆层是更重的承诺。裸 RAG 检索文档,但没有 agent 状态或范围化记忆的概念。Mem0 的位置,是夹在两者之间那层薄、即插的记忆。
star 曲线
star 曲线涨得快,因为 agent 开发者同时撞上同一堵墙:LLM 在会话之间什么都忘,而 Mem0 给了个干净的答案。持续的每日提交和一个 v3 检索算法说明它在活跃开发。
issue 区给你的预警
反复的摩擦集中在集成层。和向量库的嵌入维度不匹配很常见,有些 provider 要额外配置才正常工作。几个失败是静默的:一次部分嵌入失败或一次被截断的抽取,可能不报错就丢了记忆,所以加检查,确认你以为存进的真存进了。众多支持的 LLM 各自的怪癖会漏出来。自托管和平台的功能差距文档不足,所以靠某功能前先确认它在开源路径里。
相关仓库
要完整的有状态 agent 框架,看 Letta。要 RAG 的文档解析那侧,看 docling 和 unstructured。要你会给它加记忆的 agent,看 cline 和 OpenHands。想看什么在涨,见 LLM 工具、每日榜 和 每周报告。
常见问题
Mem0 还是 Letta,该用哪个? Mem0 是你加到任何 agent 上、不改架构的记忆层。Letta 是内建记忆的完整有状态 agent 框架。给已有栈加记忆选 Mem0;想让框架掌管 agent 生命周期选 Letta。
Mem0 免费吗? 库和自托管 OpenMemory server 是 Apache-2.0、免费,你能在上面做商业开发。还有一个付费 Mem0 Platform,加托管检索、扩展和分析。查清哪些功能是开源、哪些只在平台。
Mem0 需要向量库吗? 需要。它把记忆存在向量库里,默认 Qdrant,也支持 Pinecone、Weaviate、pgvector 等。你还要配一个 LLM provider 做事实抽取。
Mem0 怎么检索记忆? 它把向量搜索和关键词、实体线索揉在一起做多信号检索,所以召回比扁平 RAG 集合更精准。检索质量仍取决于你的配置和调优。
Mem0 能本地跑吗? 能。配本地 LLM(比如通过 Ollama)和本地向量库,你能跑开源库和自托管 server,无需云依赖,不过一部分托管平台功能那样用不了。