Agent 记忆层
Mem0 / Zep / Cognee 三家 + 跨会话记忆设计模式 — 不再把所有东西塞 prompt。
这个 pack 装了什么
这个 pack 收齐了七个记忆层资产,是任何需要跨会话记住东西、不想每次都把所有上下文重新粘进 prompt 的 agent 必备组合。三个是头部库。四个是 Anthropic 和 OpenAI 在长任务 agent 指南里都提到的模式模板。
| # | 资产 | 类型 | 给你什么 |
|---|---|---|---|
| 1 | Mem0 | 库 | 自动抽取并更新用户事实,开箱即用 API |
| 2 | Zep | 服务 | 时序知识图谱,长期记忆 |
| 3 | Cognee | 库 | 图 + 向量混合记忆管道 |
| 4 | 情节摘要模式 | 模板 | 把长会话压缩成摘要记忆 |
| 5 | 工作记忆草稿板 | 模板 | 不让 prompt 膨胀的步骤间状态 |
| 6 | 用户事实抽取器 | 模板 | 从对话里抽出稳定事实存入 memory |
| 7 | 跨会话回忆 | 模板 | 「上周我们定了什么?」模式 |
为什么要装
Claude / GPT-4 / Gemini 默认设置零记忆。每次对话都从头开始。多数应用靠把历史轮次塞进 system prompt 来假装记忆 —— 短期能用,过段时间 context window 爆掉、账单翻三倍、模型还跑题。记忆层把事实存到 prompt 之外,每轮只注入相关的。
三个库各下了不同的赌注:
- Mem0 最简单。一句
mem0.add(messages, user_id=...),库自动抽取值得记的东西。聊天机器人型应用最适合。 - Zep 是生产选项。跑成服务,给你时序知识图谱(带时间戳和关系的记忆),支持多租户。需要审计或组织内共享记忆时最佳。
- Cognee 是图原生那派。从第一天就把记忆建模成知识图谱 —— 调研、代码、强实体关系的领域用得上。
四个模式不是库,是 prompt 模板和小适配器,三个库都能搭配用。它们就是「我装了 Mem0」和「我应用里记忆真在工作」的区别。
一条命令装齐
# 装整个 pack
tokrepo install pack/agent-memory-layer
# 或者一个一个装库
tokrepo install mem0
tokrepo install zep
tokrepo install cognee
TokRepo CLI 把文件放对位置:Claude Code subagent 进 .claude/agents/,Cursor 规则进 .cursor/rules/,Codex CLI 进 AGENTS.md。库本身用 pip / npm 装 —— TokRepo 只是把它们接进你 AI 工具的配置,让 agent 知道记忆层存在。
常见坑
- 别什么都存。记忆成本随写入量涨,不随检索量涨。用事实抽取器(模式 6)过滤 —— 只有用户 / 项目的稳定事实值得进长期记忆。
- 别忘记近期偏置。纯向量召回会拉到语义相似但陈旧的记忆。Zep 的时序图和 Mem0 的就地更新都解决这个;自己写的话务必按时效加权,否则一直检索半年前的上下文。
- 别跨租户共用 user ID。三个库都支持按用户分命名空间,必须用。用户间记忆泄漏比完全没记忆糟得多。
- 召回步骤要做 token 预算。即使有记忆层,把
top_k=50你照样能爆 context。从top_k=5起步,有遗漏再调大。 - 冲突要协调。用户三月说「我吃素」、五月说「我纯素」时,得有更新策略。Mem0 自动处理;Zep 把冲突暴露给你;Cognee 留给你自己写。
常见误解
「RAG 和记忆是一回事」。不是。RAG 从静态语料(文档、代码库)检索。记忆基于用户 / agent 说的话写新条目,之后再检索。RAG 只读,记忆读写。pack/rag-pipelines 的模式跟这个 pack 故意不同。
「我用对话历史就够了」。5 轮会话内可以。同一个用户下周还会回来的应用就不行 —— 你得把所有历史轮次永远塞进 prompt。记忆把事实抽出来、把对话丢掉。
「Mem0 vs Zep 是个艰难选择」。多数团队先用 Mem0 因为 5 分钟搭好,需要多租户或审计时再升级 Zep。两者足够相似,迁移是个周末的活,不是一个季度的项目。
7 个资产打包就绪
常见问题
Mem0 免费吗?
Mem0 OSS 库是 MIT 许可,自托管免费。他们也有按使用量计费的托管云方案,省得自己跑嵌入 / 向量存储。Zep 是同样的 OSS + 云模式。Cognee 截至 2026 年中是完全开源、无托管选项 —— 自己跑。
Cursor / Codex CLI / Windsurf 能用吗?
库是语言级(Python / Node),所以任何 agent 框架都能用,不只是 Claude Code。TokRepo CLI 给每个 AI 工具装对应配置文件。Codex CLI 用户把记忆层和 AGENTS.md 指令搭配;Cursor 用户嵌进规则集。
Mem0 跟 Zep 怎么选?
Mem0 是库优先 —— import 进来调 .add() / .search() 即可。Zep 是服务优先 —— 跑一个 server(Docker)拥有图,你的 app 调 API。Mem0 出第一条记忆最快;Zep 在多租户、审计、显式关系建模上赢。原型用 Mem0,有运维了上 Zep。
跟 RAG 流水线 pack 有啥区别?
RAG 从固定语料(你的文档、代码库)检索。记忆在 agent 跑的过程中写新事实之后再检索。RAG 只读、记忆读写还累积。多数生产 agent 都需要:RAG 管静态知识、记忆管用户特定的东西。
什么时候*不*该上记忆层?
会话无状态又短的时候 —— 单次任务比如「总结这个 PDF」从记忆获益不到,反而增加延迟。纯事实查询也跳过(用 RAG)。记忆层值回成本的场景是:同一个用户会回来、agent 多步、或两者都有。