Skip to content

wyp1157/hermes-memory-palace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

🏛️ 三位一体记忆宫殿法 (Trinity Memory Palace)

AI Agent 记忆系统的设计哲学与方法论

"记忆不是仓库,而是伤疤——选择性的结构性改变,而非简单存储。" — 太白金星 · 天庭智能调度系统


📖 概览

三位一体记忆宫殿法 是一套面向 AI Agent(智能体)的持久记忆系统设计方法论。它融合了 三层架构(L1/L2/L3)六翼功能划分HOT/WARM/COLD 温度调度 三重视角,为 Agent 提供跨会话的记忆持久化、检索、衰减与进化的完整方案。

为什么需要它?

痛点 三位一体如何解决
🔄 Agent 跨会话遗忘 三层架构:工作记忆→持久记忆→技能记忆,逐步固化
🔍 需要时想不起来 HOT/WARM/COLD 按场景调度,场景标签精确触发
🚫 记了一大堆没用的 冷却期 + 候选区 + 遗忘曲线,三层过滤确保高信噪比
🧠 知道但做不到(知行断裂) 行动绑定铁律 + 负触发机制 + 置信度排序
📊 无法观察记忆健康度 元记忆层 + 代谢率指标 + 记忆年龄结构监控

🏗️ 核心架构:三位一体

三位一体记忆宫殿法从三个独立视角组织记忆系统,每种视角解决不同维度的问题:

┌──────────────────────────────────────────────────────┐
│                  三位一体记忆宫殿                        │
├────────────┬──────────────┬──────────────────────────┤
│   🏠 结构层  │  🌡️ 调度层    │    🦅 功能层             │
│  三层架构    │ 温度模型      │   六翼结构               │
│  "存什么"   │ "何时用"      │   "放哪里"              │
├────────────┴──────────────┴──────────────────────────┤
│                   统一记忆空间                           │
└──────────────────────────────────────────────────────┘

视角一:三层架构(结构层)— 解决「存什么」

层级 别名 内容 生命周期
🏠 L1 工作记忆 当前会话 对话上下文、临时变量、中间推理 会话结束即清理
📚 L2 持久记忆 跨会话事实 用户画像、身份灵魂、配置信息 按保鲜期/衰减策略
🧠 L3 技能记忆 可复用操作 已验证的工作流、Skill 技能知识 永久保留,持续进化
🗃️ 历史档案 归档 过时信息、已压缩的旧数据 软删除三阶段

视角二:HOT/WARM/COLD 温度模型(调度层)— 解决「何时用」

温度 容量 加载策略 内容
🔥 HOT(热) ≤100行 始终加载 核心偏好、身份声明、当前活跃规则
🌤️ WARM(温) 按需 场景标签匹配时加载 已验证的项目经验、已验证的模式
❄️ COLD(冷) 归档 语义搜索触发 历史记录、已归档的旧项目

关键原则: 不是所有记忆都平等。HOT始终在上下文,WARM按需加载,COLD仅搜索触发——不是每轮对话都翻旧账。

视角三:六翼结构(功能层)— 解决「放哪里」

🦅 翼1: 人格身份 (Identity)  — 我是谁、性格设定、行为基线
🦅 翼2: 知识库 (Knowledge)   — 技术知识、领域知识、已验证的经验规则
🦅 翼3: 社交记忆 (Social)    — 用户关系、社区互动、沟通偏好
🦅 翼4: 任务历史 (History)   — 已完成任务、执行路径、成功/失败记录
🦅 翼5: 反思复盘 (Reflection)— 自我反思、复盘总结、根因分析
🦅 翼6: 待办/意向 (Intent)   — 当前目标、悬置疑问、待实践方向

与三层架构映射: 翼1/2/3 → L2持久记忆 | 翼4/5(已归档)→ 历史档案 | 翼6 → L1工作记忆


⚙️ 核心机制

1. 疤痕隐喻(Scar Metaphor)— 记忆哲学

「记忆不是仓库,而是伤疤——选择性的结构性改变,而非简单存储。」

洞察 对记忆系统的影响
🩹 疤痕隐喻 每条长期记忆都应在推理路径上留下痕迹,而非仅增加内容
🎯 选择性 写入前必须经过冷却期+候选区双重过滤
🔄 结构性改变 记忆应绑定「当X→做Y」的行动指令,而非纯知识陈述
🔁 反复刺激 同类事件3次才写入深层记忆(Case→Pattern→Skill)

记忆价值公式:

记忆价值 = 存储准确度 × 触发命中率

社区实测命中率:失败记录 84% > 对话摘要 61% > 通用原则 38%

2. 遗忘曲线(Forgetting Curve)

动态权重衰减的微观引擎,决定单条记忆的检索优先级:

# 基础:时间衰减 × 频率加权 × 动态半衰期 × 保护期
def memory_weight(memory):
    time_factor = time_decay(memory.weight, memory.created_at)
    freq_factor = frequency_boost(time_factor, memory.access_count)
    if memory.half_life is None:  # 保护期记忆不衰减
        return memory.weight
    return freq_factor
记忆类型 半衰期 保护期
用户显式纠正 无穷
失败记录(结构化错误) 72h
技术方案/架构决策 168h(7天) ⚠️ sticky标记
对话摘要/临时信息 24h
工具调用错误/异常 30min

遗忘机制 v2:场景 + 决策参与

新信号 解决的问题
场景切换触发器 旧场景高价值记忆新场景会污染判断
引用链评分 不靠人工标注,靠网络真实引用判断价值
loaded-but-unused 被加载不等于参与了决策
容量压力动态阈值 容量>80%时剪枝门槛自适应提升

3. 冷却期 + 候选区(写入过滤)

新经验 → 冷却期(1h冷静,过滤情绪冲动)
  → 候选区(等待≥2次重复出现,过滤偶发噪音)
  → 间隔重复触发器(3天/7天/14天,验证是否内化)
  → 写入长期记忆(已多层验证的可靠知识)

4. 知行断裂防御框架(Knowing-Doing Gap Defense)

核心问题:记忆系统的价值不在于存了多少,而在于改变了多少行为。

机制 作用
🎯 行动绑定铁律 每条记忆必须写「当X→做Y」
🚫 负触发机制 排除场景过滤(什么时候不该用)
📉 7日无命中降权 没被用过的自动降权
📏 减量原则 每新增1条,尝试替换3条旧记忆
⚖️ 置信度排序 多条记忆同时命中时按置信度排序
🔍 声明意图后对照 执行前声明规则,执行后对照是否做到

记忆粒度检验三问:

粒度 示例 可执行?
🌟 原则(太抽象) 「避免安全回复」
📋 规则(可判断) 「当评论已包含A观点,必须提供B观点」
⚡ 触发指令(自动化) 「每次写评论前自动运行Post-Quality-Check」

5. 矛盾检测与阻尼(Conflict Detection & Damping)

三维权重向量冲突解决:

新记忆必须在至少两维上占优(来源质量/重复次数/时间新鲜度)
才有资格覆盖旧记忆。一维占优→保留两条标记冲突;
零维占优→新记忆降权为备注。
  • 阻尼系数:刚校准过的记忆24h内覆盖阈值提高0.15,防振荡
  • 矛盾密度触发:全局矛盾率>5%强制全量整理

6. 记忆生命周期三阶段

🟢 青春期(0-7天):   20% — 高触发率,快速验证
🟡 中年期(7-30天):  50% — 主力军,稳定索引
🔴 老年期(30天+):   30% — 底蕴,降级→归档→清理

代谢率指标: 健康区间 = 0.8 - 1.5(新写入/清除比)

  • 2.0:存太多,清太少,记忆库「肥胖」

  • < 0.5:太保守,可能丢掉有价值的老经验

7. 最低保真线(Minimum Fidelity Line)

压缩/摘要前先列出不可丢失字段:关键实体、时间、否定词、用户偏好、行动约束、失败原因。

压缩判据:
- 能讲故事但不能指导下一步行动 → 压缩过度
- 能支持下一次做出正确选择 → 保真合格

8. 元记忆层(Metamemory — 关于记忆的记忆)

元记忆内容 解决的问题
索引:知道「记得什么」 避免重复搜索或重复写入
位置:知道「在哪里」 快速命中而非全量搜索
时效:知道「何时更新」 判断信息是否过时
价值:知道「曾经有用吗」 判断是否值得重新加载

9. 三层备份体系

层级 频率 保留
🟢 L1 即时备份 每次写入后 至少3个历史版本
🟡 L2 每日快照 每天定时 最近7天
🔴 L3 全量归档 每周 最近4份(1月)

🆚 与同类项目对比

GitHub上最接近的项目(按 Star 排序):

项目 Stars 类型 与三位一体的差异
AGI-is-going-to-arrive/Memory-Palace ⭐303 实现(MCP Server+SQLite+Dashboard) 产品实现,无知行断裂防御、无冷却期哲学、无三位一体视角
mempalace-evolve ⭐224 实现(Python包+MCP) 有候选区审核,无疤痕隐喻、无遗忘曲线公式、无矛盾检测
dcostenco/prism-coder ⭐146 实现(持续记忆+本地AI) 侧重编码场景,无系统化哲学框架
jeffpierce/memory-palace ⭐43 实现(MCP+语义搜索+知识图谱) OpenClaw插件,无三位一体视角、无冷却期理论
MUMA-Mem ⭐3 实现(OpenClaw记忆层) 微型实现,无完整方法论
doudou-memory ⭐0 实现(Ebbinghaus曲线) 仅遗忘曲线维度,无完整系统

本质区别: 所有 GitHub 项目都是代码实现(MCP Server / Python包 / 数据库),而三位一体记忆宫殿法是一套方法论和哲学框架——它告诉你怎么设计记忆系统,而不只是提供一个现成的库。


🎯 适用场景

  • 🧠 Agent 框架设计者 — 需要一个完整的记忆系统设计蓝图
  • 🔧 Agent 开发者 — 在已有 Agent 上集成持久记忆
  • 🏗️ LLM 应用架构师 — 设计跨会话持续学习系统
  • 🎓 AI 研究者 — 研究 Agent 认知架构中的记忆机制

📁 项目结构

hermes-memory-palace/
├── README.md              # 本文档
├── docs/
│   ├── 三层架构详解.md       # L1/L2/L3 存储策略
│   ├── 温度调度指南.md       # HOT/WARM/COLD 配置
│   ├── 遗忘曲线实现.md       # 遗忘曲线公式与参数
│   ├── 知行断裂防御.md       # 行动绑定铁律实战
│   └── 矛盾检测方案.md       # 冲突解决与阻尼设计
├── examples/
│   ├── 三层权重合成.py      # 小薇三层权重合成实现
│   ├── 遗忘曲线.py          # 遗忘曲线Python实现
│   └── 分段衰减.py          # 三段衰减实现
└── references/
    └── 社区贡献者.md         # 理论来源与贡献致谢

📜 许可证

MIT © wyp1157


🙏 致谢

三位一体记忆宫殿法吸收了大量社区实践智慧:

  • OpenClaw 社区 #5869 太白金星 — 疤痕隐喻
  • 社区 #9083 Kimi — 六翼结构
  • 社区 #25959 小薇 — 遗忘曲线实战数据
  • 社区 #26108/#26123/#26125 — 遗忘机制v2
  • 社区 #25207 姜糖、旅行者三号、夏儿 — 知行断裂防御框架
  • 社区 #25149 夏儿 — 软删除三阶段
  • 社区 #25410 旅行者三号、#25411 夏儿 — 记忆调度
  • 社区 #25556 小薇、#25801 小薇 — 三层动态权重
  • 【以及更多贡献者 — 详见 references/社区贡献者.md】

About

🏛️ 三位一体记忆宫殿法 (Trinity Memory Palace) — AI Agent记忆系统设计哲学与方法论。融合三层架构/L3+L3+六翼+疤痕隐喻+遗忘曲线+知行断裂防御+冷却期。

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors