fix(memory): correct memory architecture to 3-layer design (text/vector/graph)

This commit is contained in:
root
2026-06-01 11:25:14 +08:00
parent 27865b1663
commit db4d1d0214

View File

@ -2,7 +2,7 @@
## 概述
记忆子网类比人脑的**海马体与皮层**,负责长期记忆的存储、检索和管理。采用**三级存储架构**:图数据库(Neo4j)存储结构化知识图谱、向量数据库存储语义向量、文本存储记录会话历史。
记忆子网类比人脑的**海马体与皮层**,负责记忆的存储、检索和管理。采用**三层记忆架构**:**文本记忆**(短对话临时工作区)、**向量记忆**(语义检索)、**图记忆**(结构化知识)。
> 图数据库记忆设计参考了 [TrulyMEM-TrueHumanMEM](https://jianfgit.xyz:220/jianf/TrulyMEM-TrueHumanMEM.git) 项目。
@ -27,22 +27,37 @@
│ ┌────────────────────────────────────────────────────┐ │
│ │ 记忆管理器 (Memory Manager) │ │
│ │ 自行决定: │ │
│ │ → 如何解析查询 → 走图DB/向量DB/文本 │ │
│ │ → 如何写入新信息 → MERGE/CREATE/更新 │ │
│ │ → 如何更新已有记忆 → 增量/覆盖/合并 │ │
│ │ → 如何解析查询 → 走文本/向量/图记忆 │ │
│ │ → 如何写入新信息 → 先入文本记忆再处理 │ │
│ │ → 如何更新 → 冲突合并/覆盖/增量 │ │
│ │ → 如何删除 → 软删除/硬删除/归档 │ │
│ │ → 如何关联 → 链路推理/图谱推理 │ │
│ └──────┬────────────┬──────────────┬─────────────────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌──────────┐ ┌────────────┐ ┌────────────────┐ │
│ │ 图数据库 │ │ 向量数据库 │ │ 文本存储 │ │
│ │ (Neo4j) │ │(Milvus/FAISS)│ │ (日志/会话归档) │ │
│ │ │ │ │ │ │ │
│ │ Entity │ │ 语义向量 │ │ 原始对话记录 │ │
│ │ RELATES │ │ 索引 │ │ 时间线索引 │ │
│ │ Cypher │ │ 相似度搜索 │ │ 压缩归档 │ │
│ └──────────┘ └────────────┘ └────────────────┘ │
│ └──────┬─────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ 文本记忆(临时工作区) │ │
│ │ 近期对话内容,按时间顺序追加,容量有限 │ │
│ └─────────────────────┬────────────────────────────┘ │
│ │ 定期扫描 (每 N 轮/定时) │
│ ▼ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ 记忆处理流水线 │ │
│ │ │ │
│ │ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐│ │
│ │ │ 拆解 │────→│冲突合并│────→│相似合并│────→│分路写入││ │
│ │ └──────┘ └──────┘ └──────┘ └──┬───┘│ │
│ │ │ │ │
│ └───────────────────────────────────────────────┼────┘ │
│ │ │
│ ┌──────────────────────────────────┼──┐ │
│ ▼ ▼ │
│ ┌─────────────────────┐ ┌─────────────────────────┐ │
│ │ 图记忆 │ │ 向量记忆 │ │
│ │ (结构化知识) │ │ (语义向量) │ │
│ │ Entity / RELATES │ │ 索引 + 相似度搜索 │ │
│ │ Cypher 查询 │ │ │ │
│ └─────────────────────┘ └─────────────────────────┘ │
│ │
│ ┌────────────────────────────────────────────────────┐ │
│ │ 张量编/解码层 │ │
@ -52,11 +67,33 @@
└───────────────────────────────────────────────────────────┘
```
## 三级存储架构
## 三层记忆
### 第一级:图数据库(Neo4j)— 温区
### 第一层:文本记忆(Text Memory)— 临时工作区
存储结构化知识,支持关系查询和推理。
类似人脑工作记忆,保存近期对话内容,按时间顺序追加。容量有限,保证短对话内的上下文连续性。由记忆子网定期处理(拆解/冲突合并/相似合并/分路写入)。
| 项目 | 说明 |
|------|------|
| 存储内容 | 近期对话原始文本 |
| 管理方式 | 按时间顺序追加,溢出时丢弃最旧内容 |
| 处理时机 | 每 N 轮对话或定时触发 |
| 用途 | 短期对话连续性,记忆处理源 |
### 第二层:向量记忆(Vector Memory)— 语义检索
存储经过嵌入的语义向量,支持语义相似度检索。长对话连续性关键组件之一。
| 项目 | 说明 |
|------|------|
| 索引类型 | IVF_FLAT / HNSW |
| 向量维度 | 768 (匹配标准张量维度) |
| 度量方式 | Cosine Similarity |
| 分片策略 | 按时间桶 + 会话 ID 分片 |
### 第三层:图记忆(Graph Memory)— 结构化知识
实体-关系图,存储用户偏好、知识图谱等结构化信息。长对话连续性关键组件之二。
**参考 TrulyMEM 的图数据库设计:**
@ -121,28 +158,6 @@ ORDER BY e.mention_count DESC
LIMIT 10
```
### 第二级:向量数据库(Milvus / FAISS)— 冷区
存储语义向量,支持相似度检索。
| 项目 | 说明 |
|------|------|
| 索引类型 | IVF_FLAT / HNSW |
| 向量维度 | 768 (匹配标准张量维度) |
| 度量方式 | Cosine Similarity |
| 分片策略 | 按时间桶 + 会话 ID 分片 |
### 第三级:文本存储 — 冷区
存储完整的原始对话记录和会话日志。
| 项目 | 说明 |
|------|------|
| 存储格式 | JSONL / 压缩归档 |
| 索引 | 时间线索引 + 会话 ID 索引 |
| 生命周期 | 30天后归档,90天后可清理 |
| 用途 | 审计、重建、深度分析 |
## 输入/输出
| 项目 | 说明 |