Mem0 智能记忆层
为 AI 助手和智能体保存、检索并复用长期记忆。
按维度查看评分与理由
证据显示:README 描述了 agent 模式(mem0 init --agent)和 CLI 命令,但未明确权限最小化、用户确认、数据流透明、敏感数据处理、依赖安全、外部影响、回滚或来源归属。SECURITY.md 提供了漏洞报告流程,但未涉及权限。pyproject.toml 列出了依赖,但未提供安全审计。因此,所有标准均得 1 分,因为存在部分证据但不够充分。
证据显示:README 和测试文件(如 cli/node/tests/agent-mode.test.ts)表明 CLI 行为一致,测试覆盖了帮助和错误处理。但依赖可用性未验证,失败消息在测试中有提及但未全面。因此,self_consistency 得 2 分,dependency_availability 得 1 分,failure_messages 得 2 分。
证据显示:README 描述了多种使用场景(AI 助手、客户支持、医疗等),并提供了库、自托管服务器、云平台和 CLI 的安装说明。能力边界在 README 中有所说明(如需要 LLM 和嵌入模型),但触发精度和环境影响未详细说明。因此,所有标准均得 2 分。
证据显示:README 提供了清晰的信息架构、安装说明、示例和许可证。命名稳定性未明确,已知限制未提及,版本变更日志未提供,但维护责任在 SECURITY.md 和 CI 工作流中有所体现。因此,information_architecture、install_notes、naming_stability、examples_and_faq、license、maintenance_responsibility 得 2 分,known_limitations 和 versioning_changelog 得 1 分。
证据显示:README 提供了使用示例,输出可用性良好。边际价值在于提供了记忆层功能,成本效益未明确但合理。因此,所有标准均得 2 分。
证据显示:README 中的基准测试声称有研究支持,但未提供可复现的细节。跨来源验证不足,事实与推断未明确分离。因此,所有标准均得 1 分。
- 静态审查无法验证实际运行行为,所有结论基于源代码和文档。
- 依赖安全未审计,建议检查依赖漏洞。
- 权限和数据处理细节未明确,需进一步审查。
这个 Agent 能做什么,适合哪些场景?
Mem0 是面向 AI 助手与智能体的长期记忆层,提供 Python、npm、CLI、云平台和自托管服务器等接入方式。核心 Python 接口是 mem0.Memory;应用可先搜索用户相关记忆,将结果写入模型提示词,再把对话及助手回复加入记忆。其 README 描述的新算法使用单次 ADD-only 抽取,并结合实体链接、语义检索、BM25 关键词匹配和时间感知检索。团队可在 server 目录通过 Docker Compose 自托管,并使用浏览器向导或 bootstrap 初始化认证与首个 API 密钥。它适合需要跨会话个性化和历史上下文的应用,但本身仍需要配置 LLM,默认示例使用 OpenAI。
应用创建 Memory() 后,调用 memory.search(query=message, filters={"user_id": user_id}, top_k=3) 读取匹配的记忆结果,将 results 中的 memory 字段拼接到系统提示词;示例随后使用 OpenAI().chat.completions.create(model="gpt-5-mini", messages=messages) 生成回复,并通过 memory.add(messages, user_id=user_id) 从用户与助手消息写入新记忆。命令行可用 mem0 init 创建账户或初始化配置、mem0 add 写入文本记忆、mem0 search 查询记忆;自托管服务可由 cd server && make bootstrap 启动并创建管理员和首个 API key。启用 mem0ai[nlp] 并下载 en_core_web_sm 后,可获得 README 所述的 BM25 关键词匹配与实体抽取支持。
- 开发聊天助手的团队,希望按 user_id 检索用户偏好,再把相关记忆放入每轮回答的系统提示词。
- 客服机器人开发者,需要根据用户过往工单或互动历史生成更有针对性的回复。
- 构建自主系统的工程师,需要保存用户、会话和 Agent 状态,并在后续任务中检索相关记录。
- 在自有基础设施运行应用的团队,需要使用 Docker Compose 部署带认证和 API key 的记忆服务。
- 使用 ChatGPT、Perplexity 或 Claude 的个人或团队,需要通过浏览器扩展跨这些产品保存记忆。
这个 Agent 有哪些优点和局限?
- 同时提供 Python、npm、CLI、云平台和 Docker Compose 自托管路径,原型与团队部署可使用不同入口。
- Memory 的 search/add 流程直接对应聊天应用的“检索—生成—写回”闭环,并支持 user_id 过滤。
- README 描述的检索组合了语义、BM25、实体匹配和时间信号;可选 NLP 安装明确提供关键词与实体能力。
- 自托管认证默认开启,bootstrap 可创建管理员和首个 API key。
- Mem0 运行需要 LLM;默认示例依赖 OpenAI 的 gpt-5-mini 和 text-embedding-3-small。
- 新算法采用 ADD-only 抽取,不执行 UPDATE 或 DELETE,因此记忆会累积而非被覆盖。
- README 中的基准成绩针对含专有优化的托管平台,开源 SDK 的结果被说明为方向性相近但不保证相同。
- 自托管旧版本升级需要配置 ADMIN_API_KEY、通过向导注册管理员,或仅在本地开发时设置 AUTH_DISABLED=true。
如何安装或部署这个 Agent?
Python 库:
pip install mem0ai需要 BM25 和实体抽取时:
pip install mem0ai[nlp]
python -m spacy download en_core_web_smNode SDK:
npm install mem0ai自托管:
cd server && make bootstrapCLI:
npm install -g @mem0/cli
mem0 init基础用法需要 LLM;README 默认使用 OpenAI 的 gpt-5-mini 和 text-embedding-3-small,因此需让 OpenAI 客户端具备可用凭据。
如何使用这个 Agent?
最小流程是在 Python 中导入并创建 from mem0 import Memory 与 memory = Memory()。每次收到消息时,用 memory.search(query=message, filters={"user_id": user_id}, top_k=3) 检索记忆,把返回的 results 写入提示词,使用 OpenAI().chat.completions.create(model="gpt-5-mini", messages=messages) 生成回答,最后执行 memory.add(messages, user_id=user_id) 写入该轮对话。也可先用 CLI 验证:mem0 init --agent --agent-caller claude-code,再执行 mem0 add "I am using mem0" 和 mem0 search "am I using mem0"。
这个 Agent 与同类方案有什么区别?
库模式适合测试和原型;自托管服务器适合在自有基础设施中运行的团队,并提供仪表板、认证与 API key;云平台面向零运维生产使用。README 将高级功能标为云平台“全部包含”,自托管为“Teasers”。