3.5 图记忆与知识图谱

传统的向量数据库在 RAG 场景中表现优异,但随着智能体系统的复杂化,其局限性日益明显。图记忆作为一种记忆范式逐渐受到关注,出现了时序知识图谱等用于表达“实体-关系-时间”三要素的实现方式。

3.5.1 向量数据库的局限性

向量数据库通过语义相似度检索信息,但存在几个根本性问题:

spinner

图 3-6:向量搜索的局限性

问题
向量数据库表现
图记忆方案

时间推理

❌ 无时间维度

✅ 时序知识图谱

实体追踪

❌ 孤立嵌入

✅ 实体节点关联

关系推理

❌ 仅语义相似

✅ 显式边关系

知识演化

❌ 静态快照

✅ 版本化更新

3.5.2 时序知识图谱核心概念

时序知识图谱在传统知识图谱基础上增加了时间维度,让智能体能够理解"什么时候发生了什么"。

基础结构

下图展示了一个简单的时序知识图谱示例,其中包含了人员、项目、事件等实体,以及带有时间范围的"负责"、"产出"等关系。这种结构清晰地表达了实体间随时间演化的动态关联。

spinner

图 3-7:时序知识图谱结构示例

核心元素

时序知识图谱由三个核心元素组成:

  • 实体(Entity)表示人、项目、事件等节点;

  • 关系(Relationship)表示实体之间的连接,并带有时间有效期;

  • 情节(Episode)记录一次完整的交互或事件。

3.5.3 混合记忆架构:图记忆 + RAG

在选择技术方案之前,需要理解图记忆与向量检索的关系。两种技术并非互斥,而是互补:

spinner

图 3-8:图记忆与 RAG 混合架构

场景
推荐方案

静态知识库问答

向量 RAG

长期用户交互

图记忆

多实体关系推理

图记忆

文档语义检索

向量 RAG

时间相关查询

图记忆

混合场景

图记忆 + 向量 RAG

3.5.4 工程化落地路径

本节以工程视角归纳三类常见落地方式:图存储内核、知识抽取流水线、以及面向检索与推理的混合查询层。具体项目名与 API 细节可能随时间变化。

方案一:图存储内核与抽取流水线

这类方案通常包含“情节采集 → 实体关系抽取 → 图存储持久化 → 检索与推理接口”四个环节。

架构概览

spinner

图 3-9:图记忆参考分层架构

这种分层架构实现了从非结构化文本到结构化图谱的自动流转:

  1. 情节处理层:作为系统入口,接收用户的对话、文档片段或观察到的事件。

  2. 知识提取层:利用 LLM 的语义理解能力,自动提取实体(Node)、关系(Edge)以及相关的时序元数据(Valid At)。

  3. 图存储层:将提取的三元组持久化到图数据库或图存储中,维护知识的演化历史。

  4. 检索层:提供混合检索能力,既能通过向量找到语义相关的节点,又能通过图遍历找到多跳关系节点。

基础用法示例

下例用伪代码展示典型工作流:初始化连接、写入情节、检索相关记忆。实现细节会因具体库而异,但接口形状通常相近。

知识提取过程

下面以通用流程为例:语言模型从对话中抽取实体与关系,再交由图存储进行持久化。

方案二:记忆服务化

这类方案把“抽取、存储、索引、检索、评测”打包为独立服务,对应用侧暴露统一 API。优点是集成门槛低、便于运维与观测;代价是需要处理网络延迟、成本与数据治理。

与向量检索的差异(概念层)

图记忆类系统通常更擅长:实体一致性、时间线追踪、多跳关系;代价是:建模与抽取更复杂、存储与维护成本更高。具体准确率/延迟取决于数据、抽取提示词、存储后端与评测口径。

方案三:个性化画像记忆层

这类方案把“用户偏好、稳定事实、长期目标”抽取为可更新的画像,并与会话记忆解耦。常见策略包括去重、冲突消解与置信度更新。

3.5.5 实战:为智能体添加图记忆

以下示例展示了如何将图记忆集成到智能体中。核心流程是:检索相关记忆→构建增强上下文→生成回复→存储本次对话。这样智能体就能记住用户的历史信息并在后续对话中使用。


下一节: 3.6 上下文工程

Last updated