ZEP深度解析:时序知识图谱如何革新AI记忆
ZEP凭啥在DMR benchmark击败MemGPT?深度拆解其时序知识图谱架构、混合检索策略与工程实现。
ZEP深度解析:时序知识图谱如何革新AI记忆
"Agents don't fail because the model is bad. They fail because they don't have the right context."
传统的 AI 代理常常面临"健忘"问题——它们只能看到当前的对话,无法了解用户的过去。这就是 ZEP 要解决的问题。
核心战绩
根据 Zep 团队发表于 arXiv 的论文(2501.13956):
| Benchmark | Zep | MemGPT | 提升 |
|---|---|---|---|
| DMR (Deep Memory Retrieval) | 94.8% | 93.4% | +1.4% |
| LongMemEval (enterprise) | +18.5% 准确率 | baseline | 显著 |
| 延迟 | -90% | baseline | 数量级 |
注意:Zep 声称在更复杂的企业场景(跨会话信息合成、长期上下文维护)提升更明显。这才是关键。
什么是 ZEP?
ZEP 是一个上下文工程平台(Context Engineering),由 Hippo Labs 开发。它的核心使命是:为 AI 代理提供持久化、个性化、可检索的记忆能力。
Zep assembles the right context from chat history, business data, and user behavior. Build personalized, fast, and reliable agents.
核心技术:Temporal Context Graph
ZEP 的核心创新是 Temporal Context Graph(时序知识图谱)。与传统 RAG 不同,它不仅存储静态文档,还能:
- 追踪事实变化:当用户偏好改变时,旧事实被标记失效而非简单覆盖
- 建立实体关联:自动提取对话中的实体和关系
- 保持时间维度:每个事实都有有效时间范围,支持时间旅行式检索
三大核心概念
┌─────────────────────────────────────────────────────────┐
│ Context Graph │
├─────────────────────────────────────────────────────────┤
│ Entities (Nodes) │
│ - 人、产品、政策、概念 │
│ - 带时间演化的 summaries │
├─────────────────────────────────────────────────────────┤
│ Facts / Relationships (Edges) │
│ - 三元组: Entity → Relation → Entity │
│ - 关键:每个 fact 有 validity window │
│ - 事实变化时,旧事实标记失效而非删除 │
├─────────────────────────────────────────────────────────┤
│ Episodes (Provenance) │
│ - 原始摄入数据 │
│ - 每个导出 fact 都可以追溯到 source │
└─────────────────────────────────────────────────────────┘
时序事实管理示例
# 示例:用户偏好变化
# 2024-09: "Robbie 只穿 Adidas 鞋" → valid
# 2024-10: "Robbie 的 Adidas 鞋坏了" → valid
# 2024-10: "Robbie 改穿 Nike" → 旧事实自动失效关键设计:
- Bi-temporal tracking(双时态追踪)
- Automatic fact invalidation(事实自动失效)
- Temporal history preserved(历史可查询)
三大核心功能
1. Ingest(数据摄取)
支持从多个数据源摄取:
- 聊天历史
- 业务数据(JSON)
- 文档
- 应用事件
2. Graph(图谱构建)
自动从数据中提取实体、关系和事实,构建统一的知识图谱。
3. Assemble(上下文组装)
根据需求检索相关上下文,格式化为 LLM 可直接使用的提示。
混合检索策略
Graphiti 的检索不是单纯的向量搜索,而是三层融合:
Hybrid Retrieval =
- Semantic (embedding similarity)
- Keyword (BM25)
- Graph traversal (关系路径)
这解决了单纯向量检索的"语义相近但事实不符"问题。
对比 GraphRAG
| 维度 | GraphRAG | Graphiti |
|---|---|---|
| 数据处理 | 批量 | 增量实时 |
| 知识结构 | 实体簇+摘要 | 时序图谱+validity windows |
| 检索 | LLM 汇总(秒级) | 混合搜索(亚秒级) |
| 事实矛盾 | LLM 判断 | 自动失效机制 |
| 自定义实体 | ❌ | ✅ Pydantic |
多后端支持(工程亮点)
# 图数据库:Neo4j / FalkorDB / Kuzu / Amazon Neptune
# LLM: OpenAI / Azure / Anthropic / Gemini / Ollama
# Embedding: OpenAI / Voyage / GeminiOllama 支持是亮点——本地部署隐私场景。
# Ollama 示例
llm_client = OpenAIGenericClient(config=LLMConfig(
model="deepseek-r1:7b",
base_url="http://localhost:11434/v1"
))代码示例
只需三行代码即可集成:
# 添加消息并获取上下文
response = client.thread.add_messages(
thread_id=thread_id,
messages=messages,
return_context=True
)
print(response.context)返回的上下文已经过格式化:
<USER_SUMMARY>
Emily Painter is a user with account ID Emily0e62...
</USER_SUMMARY>
<FACTS>
- Emily is experiencing issues with logging in. (2024-11-14 - present)
- User account Emily0e62 has a suspended status due to payment failure.
</FACTS>
MCP 生态
Graphiti 官方提供 MCP Server,意味着:
- Claude / Cursor 可以直接调用 Graphiti 的记忆能力
- AI 助手原生具备"记忆"功能
# 一键部署
docker compose up mcp-server开源:Graphiti
ZEP 的底层库 Graphiti 已开源:
- GitHub: github.com/getzep/graphiti
- 24.7k stars
- 支持 TypeScript、Python、Go
怎么选?
| 场景 | 推荐 |
|---|---|
| 生产环境、要 SLA | Zep (托管服务) |
| 自托管、定制强 | Graphiti (开源) |
| 简单聊天记忆 | MemGPT |
| 文档问答 | 传统 RAG / GraphRAG |
总结
ZEP 解决了 AI 代理的"上下文缺失"问题:
- 从聊天记忆 → 全面上下文(整合业务数据)
- 从静态 RAG → 时序知识图谱(追踪变化)
- 从慢速检索 → 200ms 精准检索
Zep 的价值不在于"存储更多聊天记录",而在于:
- 事实时间维度:解决"用户说过 X 但后来变了"的矛盾
- 混合检索:向量+关键词+图谱,解决语义漂移
- 来源追溯:每个事实可追溯,增强可信度
- MCP 原生:AI 助手可以直接"继承"记忆能力
24.7k stars 的开源项目,值得深入。
References: arXiv:2501.13956, github.com/getzep/graphiti, getzep.com