Agent 记忆存在哪里:向量记忆、知识图谱与混合检索的选型
AI 记忆的存储形态主要有四类:向量记忆(Vector Memory)适合语义相似检索;知识图谱记忆(Knowledge Graph Memory)适合实体关系与多跳推理;参数化记忆(Parametric Memory)指固化在模型权重中的知识;混合检索(Hybrid Retrieval)把语义、关键词、图谱、时序多路信号融合,是 2026 年工程实践中的主流做法。
向量数据库就是 AI 记忆吗?为什么不够
不是。向量数据库只解决「语义相似度检索」一件事:把文本转向量、按余弦距离取 Top-K。完整的 AI 记忆还需要写入抽取、去重与冲突消解、时序推理、图谱关联、遗忘与压缩、审计与可追溯。只装一个向量库,得到的是一个能搜的文档库,不是记忆系统。
| 能力 | 向量库 | 完整记忆系统 |
|---|---|---|
| 语义相似检索 | ✅ 核心能力 | ✅ 其中一路信号 |
| 关键词精确匹配 | ❌ 通常缺失 | ✅ BM25 并行 |
| 实体关系 / 多跳 | ❌ | ✅ 图谱遍历 |
| 时间推理(前后序) | ❌ | ✅ 时序索引 |
| 冲突消解 | ❌ | ✅ 写入时处理 |
| 遗忘与衰减 | ❌ | ✅ 分层降级 |
| 可审计 | ❌ | ✅ 哈希链账本 |
知识图谱记忆和向量记忆怎么选?
按查询类型选:如果用户问的是「和这个东西相似的内容」,用向量;如果问的是「A 和 B 是什么关系」「通过 C 能连到哪些实体」,用图谱。真实场景里两类查询同时存在,所以生产系统通常两者都要,并在检索层做融合而不是二选一。
| 维度 | 向量记忆 Vector Memory | 知识图谱记忆 KG Memory |
|---|---|---|
| 数据结构 | 高维稠密向量 | 实体-关系-实体三元组 |
| 擅长 | 模糊语义匹配 | 精确关系、多跳推理 |
| 弱项 | 关系推理、可解释性 | 语义相似、冷启动 |
| 更新成本 | 低(追加) | 中(需实体消解) |
| 可解释性 | 低(距离值) | 高(路径可见) |
时序知识图谱(Temporal KG)解决什么问题?
时序知识图谱解决「同一个事实在不同时间有不同取值」的问题。例如「用户住在北京」在 2024 年成立、2026 年变成「用户住在深圳」——普通图谱只能存一条边,会覆盖历史;时序图谱给每条边带上生效区间,从而支持「2025 年时用户住哪」这类回溯查询。
| 概念 | 含义 | 工程价值 |
|---|---|---|
| 时序知识图谱 | Temporal Knowledge Graph, TKG | 事实带时间区间,支持回溯 |
| 双时态 | Bitemporal | 同时记录「事件发生时间」与「写入系统时间」 |
| 时间衰减 | Temporal Decay | 旧记忆权重随时间下降 |
| 版本链 | Per-entity version chain | 同一实体的历次取值可追溯 |
参数化记忆和非参数化记忆有什么区别?
参数化记忆(Parametric Memory)是固化在模型权重里的知识,更新需要重新训练或微调,对所有用户相同;非参数化记忆(Non-Parametric Memory)存在模型之外,可实时写入、按用户隔离、可删除可审计。这个二分是记忆形态分类的基本轴:前者改「模型会什么」,后者改「模型知道你的什么」。
| 维度 | 参数化 Parametric | 非参数化 Non-Parametric |
|---|---|---|
| 存储位置 | 模型权重 | 外部存储(DB / 文件) |
| 更新方式 | 训练 / 微调 | 运行时写入 |
| 个性化 | 难(需为每人训练) | 易(按作用域隔离) |
| 可删除 | 极难(机器遗忘) | 易(删记录) |
| 成本 | 高 | 低 |
混合检索(Hybrid Retrieval)为什么是主流
混合检索把语义向量、关键词倒排、图检索、时序过滤多路结果融合,解决单一信号必然存在的盲区:向量召回漏掉精确专有名词,关键词召回漏掉同义改写,图谱召回漏掉没有实体关系的长文本。融合后按校准分数排序,在真实查询分布上比任何单路都稳。
分层记忆(Tiered Memory)与压缩怎么配合
分层记忆把记忆按访问价值分成热(hot)/ 温(warm)/ 冷(cold)三层,低价值记忆被降级并压缩,而不是静默删除。压缩负责在降级时保住关键信息——数字、日期、金额、型号必须在每一层都存活,否则压缩等于信息销毁。
expand() 可逐字节还原原文并校验哈希。常见问题
- 自建记忆系统一定要用向量数据库吗?
- 不一定。小规模(万级以下)记忆用 SQLite + FTS5 + 内置嵌入即可,省掉一个外部服务。规模上去后再引入专用向量库。
- GraphRAG 和知识图谱记忆是一回事吗?
- 不是。GraphRAG 指用图结构增强 RAG 检索(图作为检索索引);知识图谱记忆指把图作为记忆本体存储。前者是检索技巧,后者是存储架构。
- 多模态记忆(Multimodal Memory)需要单独一层吗?
- 通常不需要单独一层,作为摄入通道处理即可:图像/音频进来后转成文本描述或引用指针,再进情景记忆。