记忆系统的总结-H-Mind

0 阅读4分钟

一套受人类认知启发、工程可落地、支持长期个性化交互的四层分层记忆系统。它融合了你提出的所有核心理念:

  • 四类记忆:短期 / 长期 / 模糊 / 重点
  • 事件检测与评分必须滞后(t+1)
  • 先评分,再结合用户画像决定是否晋升为重点记忆
  • 各层关键点差异化:原文 → 句意 → 名词 → 精确三元组

🧠 H-Mind 架构总览

目标:让 AI Agent 像人一样记住“什么值得记、怎么记、何时用”。

核心原则

  1. 记忆即资产:不是所有信息都平等,需分层管理;
  2. 理解后记忆:事件必须在语义完整后才被处理(t+1);
  3. 画像驱动决策:是否“重点”由用户身份与偏好决定;
  4. 隐私与效率平衡:普通对话自动过期,仅高价值信息长期保留。

🗂️ 一、四层记忆定义与职责

层级名称存储内容关键点(检索锚)保真度存储介质生命周期
L1短期记忆 (Short-term)原始对话文本(逐字)完整句子 + 时间戳⭐⭐⭐⭐⭐Redis(带 TTL)72 小时自动过期
L2长期记忆 (Long-term)语义摘要(句意)句子嵌入向量⭐⭐☆向量库 (Chroma/Qdrant)永久存储,按时间衰减
L3模糊记忆 (Fuzzy / Gist)提取的名词实体 (人物/地点/物件/事件)实体标签集合⭐⭐Redis Set / SQLite永久保留,可去重
L4重点记忆 (Flashbulb)结构化三元组 (主-谓-宾 + 时空细节)图节点 + 属性⭐⭐⭐⭐⭐图数据库 (Graphiti)永久固化,不可衰减

心理学对应

  • L1 ≈ 工作记忆
  • L2 ≈ 情景记忆(衰减版)
  • L3 ≈ 语义/模糊痕迹记忆
  • L4 ≈ 闪光灯记忆

🔁 二、记忆写入流程(Write Pipeline)

整个流程分为 实时缓存 → t+1 事件固化 → 多层写入 三个阶段。

graph TD
A[用户输入] --> B[存入短期记忆<br/>(Redis, TTL=72h)]
B --> C{是否触发<br/>“事件边界”?}
C -- 否 --> B
C -- 是 --> D[提取上下文窗口<br/>(最近3~10轮)]
D --> E[t+1 事件分析:<br/>LLM 整合多轮 → 生成事件 + salience_score]
E --> F[存入临时事件池<br/>(带完整上下文,TTL=7天)]
F --> G[记忆晋升器<br/>(每日运行 or 高 salience 触发)]
G --> H{salience + 画像相关性 ≥ 阈值?}
H -- 是 --> I[写入 Graphiti:<br/>结构化三元组 + 元数据]
H -- 否 --> J[生成语义摘要 → 存入向量库<br/>(长期记忆)]
J --> K[提取名词实体 → 更新标签集<br/>(模糊记忆)]

关键机制说明

1. 事件边界检测(触发 t+1)

  • 条件组合:
    • 用户长时间未回复(>5 分钟)
    • 出现结束语(“说完了”、“谢谢”)
    • 话题突变(向量相似度 < 0.3)
    • 每日定时批处理(兜底)

2. t+1 事件分析(LLM Prompt 示例)

你是一个记忆分析师。请阅读以下多轮对话,判断是否包含完整事件。
对每个事件,请输出:
- description: 整合后的事件描述
- salience_score: 0.0~1.0(基于情感、细节、关键词)
- entities: [人物, 地点, 物件]
- time_mentioned: 具体日期或相对时间

对话:
User: 我昨天去医院了。
User: 医生说我需要做阑尾手术。
User: 今天刚做完,还在恢复。

→ 输出:

{
  "description": "用户于昨日确诊需做阑尾手术,并于今日完成手术,目前在恢复中。",
  "salience_score": 0.88,
  "entities": ["医院", "医生", "阑尾手术"],
  "time_mentioned": "昨天至今天"
}

3. 记忆晋升器(画像驱动)

def should_promote(event, profile):
    base = event["salience_score"]
    # 若事件涉及用户核心身份/价值观,加权
    if any(tag in event["entities"] for tag in profile.core_values):
        base += 0.2
    return base >= 0.75  # 可配置阈值

🔍 三、记忆读取流程(Read / Recall)

用户提问时,并行检索四层记忆,按优先级融合:

graph LR
Q[用户查询] --> R1[短期记忆:<br/>精确匹配最近72h]
Q --> R2[重点记忆:<br/>图遍历(最高优先级)]
Q --> R3[长期记忆:<br/>向量相似度 Top-K]
Q --> R4[模糊记忆:<br/>实体关键词匹配]

R2 --> M[Fusion Engine]
R1 --> M
R3 --> M
R4 --> M

M --> LLM[LLM 生成最终回答<br/>(标注信息来源)]

融合策略

  • 优先级:重点 > 短期 > 长期 > 模糊
  • 冲突处理:以重点记忆为准,长期记忆标注“可能已过时”
  • 补充机制:模糊记忆用于联想(如“你还提过杭州、西湖”)

🛠️ 四、技术栈与部署建议

组件推荐工具说明
短期记忆Redis支持 TTL、高性能
长期记忆Mem0 + Qdrant开箱即用的向量记忆管理
模糊记忆Redis Set轻量、支持 SADD/SMEMBERS
重点记忆Graphiti (Zep)唯一支持双时间戳 + salience 属性的开源图记忆框架
事件分析本地 LLM (Qwen3 / Llama3)保护隐私,避免外传对话
调度器Celery + Redis支持定时任务与异步处理

全部组件支持 Docker 部署,可私有化运行


🌟 五、H-Mind 的独特价值

维度传统 RAG / 上下文拼接H-Mind
记忆粒度单一文本块四层差异化表征
事件理解实时、碎片化t+1、完整上下文
个性化用户画像驱动重点记忆
存储效率全量存储仅高价值事件长期保留
可解释性黑盒每条重点记忆可追溯“为何被记住”
隐私安全风险高普通对话自动过期

🚀 六、应用场景

  • 数字伴侣:记住纪念日、偏好、情绪触发点
  • 医疗健康助手:固化过敏史、手术记录(重点),保留饮食习惯(模糊)
  • 教育导师:重点记忆薄弱知识点,模糊记忆学习风格
  • 企业知识管家:重点记忆合同条款,模糊记忆部门协作模式

✅ 总结

H-Mind 不只是一套记忆系统,而是一种“AI 如何像人一样记住重要之事”的方法论。它通过:

  • 分层压缩(从原文到名词)
  • 滞后理解(t+1 事件固化)
  • 画像驱动(个性化重点)
  • 多源融合(四层协同检索)

实现了高保真、低成本、强隐私、深个性的记忆能力。