3.5 图记忆与知识图谱
传统的向量数据库在 RAG 场景中表现优异,但随着智能体系统的复杂化,其局限性日益明显。图记忆作为一种记忆范式逐渐受到关注,出现了时序知识图谱等用于表达“实体-关系-时间”三要素的实现方式。
3.5.1 向量数据库的局限性
向量数据库通过语义相似度检索信息,但存在几个根本性问题:
图 3-6:向量搜索的局限性
时间推理
❌ 无时间维度
✅ 时序知识图谱
实体追踪
❌ 孤立嵌入
✅ 实体节点关联
关系推理
❌ 仅语义相似
✅ 显式边关系
知识演化
❌ 静态快照
✅ 版本化更新
3.5.2 时序知识图谱核心概念
时序知识图谱在传统知识图谱基础上增加了时间维度,让智能体能够理解"什么时候发生了什么"。
基础结构
下图展示了一个简单的时序知识图谱示例,其中包含了人员、项目、事件等实体,以及带有时间范围的"负责"、"产出"等关系。这种结构清晰地表达了实体间随时间演化的动态关联。
图 3-7:时序知识图谱结构示例
核心元素
时序知识图谱由三个核心元素组成:
实体(Entity)表示人、项目、事件等节点;
关系(Relationship)表示实体之间的连接,并带有时间有效期;
情节(Episode)记录一次完整的交互或事件。
3.5.3 混合记忆架构:图记忆 + RAG
在选择技术方案之前,需要理解图记忆与向量检索的关系。两种技术并非互斥,而是互补:
图 3-8:图记忆与 RAG 混合架构
静态知识库问答
向量 RAG
长期用户交互
图记忆
多实体关系推理
图记忆
文档语义检索
向量 RAG
时间相关查询
图记忆
混合场景
图记忆 + 向量 RAG
3.5.4 工程化落地路径
本节以工程视角归纳三类常见落地方式:图存储内核、知识抽取流水线、以及面向检索与推理的混合查询层。具体项目名与 API 细节可能随时间变化。
方案一:图存储内核与抽取流水线
这类方案通常包含“情节采集 → 实体关系抽取 → 图存储持久化 → 检索与推理接口”四个环节。
架构概览
图 3-9:图记忆参考分层架构
这种分层架构实现了从非结构化文本到结构化图谱的自动流转:
情节处理层:作为系统入口,接收用户的对话、文档片段或观察到的事件。
知识提取层:利用 LLM 的语义理解能力,自动提取实体(Node)、关系(Edge)以及相关的时序元数据(Valid At)。
图存储层:将提取的三元组持久化到图数据库或图存储中,维护知识的演化历史。
检索层:提供混合检索能力,既能通过向量找到语义相关的节点,又能通过图遍历找到多跳关系节点。
基础用法示例
下例用伪代码展示典型工作流:初始化连接、写入情节、检索相关记忆。实现细节会因具体库而异,但接口形状通常相近。
知识提取过程
下面以通用流程为例:语言模型从对话中抽取实体与关系,再交由图存储进行持久化。
方案二:记忆服务化
这类方案把“抽取、存储、索引、检索、评测”打包为独立服务,对应用侧暴露统一 API。优点是集成门槛低、便于运维与观测;代价是需要处理网络延迟、成本与数据治理。
与向量检索的差异(概念层)
图记忆类系统通常更擅长:实体一致性、时间线追踪、多跳关系;代价是:建模与抽取更复杂、存储与维护成本更高。具体准确率/延迟取决于数据、抽取提示词、存储后端与评测口径。
方案三:个性化画像记忆层
这类方案把“用户偏好、稳定事实、长期目标”抽取为可更新的画像,并与会话记忆解耦。常见策略包括去重、冲突消解与置信度更新。
3.5.5 实战:为智能体添加图记忆
以下示例展示了如何将图记忆集成到智能体中。核心流程是:检索相关记忆→构建增强上下文→生成回复→存储本次对话。这样智能体就能记住用户的历史信息并在后续对话中使用。
下一节: 3.6 上下文工程
Last updated
