新智元报道
编辑:peter 东乔杨
Zep,一个为大模型智能体提供长期记忆的插件,能将智能体的记忆组织成情节,从这些情节中提取实体及其关系,并将它们存储在知识图谱中,从而让用户以低代码的方式为智能力构建长期记忆。
无论是 ChatGPT 还是 Deepseek,随着大模型性能的提升,其能够处理的上下文也越来越长。但是,一旦超出上下文窗口的限制,大模型就需要重新开一个对话,如同「失忆」一般忘记之前交流的内容。
然而,站在用户的角度,智能体应该能够记住之前的所有对话,因此如何有效地管理和利用对话历史,就成为了提升 AI 智能体用户体验的关键。拥有长期记忆后,智能体能够回忆过去的对话,减少幻觉、延迟和成本。
将聊天记录作为文本导入,然后使用 RAG 来「恢复记忆」,是一种让大模型具有长期记忆的常用方式,但这往往需要额外的工程,构建 RAG 也存在无法忽视的时间差。
最近,一家名为 Zep AI 的初创公司推出了为智能体打造的记忆层,通过回忆聊天历史,可以自动生成摘要和其他相关信息,使 AI 助手能够在不影响用户聊天体验的情况下,异步地从过去的对话中提取相关上下文。
Zep AI 成立于 2023 年,是一家位于湾区的 YC 系初创,主要愿景就是为 AI 构筑长期记忆。他们开发的核心插件已经在 GitHub 上开源,获得了 3k+ 标星,同时也发表了详解技术原理的预印版论文。
仓库地址:https://github.com/getzep/zep
Zep:更适合工业界的 MemGPT
论文链接:https://arxiv.org/pdf/2501.13956
当前使用 RAG 的方法主要集中在领域知识和静态语料库上,即添加到语料库的文档很少发生变化。
要使智能体的落地场景更加普遍,解决各种各样琐碎或高度复杂的问题,就需要访问大量的动态数据,比如与用户的交互、相关的业务数据以及世界知识。
Zep 的开发者们认为,当前的 RAG 方法并不适合实现这一愿景;要想赋予智能体以动态、广泛的「记忆力」,需要让 LLM 驱动的智能体真正拥有存储部件。
事实上,这个想法并非 Zep AI 团队的原创。2023 年,UC 伯克利的研究者们发表的 MemGPT 就提出了这一点。
论文链接:https://arxiv.org/pdf/2310.08560
具体来看,Zep 可视为 AI 智能体的基本内存,由具有时间感知能力的知识图谱引擎 Graphiti 所驱动,可以摄入并综合结构化业务数据和非结构化的消息数据,并动态更新知识图,从而表征一个复杂、不断发展的世界。
与其他知识图引擎相比,Graphiti 的一个关键不同是具有时间提取和边失效过程,从而具备了管理动态信息更新的能力。
相比 MemGPT,Zep 更适用于工业界的生产场景,在内存检索机制的各方面性能上都有所提升,包括准确性、延迟和可扩展性。
构建知识图谱
Zep 的「记忆」由一个具有时间感知能力的动态知识图谱(temporally-aware dynamic knowledge graph)所驱动,可以表示为=(,ℰ,ϕ),其中为节点,ℰ表示边,而ϕ则是一个形式关联函数(formal incidence function),可表示为ℰ→×。
整个知识图谱共包含 3 层子图,从底层到顶层分别为:情节(episode)子图e,语义(semantic)子图s以及社区(community)子图c。
-
情节子图:以消息、文本或 JSON 的形式保留原始输入数据,其中的每个边将情节链接至下一层的相应语义实体
-
语义子图:基于情节子图提取实体及其关系
-
社区子图:每个节点表示一簇具有较强关联的实体,每个边将上一层的语义实体和社区相连接
这种分层表示与之前的 AirGraph 和 GraphRAG 有相近之处,更接近人类心智中的记忆模式,从而让使用 Zep 的 LLM 智能体发展出更加复杂和细微的存储结构。
内存检索
Zep 的一大亮点就是功能强大、高效且高度可配置的的内存检索系统,包括 3 个核心步骤:
-
搜索(φ):根据输入文本S,识别出可能包含相关信息的候选节点和边,可以表示为φ:S→ℰsn×sn×cn
-
重排(ρ):对上一步的搜索结果重新排序,即ρ:φ(α),…→ℰsn×sn×cn
-
构造器(constructor χ):将相关的节点和边转换为文本形式的上下文,即χ:ℰsn×sn×cn→S
第一步骤的搜索中,除了 RAG 常用的余弦相似度搜索和全文搜索,Zep 还加入了广度优先搜索,分别针对相似性的不同方面:全文搜索识别词语相似性,余弦搜索捕获语义相似性,而广度优先搜索揭示了上下文相似性,从而最大程度地从图谱中挖掘最佳语境。
实验评估
论文采用了两种针对 LLM 内存的基准测试,分别是 DMR 任务(Deep Memory Retrieval)和 LongMemEval 基准,相关的实验代码已经公布在 GitHub 仓库中。
DMR 的基线除了 MemGPT 外,还有两种常见的 LLM 内存方法:完整对话上下文(full-conversation context)和会话摘要(session summary)。
从下图和表格中可以看出,无论使用 GPT-4-Turbo 还是 GPT-4o-mini 模型,Zep 都可以超过基线方法,但 DMR 基准的设计存在一个显著缺陷:无法评估对复杂记忆内容的理解,完整上下文搜索所得到的高分就能从侧面证明这一点。
LongMemEval 基准的弥补了 DMR 的这一缺陷,加入了更长、更连贯的对话内容以及更多样化的评估问题,从而更好地反映真实场景的需求,实验结果如下表所示。
可以看到,相比基线方法,Zep 不仅提升了结果的精度,而且将响应时间减少了约 90%,相比其他 LLM 供应商也有约 80% 的提升。
参考资料: