hermes - 💡(How to fix) Fix [Discussion] 心智孪生体:五层递进蒸馏记忆架构 — 从第一性原理思考 Hermes Memory 的进化

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Code Example

需求 1: 精确回忆    →  "我上次说的是 Python 还是 Go?"
需求 2: 模式识别    →  "我反复提到'先讨论再执行',这是一种决策模式"
需求 3: 自我一致    →  "我今天说的不能和三个月前说的矛盾"

---

conversation → agent 判断重要 → memory.add("一行文本") → inject to system prompt

---

100 条 memory → ~3000 tokens → 挤占上下文 → agent 决策质量下降
100 条中真正有价值的是:
  - 5 条核心认知(Lin 是谁)
  - 20 条偏好约定(说话风格、执行节奏)
  - 75 条状态信息(上一次在做什么、当前项目是什么)

---

L0  原始数据          对话逐字存储 (JSON 文件系统)
L1  索引层            FTS5 全文 + ChromaDB 语义 + 时间检索
L2  洞察提炼           AI 提取 → 置信度标签 (EXTRACTED/INFERRED/AMBIGUOUS)
    │                  → 惊喜度评分 → 人工审核队列 (三选一)
L3  跨域融合           Leiden 社区检测 → 知识图谱 → 矛盾检测 → 缺口分析
L4  核心身份           人工锁定,永不自动修改

---

EXTRACTED  →  直接从对话中提取的事实     →  已知领域不能犯错
INFERREDAI 基于数据的合理推断        →  需要人工审核
AMBIGUOUS  →  信号矛盾或模糊               →  高优先级审核

---

两条已确认洞察:
  "Lin 偏好 Go 作为新项目语言" (EXTRACTED, 2024)
  "Lin 最终选择 Python"         (EXTRACTED, 2026)
L3 自动标记为 temporal 矛盾 → 生成裁决请求 → 用户确认后旧洞察降级

---

L4 核心身份:
  "Lin 是产品经理思维——定义愿景和边界,AI 负责技术实现"
  🔒 人工锁定,永不自动修改
  L2 提取洞察时会将此作为上下文锚点
  任何与 L4 冲突的推断 → 自动标记为"反直觉"

---

五维模型:
  1. 置信度反转 (AMBIGUOUS 的反而更惊喜)
  2. 跨域连接 (代码偏好的洞察 ↔ 生活决策的洞察)
  3. 跨时间段 (跨越 >30 天的关联)
  4. 反直觉 (L4 信念冲突)
  5. 边缘到核心 (低频概念连接到高频概念)

---

当前(v0.14.0:
  memory 工具 → 单层键值存储 → 注入 prompt

Phase 1 — 结构化:
  给 memory 增加层级概念:
    core_memory    (不可自动修改,类似 L4)
    insight_memory (AI 提取 + 人工审核,类似 L2)
    state_memory   (会话状态,可自动过期)

Phase 2 — 蒸馏:
  memory 从"累加"变为"提炼"
  100 条 raw memory → agent 蒸馏 → 10 条 insight
  insight 注入 prompt,raw memory 仅保留最近 N
Phase 3 — 自我纠错:
  内置矛盾检测
  时间轴感知("2024 年 vs 2026 年"  过时记忆自动降级

Phase 4 — 认知图谱:
  跨域关联(从"Lin 喜欢 Python""Lin 先讨论再执行"
             推断出"Lin 偏好深思熟虑的技术决策"
---

# 当前
memory:
  - "Lin 偏好先讨论架构"

# 建议
memory:
  - content: "Lin 偏好先讨论架构再执行"
    layer: insight      # core | insight | state
    confidence: 0.8     # 0.0-1.0
    evidence: [session_abc123]  # 可追溯
    reviewed: true      # 人工确认过

---

system prompt 构建:
  ┌─ L4 核心身份 (core)
  ├─ top 10 insights (insight)  
  ├─ 最近 20state (state)
  └─ 工具配置、技能等

---

L0-L4 代码     ~2500Python
测试           80 passed
Hermes skill   ~/.hermes/skills/mind-twin/SKILL.md

---

Hermes session 导入 → L0 (3204)
L1 索引
L2 提取 12 条洞察 (3 EXTRACTED + 2 INFERRED → 人工审核确认)
L3 融合为 2 个社区
L4 身份锁定为 "精确"
RAW_BUFFERClick to expand / collapse

心智孪生体:从 Hermes Memory 到五层递进蒸馏架构 —— 第一性原理分析与迭代建议

TL;DR

用 Hermes Agent 从零构建了一个运行在 DeepSeek V4 上的五层记忆系统(L0→L4),80 测试通过,已闭环运行。本文从第一性原理出发,分析当前 Hermes memory 的本质局限,提出基于分层蒸馏的进化路线。


一、第一性原理:AI Agent 的记忆是什么?

回到本质,问一个问题:

如果 Agent 没有 memory,它是什么? 一个无状态的函数:input → output。每次对话都是第一次见你。

如果 Agent 有 memory,它应该做到什么? 不是"记住你说过什么",而是"理解你是谁"。

从这个第一性原理出发,记忆系统有三个本征需求:

需求 1: 精确回忆    →  "我上次说的是 Python 还是 Go?"
需求 2: 模式识别    →  "我反复提到'先讨论再执行',这是一种决策模式"
需求 3: 自我一致    →  "我今天说的不能和三个月前说的矛盾"

当前 Hermes memory 工具解决了需求 1,没有解决需求 2 和 3。


二、当前 Hermes Memory 的架构局限

2.1 模型:单层扁平存储

conversation → agent 判断重要 → memory.add("一行文本") → inject to system prompt

问题 A:无结构。 "Lin 的家庭成员" 和 "Lin 喜欢 Python" 存在同一个空间,没有任何层级。

问题 B:无提炼。 100 条记忆注入 100 条,而不是把 100 条提炼成 5 个核心认知。

问题 C:无矛盾检测。 "Lin 偏好 Go" 和 "Lin 转向 Python" 同时存在,没有机制识别这是时间演化还是矛盾。

问题 D:无身份层。 所有记忆权重相等,没有一个"宪法级"的核心认知。

2.2 实证:100 条记忆的困境

100 条 memory → ~3000 tokens → 挤占上下文 → agent 决策质量下降
但 100 条中真正有价值的是:
  - 5 条核心认知(Lin 是谁)
  - 20 条偏好约定(说话风格、执行节奏)
  - 75 条状态信息(上一次在做什么、当前项目是什么)

前两类是长期价值,第三类会过时。但没有机制区分它们。


三、心智孪生体:五层递进蒸馏架构

3.1 架构

L0  原始数据          对话逐字存储 (JSON 文件系统)
L1  索引层            FTS5 全文 + ChromaDB 语义 + 时间检索
L2  洞察提炼           AI 提取 → 置信度标签 (EXTRACTED/INFERRED/AMBIGUOUS)
    │                  → 惊喜度评分 → 人工审核队列 (三选一)
L3  跨域融合           Leiden 社区检测 → 知识图谱 → 矛盾检测 → 缺口分析
L4  核心身份           人工锁定,永不自动修改

3.2 核心创新点

创新 1:置信度标签

EXTRACTED  →  直接从对话中提取的事实     →  已知领域不能犯错
INFERRED   →  AI 基于数据的合理推断        →  需要人工审核
AMBIGUOUS  →  信号矛盾或模糊               →  高优先级审核

每条洞察标明了它是"知道"还是"猜测",解决了 AI 自信过度的问题。

创新 2:矛盾检测

两条已确认洞察:
  "Lin 偏好 Go 作为新项目语言" (EXTRACTED, 2024年)
  "Lin 最终选择 Python"         (EXTRACTED, 2026年)
→ L3 自动标记为 temporal 矛盾 → 生成裁决请求 → 用户确认后旧洞察降级

创新 3:L4 人工锁定

L4 核心身份:
  "Lin 是产品经理思维——定义愿景和边界,AI 负责技术实现"
  🔒 人工锁定,永不自动修改
  L2 提取洞察时会将此作为上下文锚点
  任何与 L4 冲突的推断 → 自动标记为"反直觉"

创新 4:惊喜度评分(借鉴 graphify)

五维模型:
  1. 置信度反转 (AMBIGUOUS 的反而更惊喜)
  2. 跨域连接 (代码偏好的洞察 ↔ 生活决策的洞察)
  3. 跨时间段 (跨越 >30 天的关联)
  4. 反直觉 (与 L4 信念冲突)
  5. 边缘到核心 (低频概念连接到高频概念)

3.3 技术实现

  • 语言: Python 3.11
  • 存储: JSON 文件系统 (L0) + SQLite FTS5 (L1) + ChromaDB (L1)
  • 图算法: NetworkX + Louvain/Leiden 社区检测
  • LLM: DeepSeek V4 via Hermes Agent(不调用外部 API)
  • 集成: Hermes Skill (/mind-twin extract/review/fuse/status)
  • 测试: 80 passed,覆盖全部层次

四、对 Hermes 未来迭代的启示

4.1 从第一性原理看 Hermes memory 的进化路径

当前(v0.14.0):
  memory 工具 → 单层键值存储 → 注入 prompt

Phase 1 — 结构化:
  给 memory 增加层级概念:
    core_memory    (不可自动修改,类似 L4)
    insight_memory (AI 提取 + 人工审核,类似 L2)
    state_memory   (会话状态,可自动过期)

Phase 2 — 蒸馏:
  memory 从"累加"变为"提炼"
  100 条 raw memory → agent 蒸馏 → 10 条 insight
  insight 注入 prompt,raw memory 仅保留最近 N 天

Phase 3 — 自我纠错:
  内置矛盾检测
  时间轴感知("2024 年 vs 2026 年")
  过时记忆自动降级

Phase 4 — 认知图谱:
  跨域关联(从"Lin 喜欢 Python"和"Lin 先讨论再执行"
             推断出"Lin 偏好深思熟虑的技术决策")

4.2 具体建议

建议 1:memory 增加 confidencelayer 字段

# 当前
memory:
  - "Lin 偏好先讨论架构"

# 建议
memory:
  - content: "Lin 偏好先讨论架构再执行"
    layer: insight      # core | insight | state
    confidence: 0.8     # 0.0-1.0
    evidence: [session_abc123]  # 可追溯
    reviewed: true      # 人工确认过

建议 2:内置记忆蒸馏

现有 memory 工具超过阈值(如 50 条)时,Agent 自动运行一次蒸馏:将多条相关记忆合并为一条 insight,原始记忆归档。

建议 3:矛盾检测作为 memory 的内置能力

两个 memory 条目如果存在潜在矛盾 → 在注入 prompt 时标记 → Agent 可以主动询问用户。

建议 4:Layer-based memory injection

system prompt 构建:
  ┌─ L4 核心身份 (core)
  ├─ top 10 insights (insight)  
  ├─ 最近 20 条 state (state)
  └─ 工具配置、技能等

而不是现在把所有 memory 平铺进去。


五、代码与验证

完整项目:/home/wangxi/projects/ai-mind-twin/

L0-L4 代码     ~2500 行 Python
测试           80 passed
Hermes skill   ~/.hermes/skills/mind-twin/SKILL.md

已用真实 Hermes 会话跑通完整闭环:

Hermes session 导入 → L0 (3204 条)
→ L1 索引
→ L2 提取 12 条洞察 (3 EXTRACTED + 2 INFERRED → 人工审核确认)
→ L3 融合为 2 个社区
→ L4 身份锁定为 "精确"

六、相关讨论

  • 本项目的架构讨论此前发在 Issue #19546(Memory Architecture Enhancement)
  • MemPalace (52K star) 验证了"逐字存储 + 语义检索"路线的可行性(LongMemEval R@5 = 96.6%)
  • graphify (48K star) 验证了"预结构化知识→71倍 token 压缩"的价值
  • 两者均未涉及人工审核和身份锁定——这是心智孪生体的独特创新

七、总结

Hermes Agent 的 memory 系统是从 0 到 1 的突破——让 Agent 有了"记忆"。

心智孪生体是从 1 到 N 的实验——探索记忆如何从"记事本"进化为"认知系统"。

核心命题:Agent 的记忆不应该只是存储你说过什么,而应该帮助你理解你是谁。

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING