Mem0 是专为 AI Agent 设计的开源记忆层框架,自带三层内存架构(核心/召回/归档)+ 多向量存储。准确率比 OpenAI Memory 高 26%,Token 节省 90%。Python/TypeScript 双语言,LangChain/CrewAI 全框架集成,开源免费。

🎤 引言

大模型最反人类的地方:每次对话都是「从零开始」。

你跟 ChatGPT 说「我老婆叫小美,下周过生日」,下次新建对话它依然不认识你老婆是谁。更别说 AI Agent 了——Copilot、Claude Code、Cursor 这些工具,用着用着就忘了你项目里用的是 Python 还是 Go,忘了你习惯用 vllm 而不是 transformers。

这就是 Mem0 要解决的问题:给 AI Agent 加一层持久记忆层

2022 年诞生,GitHub 至今 61.9k Stars,2,521 次 commit,224 个 issue,519 个 PR——这个量级的开源 AI 基础设施项目,在 2026 年已经跑通了所有主流框架集成:LangChain、CrewAI、AutoGen、Vercel AI SDK,甚至已经接入了 OpenClaw(@mem0/openclaw-mcp)。


⭐ 核心功能

🏗️ 三层内存架构(Core / Recall / Archival)

Mem0 把 AI 记忆分成三个层次,比喻成计算机存储体系:

层次比喻作用容量
Core MemoryRAM始终在 LLM 上下文窗口中,高频访问~4-8 条最新记忆
Recall MemoryDisk Cache可搜索的对话历史缓存,中频访问~50-200 条相关记忆
Archival MemoryCold Storage长期归档存储,LLM 按需查询无限量

Agent 会主动决定哪些记忆放 Core、哪些放 Recall、哪些归档——不需要人工干预。Mem0 内部有一个 self-editing 机制,Agent 可以自己编辑和更新记忆块。

🔍 智能记忆操作

from mem0 import Memory

m = Memory()
user_id = "alice"

# 存储记忆(自动提取实体、偏好、事件)
result = m.add("Alice 周末喜欢打网球,偏好清淡饮食", user_id=user_id)

# 语义搜索相关记忆
relevant = m.search("Alice 周末做什么运动?", user_id=user_id)

# 更新记忆(自动合并)
m.update(memory_id="m1", data="改打羽毛球了", user_id=user_id)

# 删除记忆
m.delete(memory_id="m1", user_id=user_id)

背后的实现:每次 add 时,Mem0 会调用 LLM 的 function calling,让 AI 自己判断这条新信息和已有记忆是什么关系——是补充?是矛盾?是重复?然后决定 merge / update / keep。

🤖 多 Agent 与多会话支持

# 支持 user_id / agent_id / session_id 三维记忆
m.add("用户的项目用 Django", user_id="alice", agent_id="coding-agent")
m.add("coding-agent 偏好用 Black 格式化代码", agent_id="coding-agent")
m.add("alice 习惯晚上工作", user_id="alice")

这样同一个 user 在不同 agent 里有各自的记忆,不同 session 也能共享同一份 user profile。

🔗 丰富的向量存储支持

Mem0 不绑定向量数据库,你可以选:

向量存储特点适用场景
Qdrant性能强,支持过滤生产环境首选
Pinecone托管简单快速原型
Chroma本地轻量实验/个人项目
Weaviate混合搜索强复杂检索需求
Redis低延迟高并发场景
pgvectorPostgres 扩展已有 PG 基础设施

🛠️ 框架集成全家桶

  • LangChainfrom langchain_mem0 import Mem0Memory
  • CrewAI:原生支持 Agent 间共享记忆
  • AutoGen:多 Agent 协作记忆共享
  • Vercel AI SDK@mem0/vercel-ai-provider
  • OpenClaw MCP@mem0/openclaw-mcp(OpenClaw 记忆持久化)

📥 安装与使用

安装

pip install mem0ai

# 可选:指定向量存储
pip install mem0ai[qdrant]   # Qdrant 支持
pip install mem0ai[postgres] # pgvector 支持

快速上手

import os
from mem0 import Memory

os.environ["OPENAI_API_KEY"] = "your-key"

m = Memory()

# 对话式记忆
messages = [
    {"role": "user", "content": "我叫李明,在字节工作,做推荐算法"},
    {"role": "assistant", "content": "你好李明!"},
    {"role": "user", "content": "我最近在学 Rust,主要为了提升系统编程能力"},
]

# 自动从对话历史中提取并存储记忆
m.add_messages(messages, user_id="liming")

# 检索时带上记忆
query = "我叫啥名字?最近在学什么?"
memories = m.search(query, user_id="liming")
print(memories)

# 将记忆注入 prompt
context = "\n".join([m["text"] for m in memories])
prompt = f"用户问题:{query}\n用户记忆:{context}"

自托管(Ollama 本地模型)

from mem0 import Memory

m = Memory.from_config(
    provider="ollama",
    config={
        "model": "llama3.1",
        "url": "http://localhost:11434"
    }
)

不需要 OpenAI API Key,完全本地运行,数据不出本机。


🎯 适用场景

特别适合

  • 🤖 AI Agent 开发:Copilot/Cursor/Claude Code 类工具,需要记住项目上下文
  • 💬 客服机器人:记住用户历史问题,提供连续对话体验
  • 📚 学习助手:记住学生的学习进度、偏好、薄弱点
  • 🏥 医疗/法律顾问:合规要求下的会话记录与记忆持久化
  • 🎮 游戏 NPC:让游戏角色记住玩家的行为和对话历史

不太适合

  • 📝 简单的一次性问答(不需要记忆的场景,用原生 LLM 即可)
  • 🔒 数据完全不能出本机且无法自托管(Mem0 托管版需要数据上云)
  • 🧠 需要实时、大规模并行记忆更新的场景(Mem0 目前偏向应用层,实时性有上限)

🔍 对比/替代方案

工具类型记忆精度延迟部署方式适合场景
Mem0记忆层框架⭐⭐⭐⭐⭐⭐⭐⭐开源/托管Agent 生产级记忆
OpenAI Memory闭源 API⭐⭐⭐⭐⭐⭐⭐⭐云端简单偏好存储
LangMem开源协议⭐⭐⭐⭐⭐⭐开源LangChain 原生
MemGPT虚拟内存⭐⭐⭐⭐⭐⭐⭐本地单 Agent 长对话
Supermemory记忆+RAG⭐⭐⭐⭐⭐⭐⭐托管用户画像+RAG
Zep / Graphiti时序图谱⭐⭐⭐⭐⭐⭐⭐开源/托管时序关系追踪

关键差异:Mem0 是目前生态最完整的记忆框架——GitHub Stars 最多、框架集成最全(LangChain/CrewAI/AutoGen/Vercel/OpenClaw)、同时支持 Python + TypeScript 双 SDK。MemGPT 偏向单 Agent 虚拟内存方案,LangMem 刚刚起步,Zep 更偏时序图谱。


⚠️ 注意事项

  1. Token 成本

    • Mem0 的检索结果需要注入 prompt,记忆越多 Token 消耗越高
    • Mem0 官方数据:相比全上下文方式节省 90% Token,但相比 OpenAI 原生 Memory 消耗略高
    • 建议生产环境监控 Token 使用量,设置记忆上限
  2. 自托管需要额外维护

    • 开源版需要自己运维向量数据库(Qdrant / Chroma 等)
    • Mem0 托管版(Pro)有现成的基础设施,但 $19/月起
    • 自托管方案适合有 DevOps 能力的团队
  3. 记忆一致性挑战

    • 多 Agent 并发写入同一用户记忆时,需要注意写入顺序
    • Mem0 目前通过 memory_id 做冲突检测,但多 Agent 场景下建议业务层加锁
  4. 数据隐私

    • 托管版数据会上传到 Mem0 云端,医疗/金融等敏感场景建议自托管
    • 本地模型(Ollama)支持已经比较完善,但功能比云端版少一些
  5. v2.0 破坏性变更

    • 2026 年 7 月刚发布 v2.0,API 有破坏性变更
    • 从 v1.x 升级需要改代码(Mem0 类替换了旧版 Memory 类)
    • TypeScript SDK 也同步升级到 v3.1.2

✅ 总结

Mem0 解决的是一个很具体的问题:LLM 天生无状态,而真实应用需要记忆

三年来它从「一个实验性想法」变成了 AI Agent 记忆层的事实标准——61.9k Stars、2,521 次 commit、主流框架全部集成。它的三层内存架构(Core/Recall/Archival)是目前最符合直觉的记忆分层方案,self-editing 机制让 Agent 自主管理记忆生命周期,而不是靠人工规则硬编码。

适合人群:正在构建 AI Agent、需要记忆用户偏好/项目上下文/会话历史的开发者。
不适合人群:简单的一次性 LLM 调用、不想维护额外基础设施的轻量用户。

如果你在用 Cursor/Copilot/Claude Code 这些工具,可以试试装一个 mem0ai,给自己的 AI 助手加一层记忆——用过之后你就再也回不去了。

推荐指数:⭐⭐⭐⭐(4.5/5,AI Agent 开发者必试)


📦 项目地址:https://github.com/mem0ai/mem0
🌐 官方网站:https://mem0.ai
📜 许可证:Apache 2.0(开源免费)
🐙 Claude Code 集成:/mem0 skill in Claude Marketplace