news 2026/10/15 16:49:40

Agent Memory Techniques:Zep 生产级记忆实战——对话分类、实体抽取与时间感知图谱

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Agent Memory Techniques:Zep 生产级记忆实战——对话分类、实体抽取与时间感知图谱

【免费下载链接】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.

项目地址:https://gitcode.com/gh_mirrors/ag/Agent_Memory_Techniques
点击查看免费下载

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.

项目地址:https://gitcode.com/gh_mirrors/ag/Agent_Memory_Techniques
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/15 16:49:10

C++内存池技术解析:消除延迟毛刺与内存碎片

简介:一套C内存池实现源码包,采用一级全局内存池与每线程独立二级内存池的双层结构,面向需要优化高并发场景下频繁分配与释放小块内存的C开发者,可有效减少系统调用和内存碎片。资源共33个文件,以17个h头文件和9个cpp源…

作者头像 李华
网站建设 2026/10/15 16:48:39

无线话筒射频链路复现指南:从综合文档到可量产方案

简介:这份资源是围绕无线话筒技术整理的综合性文档包,面向音频工程初学者、电子设计爱好者及需要了解无线传输原理的从业者,帮助其系统认识无线话筒的工作机制与工程实现。压缩包共12个文件,约70KB,以Altium Designer工…

作者头像 李华
网站建设 2026/10/15 16:46:56

pure control.zip 拆解:从零跑通控制算法闭环的工程实践

简介:这份资源是面向控制工程学习者与科研人员的 MATLAB/Simulink 实践资料包,围绕纯控制理论展开,适合已具备一定控制基础、希望借助仿真加深理解的中高级读者。压缩包共 546 个文件,约 6.72MB,以 296 个 mat 数据文件…

作者头像 李华