Mem0

面向 AI agent 的通用长期记忆层,支持持久化 memory 操作和 MCP 接入,适合给多个 coding agent 提供共享 memory backend。

#tech / ai #type / resource #status / growing #resource / mem0 #media / tool #media / website

[!info] related notes

Mem0

概览

Mem0 是现在最像“通用默认选项”的 memory layer 之一,适合给现有 agent 补长期记忆,而不是要求你重搭整套 agent runtime。

Github官方文档中介绍:

  • 有官方托管、自己部署两种部署方案。
  • 有cli、mcp两种接入方式
  • 有skills(教编码助手如何用 Mem0 构建应用,偏向 API 用法参考。)

[!info] 个人想法 Mem0 主要是一个用来在应用中提供记忆服务的工具 也可以用于构建自己的 harness 中的 记忆层。

适用平台

  • 多个 MCP client 共用 memory backend
  • 现有 coding agent 统一接入长期记忆

特点

  • 强调 self-improving persistent memory
  • 提供 add / search / update / delete 这类完整 memory 操作
  • 有 graph memory 路线,也有 MCP server 形态
  • 适合给多个 coding client 暴露统一的长期记忆接口

生效原理:工具暴露 + LLM 自主决策

MCP 服务器将 Mem0 的能力包装成 9 个工具(add_memorysearch_memoriesupdate_memorydelete_memory 等),暴露给 AI 客户端。客户端启动时会通过 HTTP 连接到 https://mcp.mem0.ai/mcp,拉取工具列表并注入到 LLM 的上下文中。

何时存储 / 何时读取:由 LLM 自主判断

文档原文:“letting AI agents decide when to save, search, or update information”。

也就是说,没有硬编码规则,而是靠 LLM 根据每个工具的描述(如 “Save text or conversation history for a user/agent”、“Semantic search across existing memories”)在对话中自行决定调用时机。典型触发模式:

  • 存储:用户说”记住…”、“我喜欢…”、陈述偏好/事实时 → LLM 调用 add_memory
  • 读取:用户提问涉及过往偏好/历史(“我之前说过什么”、“基于我的喜好推荐”)→ LLM 调用 search_memories
  • 更新/删除:用户明确要求修改或忘记某事 → 调用 update_memory / delete_memory

实体标识符

Mem0 通过实体标识符(entity identifiers)隔离记忆范围。MCP 工具支持按作用域过滤。

Mem0 支持四种实体:user / agent / app / run。你可以这样划分:

记忆类型建议实体示例 ID
个人全局偏好user_iduser_id="alice"
项目级记忆agent_id 或 app_idapp_id="project-foo"
会话级临时记忆run_id

作为 ai agent 的共享记忆层(howto,后续内容增多可以转移到单独的 howto 笔记中)

  • 它适合做共享脑子
  • 但显式规则、审批方式、验证要求仍更适合放在 AGENTS.md 这类文件中

应该在AGENTS.md 这类文件明确规则,例如:

“涉及编码风格、通用偏好 → 用 user_id=‘me’;涉及当前项目代码/架构 → 额外带 app_id=‘<项目名>‘“

创建于 2026/4/20 更新于 2026/5/27