Agent 记忆 5 个方案对比:接入不踩坑

你有没有遇到过这种情况------让同一个 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/月,Pro19/月,Pro 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/年(1,250/年( 1,250/年(104/月),Flex Plus 3,750/年(3,750/年( 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 需要跑一个季度、跨多个工具、服务多个用户------那你今天就应该开始引入记忆层。

项目地址:

相关推荐
孟健2 小时前
用 Kimi K3 交付一个真实项目后:很强,但还有不足
ai编程
Ai拆代码的曹操2 小时前
从敲下命令到 Agent 就绪:opencode bootstrap 源码拆解
openai·ai编程
我要割麦子2 小时前
从零到一手撸 Agent 系列 — 第 2 篇:和 LLM 对话 — Provider 抽象层
agent·ai编程
该用户已不存在3 小时前
英伟达开放 GLM-5.2 API 端点,免费的!一篇文章告诉你怎么零成本接入
ai编程·nvidia·chatglm (智谱)
赵大仁5 小时前
Cursor vs Claude Code vs Copilot:2026 年 AI 编程工具怎么选
人工智能·ai编程·cursor·github copilot·claude code
牧艺5 小时前
从 Chat 到 Agent:Tool Calling 全栈工程化实践
agent·ai编程·全栈
AI编程实验室5 小时前
AI 写完了功能,谁来为凌晨两点的报警负责?
ai编程
码哥字节6 小时前
一个火箭公司砸600亿买编程工具,图什么?
ai编程
TrisighT8 小时前
Skill 写成 2000 字说明书?Claude 根本不读——路由器思维与渐进式披露
aigc·ai编程·claude