@pauliusztin_: 两个月前,我开始使用知识图谱构建统一记忆层。以下是我最常被问到的问题……
摘要
本帖子讨论了使用知识图谱构建统一记忆层的最佳实践,强调将实体解析(命名)与去重(身份)分离,以避免图污染。还重点介绍了使用像 PrefectIO 这样的编排工具,通过检查点和缓存来管理昂贵的 LLM 提取管道。
查看缓存全文
缓存时间: 2026/05/23 22:17
两个月前,我开始用知识图谱构建统一记忆层。
大家问得最多的问题是:
“如何在不对图产生污染的情况下处理实体解析与去重?”
我不想给出一个基于假设的高层回答……
于是花了很多时间研究 mem0、cognee 和 Neo4j 等系统是如何解决这个问题的。
同时还在用 @PrefectIO 试验编排模式,以提升持久性并降低成本。
在这个过程中,我发现大多数人把实体解析和去重当成同一件事。
但它们不是。
最好的记忆系统会把“命名”和“身份”区分开。
在你的 LLM 提取出一个实体之后,你需要做以下几步:
1/ 解析 → “我们该叫它什么?”
这一层负责处理:
- 拼写错误
- 缩写
- 表面形式相似性
只对同一类型节点的名称进行精确、模糊和语义匹配。
举例:
- “NYC” → “New York City”
- “JP Morgan” → “JPMorgan Chase”
在这个阶段,系统只更新规范名称,供后续的软匹配使用。
不执行任何图合并。
因为相似的名称并不足以证明两个实体是相同的。
比如:
- Apple:公司 ≠ 水果
- Jensen Huang:NVIDIA 的 CEO ≠ 台北一位同名医生
2/ 去重 → “这是同一个真实世界实体吗?”
现在我们对完整的实体上下文进行嵌入,并与已有节点在全上下文范围内进行语义 + 模糊相似度比较。
根据相似度评分(0→1),有三种结果:
- 高置信度(≥0.95) → 自动合并
- 中等置信度(>0.85) → 人工审核
- 低置信度(≤0.85) → 新建节点
这一点至关重要,因为错误的合并会悄然污染图结构。
我发现最聪明的设计决策是:将证据强度视为操作权限强度:
- 弱证据 → 新建节点
- 强证据 → 合并
- 不确定的证据 → 进入审核队列
这样,记忆扩展时图结构始终保持干净。
但图模型只是问题的一半……
在非结构化数据之上构建知识图谱成本很高。
以下操作都需要花钱:
- LLM 提取
- 实体解析
- 嵌入
- 去重
如果下游某一步失败,你重跑整个流程,就会浪费 tokens 重新计算你已经付过费用的结果。
因此,最好的架构是将工作流拆分为带检查点的任务,并支持重试 + 缓存。
这正是 @PrefectIO 这类工具在生产环境记忆系统中的强项。
它允许你:
- 缓存昂贵的提取步骤
- 仅重试失败的阶段
- 高效批量处理嵌入
- 安全扩展数据摄入
- 为每个阶段添加可观测性
而无需每次失败都从头重来。
P.S. 在通过知识图谱为 agent 构建长期记忆时,你觉得最难的部分是什么?
谢谢!后续还有更多内容!
相似文章
我用一年时间在知识图谱上构建智能体记忆。以下是让我耗费数月的5个错误
作者分享了在使用知识图谱和本体论为AI智能体构建统一记忆层时犯下的五个错误,强调智能体记忆是数据建模问题而非检索问题。
Zep:一种用于智能体记忆的时序知识图谱架构
本文介绍了 Zep,这是一种用于智能体(agent)记忆的时间知识图谱架构,在 DMR 和 LongMemEval 等基准测试中表现优于 MemGPT。文章强调了 Zep 在企业级用例中处理动态知识融合和时间推理的能力。
@_avichawla:为你的Agent构建类人记忆(开源)!每个智能体和RAG系统在实时知识方面都面临挑战……
Graphiti是一个开源工具,通过持续演进且具有时间感知的知识图谱,为AI代理构建类人记忆,相比MemGPT,准确率最高提升18.5%,延迟降低90%。
@akshay_pachaar: 你的智能体记性很好,但理解力为零。大多数智能体记忆系统都在优化回忆能力。但更难的问题是……
一则关于智能体记忆中模式(Schema)约束重要性的讨论,介绍了 Zep AI 的开源 Graphiti 库,该库用于构建受约束实体和关系类型的时序知识图谱。
在实际中,你如何真正结合记忆和知识库?将两者都塞进上下文真的是标准做法吗?
讨论在个性化AI代理中结合长期记忆和知识库的实际挑战,质疑将所有内容塞进上下文是否为标准,并探索替代方案,如单独的检索流程或基于工具的交互。