跳转到主内容
返回博客列表

mem0 + claude-mem 深度拆解:2026 年 AI 记忆框架到底怎么选?

前言

“我昨天刚跟 ChatGPT 说过我喜欢深色模式,今天它又给我推荐白色主题了……”

“每次打开 Claude Code,都要重新解释一遍项目架构,心累。”

如果你也有类似的体验,那你并不孤独。AI 的”短期失忆症”,是 2026 年 Agent 开发者最头疼的问题之一。大模型虽然聪明,但每次对话都是”一张白纸”——上轮说过的话、做过的决定、用户的偏好,统统不记得。

今天这篇文章,我会用一个框架解决这个痛点。它叫 mem0——一个专门给 AI Agent 加上”长期记忆”的开源框架,GitHub 53K+ Star,YC S24 孵化,2026 年 AI 记忆领域的头号玩家。

GitHub:https://github.com/mem0ai/mem0


什么是 mem0?

mem0(读作 “mem-zero”)是一个通用的 AI Agent 记忆层。一句话概括它的作用:

让任何 AI 应用都能像人类一样,跨会话记住用户的偏好、历史和上下文。

它不依赖特定的 LLM 或向量数据库,支持 20+ 大模型(OpenAI、Claude、Gemini、DeepSeek、Ollama……)、24+ 向量库(Qdrant、Chroma、pgvector、Pinecone、Milvus……),以及 5 种 Reranker

核心能力:你把对话消息喂给 mem0,它自动提取关键事实、向量化存储。下次对话时,一条搜索就能召回相关记忆,注入到 Prompt 里。


2026 年新算法:为什么 mem0 能拿 91.6 分?

2026 年 4 月,mem0 发布了全新记忆算法,在三大权威基准上大幅刷新记录:

基准测试旧分数新分数提升
LoCoMo71.491.6+20 分
LongMemEval67.893.4+26 分
BEAM (1M)64.1首次支持百万级

秘密在于四个核心改进:

1. 单次提取,只增不删

旧版算法需要多次 LLM 调用来 UPDATE/DELETE 记忆。新版改为 单次 ADD-only:一条消息进来,一次 LLM 调用提取事实,直接存储。简单、快速、不丢信息。

2. 实体链接

用 spaCy NLP 从文本中提取人名、地名、技术术语等实体,跨记忆做链接。检索时,包含匹配实体的记忆会获得额外加权,召回率大幅提升

3. 三路检索融合

搜索记忆时,不是只用向量相似度,而是三路并行打分:

  • 语义相似度:向量余弦距离
  • BM25 关键词:Sigmoid 归一化到 [0,1]
  • 实体匹配加权:权重 0.5

最终分数:(语义 + BM25 + 实体) / 最大可能值,自适应归一化。

4. Agent 事实一视同仁

AI Agent 确认的操作信息(如”用户选择了方案 B”)和用户直接说的事实同等权重存储,不再降权。


架构长什么样?

mem0 的设计非常简洁,四层可插拔:

四大核心模块,每个都可以替换:

模块作用可选实现
LLM提取事实OpenAI、Claude、Gemini、Ollama 等 20+
Embedder文本向量化OpenAI、HuggingFace、Ollama 等 13+
VectorStore向量存储Qdrant、Chroma、pgvector 等 24+
Reranker结果重排Cohere、HuggingFace 等 5 种

最小可用代码

from mem0 import Memory

memory = Memory()

# 存记忆
memory.add("我喜欢用 vim 键位绑定,深色模式", user_id="alice")

# 搜记忆
results = memory.search("Alice 喜欢什么编辑器?", user_id="alice")
# → "我喜欢用 vim 键位绑定,深色模式"

三行代码,你的 AI 就有了记忆。


三种部署形态

mem0 提供了三种使用方式,适配不同场景:

1. Python SDK(最快)

pip install mem0ai 直接集成到 Python 项目,零网络开销,功能最全(包括图记忆)。

2. REST API Server(最灵活)

基于 FastAPI 的轻量 HTTP 服务,11 个端点覆盖完整 CRUD + 搜索。任何语言都能通过 HTTP 调用。

# Docker 一键启动
docker pull mem0/mem0-api-server

3. OpenMemory(最完整)

全栈自托管方案:FastAPI 后端 + React UI + MCP 服务器 + 多用户权限控制。适合团队级部署。


生态一瞥:claude-mem

说到 mem0 的生态,就不得不提 claude-mem——一个专门给 Claude Code 加记忆的插件,GitHub 65K+ Star。我之前写过一篇详细体验文章 《claude-mem 深度体验:Claude Code 最强记忆插件》,感兴趣的可以先看看它的安装和使用。

GitHub:https://github.com/thedotmack/claude-mem

claude-mem 在 GitHub 话题标签中标注了 mem0,定位在同一赛道。但深入源码后发现,它并没有直接依赖 mem0 的代码库,而是自建了一套完整的记忆栈:SQLite + ChromaDB 存储,通过 Claude Code 的 Hook 系统自动捕获工具使用记录,再用 Claude Agent SDK 子进程压缩成结构化知识。可以理解为——借鉴了 mem0 的核心理念,但在 Claude Code 垂直场景上做了完全重写。

claude-mem 最值得学习的创新:

1. 三层搜索:先看目录,再翻上下文,最后读正文

这是专门为 LLM token 经济学设计的检索策略。核心思路:别一上来就把所有结果全拉出来塞给 Claude,先让它看目录,挑感兴趣的,再拉完整内容。

举个例子,你问 Claude:“上次那个认证 bug 怎么修的?”

第一层:search — 看目录

返回精简索引表,每条只有 ID、标题、类型、时间,约 50-100 token/条:

#123  bugfix   认证中间件 token 过期导致 401
#456  bugfix   Session 未正确刷新的问题
#789  decision 决定用 JWT 替代 Session 方案

Claude 扫一眼就知道 #123 和 #456 相关。

第二层:timeline — 翻上下文

timeline(anchor=#123) 拉出这条观察前后的时间线,看清楚来龙去脉:改 bug 之前做了什么调查、改完之后做了什么验证。

第三层:get_observations — 读正文

最后只拉真正需要的几条完整内容(约 500-1000 token/条),跳过无关结果。

Token 对比:直接拉全量 10 条 ≈ 8000 token,三层过滤后 ≈ 3300 token,省了约 60% token,信息密度反而更高。

2. 零干预:装完就不管

Hook 自动捕获,无需手动调用 memory.add()

3. AST 代码智能

tree-sitter 驱动的 smart_search/outline/unfold,支持 25+ 语言。


谁该用 mem0?谁该用 claude-mem?

场景推荐
构建 AI 聊天机器人/客服mem0
多 Agent 系统需要共享记忆mem0 + OpenMemory
Claude Code 开发者,想记住项目上下文claude-mem
需要图记忆(Neo4j 知识图谱)mem0 Python SDK
非 Python 技术栈mem0 REST API

写在最后

AI Agent 的”失忆症”不是小问题,而是限制 AI 应用从”玩具”走向”生产力工具”的关键瓶颈。

mem0 用 LLM 做事实提取 + 多信号检索融合 的方案,给出了一个优雅的解法。而 claude-mem 则展示了在垂直场景(开发者工具)下,这套理念能被做到多极致。

如果你正在做 AI 应用,不妨试试给 Agent 加一层记忆——效果可能会让你惊喜。

下一篇,我会详细拆解哪些 Agent 场景真正需要长期记忆,用真实案例帮你判断该不该上记忆层,敬请期待。


欢迎关注公众号 FishTech Notes,一块交流使用心得!