【免费下载链接】Agent_Memory_Techniques
Agent memory for LLMs: 30 runnable Jupyter notebooks covering conversation buffers, vector stores, knowledge graphs, episodic and semantic memory, MemGPT, Mem0, Letta, Zep, Graphiti, LoCoMo benchmarks, and production patterns.
Agent_Memory_Techniques 是一个收录 30 个可运行 Jupyter Notebook 的 LLM Agent 记忆技术开源仓库。本文以其中第 27 项技术 Zep 生产级记忆为例,带你理解对话分类、实体抽取与时间感知知识图谱如何协同工作,让 AI 智能体在多次会话中"记住"用户。
这个仓库把 Agent 记忆拆解为 30 种可动手实践的技术,Zep 属于「框架与平台」族系,也是最接近真实生产环境的方案之一。
为什么你的 AI 智能体需要生产级记忆
大多数 AI 智能体有一个共同问题:一断开会话就失忆。你昨天告诉它"我是 Acme 公司的机器学习工程师,团队负责人是 Bob",今天它又把你当陌生人。
更简单的记忆方案(比如对话缓冲、滑动窗口)只能处理单次聊天;而要支撑客服智能体、个人助理这类长期服务,你需要一个自动化的记忆后端:
- 不用自己写 NLP 管道,自动从对话里抽取事实和实体
- 记忆按用户隔离,跨会话、跨话题共享
- 能追踪"某条信息在什么时候成立"(时间感知)
这正是 Zep 的定位:一个生产级 Agent 记忆服务,把原始对话转化为结构化的、可检索的长期记忆。
Zep 的三大核心能力
把 Zep 想象成一位坐进每场会议的私人助理:它不逐字记录,而是往索引卡上写关键事实("客户预算是 5 万美元")、记下被提到的人("市场部的 Alice")、给每场会议标注主题("Q3 规划")。这一切都在后台异步完成,你的智能体无需等待。
具体而言,Zep 的消息存储后有四条后台流水线自动运转:
| 能力 | 做什么 | 产出 |
|---|---|---|
| 对话分类(Dialog Classifier) | 自动标注每轮对话的意图、主题、情绪 | 无需人工标注的对话属性 |
| 实体抽取(Entity Extractor) | 识别人物、组织、项目等命名实体,并跨会话去重 | 持久化的实体注册表 |
| 事实抽取(Fact Extractor) | 把非结构化对话提炼为结构化陈述,如"用户的预算是 20 万美元" | 带时间戳、可查询的事实记录 |
| 知识图谱构建(Graphiti) | 记录实体间关系及其"何时成立" | 时间感知知识图谱 |
其中知识图谱层由Graphiti(仓库第 24 项技术)驱动。"时间感知"意味着图谱不仅记录"Alice 在纽约工作过",还知道这是过去的事——当 Alice 说"我搬到了伦敦",智能体可以区分过往经历与当前状态,回答"上周她住哪?"这类问题。
实战流程:5 步构建带记忆的智能体
仓库中的 zep_memory.ipynb 用不到 20 行核心代码就走完了完整闭环,流程如下:
第 1 步:创建用户与线程(Thread)。Zep 中每段对话都归属于一个用户,存放在一个线程里,相当于一个聊天会话容器。
第 2 步:发送对话消息。通过 SDK 的add_messages()方法送入多轮对话,Zep 立即存储消息并启动后台流水线。
第 3 步:搜索抽取出的事实。用自然语言查询知识图谱,例如问"项目的预算是多少?",Zep 按语义相关度返回排名靠前的事实。
第 4 步:获取组装好的上下文。调用get_user_context(),Zep 会把相关的事实、实体和近期消息拼装成一段现成的文本块——这是生产环境最常用的模式,直接注入 LLM 的系统提示词即可,省去自写检索逻辑。
第 5 步:接入智能体循环。用户消息进来 → 存入 Zep 并取回上下文 → 拼入系统提示词 → 调用 LLM → 把回复也存回 Zep。完整模式可参考 notebook 中的ZepMemoryAgent类:
from zep_cloud import Zep, Message zep = Zep(api_key=os.getenv("ZEP_API_KEY")) zep.user.add(user_id=user_id, first_name="Alice", metadata={"role": "ml_engineer"}) zep.thread.create(thread_id=thread_id, user_id=user_id) zep.thread.add_messages(thread_id=thread_id, messages=conversation)⏱️ 小提醒:抽取是异步的,消息存入后通常有 1–5 秒延迟新事实才可被检索到,notebook 里用
time.sleep(10)等待流水线处理完成。
三种检索模式:怎么找对记忆
Zep 的图谱搜索支持三种scope,针对不同问题:
- edges(事实搜索):返回实体间的关系事实,适合"预算是多少?"这类直接回忆
- nodes(实体搜索):返回实体及其摘要,适合"介绍一下 Bob"
- auto(自动):由 Zep 根据查询自行选择最优范围
跨会话记忆:Zep 最值钱的能力
notebook 的演示部分做了个漂亮的验证:为同一用户创建一个全新线程(相当于开一段新对话),问"你记得我的工作吗?""我的团队负责人是谁?"——智能体能直接答出第一条线程里才提到过的信息。
这是因为 Zep 的记忆存储在用户级别而非线程级别:一段对话里抽出的事实,会自动带入该用户的其他所有对话。对客服、个人助理场景来说,这就是开箱即用的跨会话记忆,无需自己写任何持久化代码。
什么时候该选 Zep?权衡清单
✅适合用 Zep 的场景
- 需要跨会话记忆,不想自己写持久化逻辑
- 希望自动抽取事实、实体与关系,不维护 NLP 管道
- 智能体必须区分"过去的事实"和"现在的事实"(时间感知)
- 用托管云服务,把扩容、索引、模型更新交给 Zep 团队
⚠️需要提前知道的限制
- 抽取基于 LLM,可能漏掉细节、产生幻觉事实,且抽取模型不易微调
- 异步处理带来短暂延迟,新事实不是立即可查
- 每条消息都触发 LLM 抽取,高消息量下成本会累积
- 云服务需要 Zep 账号与 API Key;自托管开源版则需要自建基础设施,两者都会绑定 Zep 的数据模型
💡搭配建议:用 Zep 做长期记忆后端,再搭配第 04 项技术(Summary Buffer Memory)管理会话内上下文,效果最佳。
上手与延伸阅读
想动手跑一遍,先获取仓库(依赖见 requirements.txt):
git clone https://gitcode.com/gh_mirrors/ag/Agent_Memory_Techniques cd Agent_Memory_Techniques pip install -r requirements.txt jupyter notebook all_techniques/27_zep_memory/运行前需配置ZEP_API_KEY与ANTHROPIC_API_KEY两个环境变量。
关键文件导航:
- 📓 完整教程:zep_memory.ipynb(含 3 个动手挑战:抽取精度审计、检索方式对比、多话题路由)
- 📖 技术详解:27_zep_memory/README.md
- 🕸️ 图谱引擎原理:24_graph_memory_graphiti/(Zep 图谱层底层技术)
- ⚖️ 横向对比 30 种技术:docs/comparison.md
- 🧭 进阶学习路径:docs/learning_path.md
- 📚 术语表:docs/glossary.md
一句话总结:如果你要做的 AI 智能体需要"记住人",Zep 用对话分类、实体抽取和时间感知知识图谱,把"记忆"从 DIY 工程变成了开箱即用的基础设施——这正是 Agent_Memory_Techniques 第 27 项技术想教给你的事。
【免费下载链接】Agent_Memory_Techniques
Agent memory for LLMs: 30 runnable Jupyter notebooks covering conversation buffers, vector stores, knowledge graphs, episodic and semantic memory, MemGPT, Mem0, Letta, Zep, Graphiti, LoCoMo benchmarks, and production patterns.
相关推荐
Agent 记忆系统(memory-systems)设计实战:跨会话持久化、实体追踪与时序知识图谱
Agent 记忆系统(memory systems)设计实战:跨会话持久化、实体追踪与时序知识图谱 本指南以开源仓库 Agent Skills for Cont
人工智能AI 技能提示工程AI 评测openJiuwen GraphMemory 图记忆全解析:知识图谱构建、实体关系抽取与混合检索实战指南
openJiuwen GraphMemory 图记忆全解析:知识图谱构建、实体关系抽取与混合检索实战指南 导读 GraphMemory 是 openJiuwen
人工智能AI AgentAgent 框架大模型工具调用RAG提示工程强化学习agent-memory 记忆写入路径演进实战:infer 同步抽取开关、过程记忆与 KV 前缀分离
agent memory 记忆写入路径演进实战:infer 同步抽取开关、过程记忆与 KV 前缀分离 导读 本文围绕 agent memory(openJiuw
人工智能AI AgentAgent 记忆RAGMCP 服务
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考