Graphiti:面向 AI Agent 的时序知识图谱框架详解-王仕宇

从 Ontology、Knowledge Graph 到 GraphRAG,让 AI Agent 拥有真正的长期记忆能力。
项目地址:
https://github.com/getzep/graphiti
一、为什么需要 Graphiti?
过去一年,RAG(Retrieval-Augmented Generation,检索增强生成)成为 AI 应用开发的主流架构。
典型 RAG 流程:
用户问题
|
↓
Embedding 模型
|
↓
Vector Database
|
↓
检索相关文档
|
↓
LLM 生成答案
这种方式解决了:
AI 不知道知识怎么办?
但是随着 AI Agent 的发展,一个新的问题出现:
AI 不仅需要知道知识,还需要理解知识之间的关系,以及这些关系如何随着时间变化。
例如:
用户告诉 AI:
2025 年:
我在 A 公司工作。
2026 年:
我加入了 B 公司。
普通 RAG 可能保存:
王仕宇 → 工作于 → A 公司
王仕宇 → 工作于 → B 公司
但是 AI 不知道:
- 哪个是当前状态?
- 哪个是历史状态?
- 什么时候发生变化?
这就是传统 RAG 的不足。
二、Graphiti 是什么?
Graphiti 是 Zep 开源的一个 Temporal Knowledge Graph(时序知识图谱)框架。
它专门用于:
- AI Agent Memory
- Knowledge Graph
- GraphRAG
- Context Graph
简单理解:
传统知识图谱:
A ----关系---- B
Graphiti:
A ----关系---- B
|
时间
它不仅记录:
两个实体有什么关系。
还记录:
这个关系什么时候成立,什么时候失效。
三、Graphiti 整体架构
整体流程:
用户数据
|
|
----------------------------
| | |
对话 文档 业务数据
| | |
----------------------------
|
↓
Episode
|
↓
实体 / 关系 / 事实抽取
|
↓
Temporal Knowledge Graph
|
-------------------
| |
↓ ↓
Agent Memory Graph Search
|
↓
AI Agent
四、Graphiti 核心概念
1. Entity(实体)
实体代表现实世界中的对象。
例如:
用户:
王仕宇
项目:
ShiyuAdmin
公司:
JavaPub
形成:
王仕宇
|
| 创建
↓
ShiyuAdmin
2. Relationship(关系)
实体之间存在连接。
例如:
王仕宇
|
|
开发
↓
AI 项目
关系:
developer_of
3. Episode(事件)
Episode 是 Graphiti 中非常重要的概念。
可以理解为:
一次进入系统的信息。
例如:
用户:
我最近开始学习 Solana。
形成:
Episode:
用户学习 Solana
进一步抽取:
User
|
learn
↓
Solana
4. Fact(事实)
事实是结构化后的知识。
例如:
原始信息:
张三加入 OpenAI。
转换:
Entity:
张三
OpenAI
Relation:
works_at
最终:
张三
|
works_at
|
OpenAI
五、Graphiti 最大特点:时间维度
传统知识图谱:
张三
|
北京
但是现实世界会变化。
例如:
2024:
张三
|
居住
|
北京
2026:
张三
|
居住
|
上海
普通系统:
张三 → 北京
张三 → 上海
无法判断当前状态。
Graphiti:
事实 1:
张三居住北京
有效时间:
2024-01
失效时间:
2026-01
事实 2:
张三居住上海
有效时间:
2026-01
于是 AI 可以回答:
问题:
张三现在住哪里?
回答:
上海
问题:
张三 2025 年住哪里?
回答:
北京
六、Fact Invalidation:事实失效
现实世界中的知识会不断变化。
例如:
以前:
用户喜欢 iPhone
后来:
用户改用 Android
普通系统:
喜欢 iPhone
喜欢 Android
容易产生冲突。
Graphiti:
旧事实:
喜欢 iPhone
状态:
invalid
新事实:
喜欢 Android
状态:
active
也就是说:
历史不会被删除,而是变成过去状态。
这对于:
- 用户画像
- CRM
- 企业 Agent
- Personal AI
非常重要。
七、Graphiti 与普通 RAG 的区别
| 能力 | 普通 RAG | Graphiti |
|---|---|---|
| 数据形式 | 文档片段 | 图结构 |
| 检索方式 | 向量搜索 | 图搜索+语义搜索 |
| 实体关系 | 弱 | 强 |
| 时间变化 | 不擅长 | 核心能力 |
| 历史状态 | 困难 | 支持 |
| Agent Memory | 一般 | 强 |
普通 RAG
问题
↓
Embedding
↓
找到相似文本
↓
LLM
Graphiti
问题
↓
实体识别
↓
关系查询
↓
时间过滤
↓
知识图谱
↓
LLM
八、Graphiti 的应用场景
1. Personal AI Assistant
个人 AI 助手:
记录:
用户喜欢什么
用户做过什么
用户什么时候改变想法
例如:
过去:
喜欢 Mac
现在:
使用 Windows
Agent 可以知道:
当前主要设备:
Windows
2. 企业知识 Agent
企业:
员工
客户
订单
合同
产品
供应商
形成:
客户
|
购买
|
产品
|
属于
|
供应商
Agent 可以回答:
这个客户购买过什么?
合同什么时候到期?
当前负责人是谁?
3. Coding Agent
未来 Coding Agent:
不仅知道代码。
还知道:
为什么这样设计?
以前为什么修改?
哪个 Bug 曾经出现?
例如:
项目:
ShiyuAdmin
历史:
2026-01
增加支付模块
2026-03
替换数据库
Agent 拥有项目长期记忆。
九、Graphiti 技术架构
简单架构:
LLM
|
|
Graphiti Core
|
----------------
| |
Graph Database Vector
|
Neo4j / FalkorDB
Graph Database:
保存:
实体
关系
时间
历史
Vector:
保存:
语义信息
结合:
形成:
Hybrid Search
十、Graphiti + MCP
Graphiti 支持 MCP。
可以连接:
- Claude Desktop
- Cursor
- AI Agent
架构:
Cursor
|
MCP
|
Graphiti
|
Knowledge Graph
未来:
AI 编程助手可以知道:
项目历史
技术决策
架构变化
Bug 记录
而不仅仅读取当前代码。
十一、Graphiti 与 Ontology 的关系
Ontology:
定义:
世界有什么东西
东西之间有什么关系
例如:
User
Order
Product
Payment
Graphiti:
维护:
这些东西当前是什么状态
过去是什么状态
关系:
Ontology
定义世界模型
↓
Graphiti
维护动态世界状态
↓
Agent
基于世界模型行动
十二、未来 AI Agent 架构
未来 Agent 可能是:
AI Agent
|
----------------------------
| | |
Tools Memory Ontology
|
Knowledge Graph
|
Business Data
其中:
Ontology:
负责:
理解世界
Knowledge Graph:
负责:
连接世界
Graphiti:
负责:
记录世界变化
Agent:
负责:
执行行动
十三、总结
Graphiti 最大价值:
不是又一个知识图谱工具。
而是:
给 AI Agent 提供一个能够持续变化、理解历史、维护关系的长期记忆系统。
未来 AI 不应该只是:
读取文档
而应该:
理解世界
记住变化
建立关系
持续成长
技术路线:
Ontology
↓
Knowledge Graph
↓
Temporal Knowledge Graph
↓
GraphRAG
↓
Agent Memory
↓
AI Agent
Graphiti 正好处于这条路线的重要位置。
现在是最好的时代。
中国有全世界最高性价比的制造业,有发达的网络和全球物流。
只要你愿意,你几乎可以买到这个世界上任何地方生产的、任何你想要的商品。你可以用很低的成本,撬动全球的资源为你服务。
不过,真正稀缺的,从来不是商品,而是注意力、判断力,以及把事情做成的能力。
所以,这是最好的时代,也是最坏的时代。
我是王仕宇,关注 AI、Web3 与开源,持续探索如何把技术做成产品,把产品转化为真实价值。
作者:
王仕宇 JavaPub
更多推荐


所有评论(0)