你有没有遇到过这种情况------让同一个 AI Agent 干两轮活,第二轮它完全不记得第一轮聊了什么。
反复解释项目背景、告诉它你的偏好、把昨天说过的上下文再说一遍。不是 LLM 蠢,是大部分 Agent 根本没有记忆系统。每次对话都是一张白纸,和首次启动没有区别。
这个问题在 2026 年变得更加尖锐。Agent 从「聊一次」进化到「长期运行」,从「单工具」进化到「跨工具协作」------记忆已经从锦上添花变成了必需组件。社区在过去一年涌现了多个方案,各有各的取舍。
我研究了当前主流的 5 个记忆方案,从易用性、功能深度、部署开销三个维度做了对比,给你一张清晰的选型地图。
一、为什么 Agent 需要专门的记忆系统
你可能在想:给 LLM 塞上下文不就行了?长上下文模型不是越来越强了吗?
这对了一半。长上下文能解决「单次会话」的记忆问题,但 Agent 的记忆需求远不止「记住刚才说了什么」:
| 场景 | 纯上下文 | 专用记忆系统 |
|---|---|---|
| 跨会话记忆 | ❌ 每次新会话清空 | ✅ 持续累积 |
| 跨工具共享 | ❌ Cursor 记的不传给 Claude Code | ✅ 统一记忆层 |
| 结构化检索 | ❌ 只能全文扫描 | ✅ 语义/关键词/时间多维检索 |
| 去重与合并 | ❌ 反复存相同信息 | ✅ 自动去重和冲突检测 |
| 遗忘控制 | ❌ 要么全记要么全忘 | ✅ 按重要性和时效性分级 |
这就是为什么社区从文件约定法走到了专门的记忆框架------不是长上下文不够长,是记忆需要的不是「长度」,而是「结构」和「持久性」。
二、5 个方案横评
第一种:Mem0 --- 社区首选的全能型
Mem0 是目前最成熟的 Agent 记忆方案,GitHub 60,930 stars,Y Combinator S24 孵化。它的核心思路是提供一个「插拔式记忆层」------你的 Agent 通过 SDK 调 ADD/Search,Mem0 负责存、搜、去重。
bash
pip install mem0ai
python
from mem0 import Memory
memory = Memory()
# 存一段对话
memory.add(messages, user_id='alice')
# 搜索相关记忆
results = memory.search('user preferences', user_id='alice')
2026 年 4 月,Mem0 发布了新记忆算法:单次 ADD 提取取代了 UPDATE/DELETE 流程,新增实体链接和多信号融合检索(语义 + BM25 + 实体 + 时间)。LoCoMo 92.5、LongMemEval 94.4 的 benchmark 表现不错。
Mem0 的生态很全:Python SDK、TypeScript SDK、CLI、MCP 接口,以及开源自托管服务器(Docker 一键部署)。如果你想要一个开箱即用、生态完整的方案,Mem0 是最安全的选择。
定价 :开源库免费(Apache-2.0),云平台 Hobby 免费,Starter 19/月,Pro249/月。
第二种:Zep --- 企业级时序知识图谱
Zep 走了和 Mem0 不同的路线------它不做通用记忆层,而是基于时序知识图谱构建上下文。你给 Zep 喂聊天记录、业务数据、文档、JSON,它把这些异构数据自动构建成一个 Context Graph,Agent 查询时亚 200ms 返回。
Zep 本身是云产品,但它的底层引擎 Graphiti 开源了,GitHub 28,779 stars。
python
# Python SDK
from zep_cloud.client import Zep
client = Zep()
# 添加对话片段
client.memory.add(
session_id="session-1",
messages=[{"role": "user", "content": "我的 Grafana 在 monitor.internal:3000"}]
)
# 提取实体和关系
context = client.graph.search("Grafana 监控配置")
Zep 的与众不同点在企业合规能力------SOC 2 Type II、HIPAA BAA(Enterprise),审计日志保留 1 年。如果你在金融、医疗等受监管行业做 Agent,Zep 可能是唯一能通过合规审计的选择。
定价 :10,000 credits/月免费。Flex 1,250/年(104/月),Flex Plus 3,750/年(312/月),Enterprise 定制。
第三种:Engram --- 零依赖的 Go 单二进制
Engram 是我个人最喜欢的一个方案。不是因为它功能最强,而是因为它「简单到粗暴」------单一 Go 二进制文件,零运行时依赖,不需要 Node、Python、Docker,一条命令装完就跑。
bash
brew install gentleman-programming/tap/engram
Engram 的存储后端是 SQLite + FTS5 全文索引,所有记忆存在 ~/.engram/engram.db 这一个文件里。这个文件可以用 git 同步跨机器共享。
它通过 MCP 协议接入 Agent,提供 20 个 MCP 工具:mem_save、mem_search、mem_timeline、mem_judge、mem_compare 等。接入 Claude Code 只需要在配置里加一行。
| 特性 | 说明 |
|---|---|
| 部署 | 单一 Go 二进制,brew 安装 |
| 存储 | SQLite + FTS5,单文件 |
| MCP 工具 | 20 个,涵盖增删改查和冲突检测 |
| Git Sync | 跨机器记忆共享,无合并冲突 |
| 支持 Agent | Claude Code、OpenCode、Gemini CLI、Codex、Cursor 等 10+ 款 |
Engram 与 AGENTS.md/CLAUDE.md 文件约定法互补------文件约定存项目级指令和编码规范,Engram 存结构化的操作记忆。两者不冲突,可以同时用。
定价:完全免费开源(MIT)。
第四种:Memora --- MCP 原生,内置知识图谱可视化
Memora 是一个比较年轻的项目(433 stars),但功能丰富程度不输大项目。它的设计哲学是「MCP 原生」------通过 MCP stdio 协议接入 Agent,不需要 SDK 集成。
bash
pip install git+https://github.com/agentic-box/memora.git
Memora 的特色是内置了一个知识图谱可视化服务器(端口 8765),用浏览器打开能看到一张交互式的节点图------节点用颜色标记类型(tag / issue / TODO),自带时间滑块可以按时间线浏览记忆变化。
它还支持三种 Embedding 后端切换:OpenAI、sentence-transformers(离线)、TF-IDF。没有 OpenAI Key 也能跑,这就很良心。
python
# Memora 的 LLM 去重核心
from memora.dedup import compare_memories
verdict = compare_memories(
"用户的 Grafana 地址是 monitor.internal:3000",
"Grafana 在 monitor.internal 上运行"
)
# 返回:duplicate / similar / different
# 支持 append / prepend / replace 合并策略
定价:完全免费开源(MIT),云存储按 Cloudflare D1/S3/R2 厂商计费。
第五种:LangMem --- LangChain 生态的官方记忆库
如果你已经在用 LangChain/LangGraph 生态,LangMem 是最自然的记忆方案。它把记忆分成三类------语义记忆(事实/知识)、情节记忆(过去经验)、程序记忆(行为规则/系统提示词优化),这个分类法直接借鉴了认知科学。
bash
pip install -U langmem
LangMem 提供两条使用路径:Hot Path 是 Agent 在对话中主动管理记忆(调用 create_manage_memory_tool),Background 是后台自动从对话中提取、合并、更新知识。两条路径可以并存。
python
from langmem import create_memory_manager
manager = create_memory_manager(
"anthropic:claude-sonnet-4",
instructions="提取用户的技术偏好和项目配置信息"
)
memories = await manager.run([{"role": "user", "content": "我偏好用 FastAPI 和 SQLAlchemy"}])
LangMem 最创新的部分是 Prompt Optimization------基于用户反馈自动优化系统提示词,属于程序记忆的演化机制。你给 Agent 反馈「这个回答太啰嗦」,Agent 就自动调整 system prompt。
定价:完全免费开源(MIT),LangGraph Platform 部署有免费层和付费层。
三、怎么选:一张决策表帮你定位
| 场景 | 推荐方案 | 理由 |
|---|---|---|
| 个人/小团队,追求零成本 | Engram | Go 单文件,brew 装就完事 |
| 个人/小团队,要功能全 | Mem0 (开源版) | SDk 完善,生态最好 |
| 企业内部 Agent 平台 | Zep | SOC 2/HIPAA 合规,企业级 |
| 已经在用 LangChain | LangMem | 深度集成 LangGraph Store |
| 极客玩家,要可视化 | Memora | 内置 KG UI,3 种 Embedding |
| 追求极致简单,已有 AGENTS.md | 文件约定法 + Engram | 互补使用,零额外成本 |
四、写在最后
记忆系统在 Agent 架构里正在从「可选项」变成「基础设施」。你现在看到的这 5 个方案,代表了社区的几条探索路径------Mem0 代表「全能平台」、Zep 代表「企业合规」、Engram 代表「极简体验」、Memora 代表「MCP 原生」、LangMem 代表「生态绑定」。
没有万能的方案,只有对的场景。记一条原则:如果你的 Agent 只跑单次任务,长上下文就够了;如果你的 Agent 需要跑一个季度、跨多个工具、服务多个用户------那你今天就应该开始引入记忆层。
项目地址:
- Mem0: github.com/mem0ai/mem0
- Zep: github.com/getzep/zep (Graphiti: github.com/getzep/grap...)
- Engram: github.com/Gentleman-P...
- Memora: github.com/agentic-box...
- LangMem: github.com/langchain-a...