Hermes Agent 记忆系统

记忆让 Hermes "记得你"。它不会每次对话都失忆,而是跨会话延续偏好、项目与经验。本章拆解其三层记忆设计。


为什么需要记忆?

普通聊天机器人每开一个会话都从零开始,你得反复交代背景。Hermes 通过持久记忆解决这个痛点:

无记忆助手:每次都问"你是谁、在做什么项目?"
Hermes:    "继续上周那个 notes 项目吧,你说过偏好用 bullet 列表。"

三层记忆模型

从认知角度,Hermes 的记忆分为三类:

类型英文内容示例
情景记忆Episodic具体事件与对话"上周二你说想减少开会时间"
语义记忆Semantic一般性事实与偏好"你偏好用要点而非长段落"
工作记忆Working当前任务的活动上下文本次会话正在处理的内容

为避免把所有内容塞进每个提示,Hermes 采用 RAG(检索增强生成):按当前需要动态检索相关记忆注入上下文。


落地为三个文件

在存储层面,记忆与人设落在 ~/.hermes/ 下三个清晰分离的文件:

文件角色内容
SOUL.md灵魂 / 人设人格、价值观、沟通风格、行为约束
MEMORY.md长期记忆学到的事实、模式、过程性知识
USER.md用户画像你的偏好、背景、交互历史
SOUL.md   →  "我是谁"(智能体的性格)
MEMORY.md →  "我学到了什么"(经验)
USER.md   →  "我对你的了解"(关于你)

这种分离意味着你可以单独调整任意一层:换人设不丢记忆,清理记忆不动人设。


检索与召回机制

  • FTS5 全文检索:跨所有会话快速搜索历史
  • LLM 摘要:对长历史做摘要,实现跨会话召回
  • 定期提示(nudges):周期性提醒,促使重要知识被保存下来
  • Honcho 辩证式用户建模:更细致地刻画用户画像
新消息 → 检索相关记忆(FTS5/RAG)→ 注入上下文 → 模型作答 →(必要时)写回 MEMORY/USER

SOUL.md:定义"灵魂"

SOUL 是一份结构化文档,定义智能体的:

  • 名称、人设、沟通风格
  • 核心价值观与优先级
  • 如何处理歧义与分歧
  • 行为约束(不该做什么)
  • 情境化行为(专业 vs 轻松)

通过编辑 SOUL.md(或用 /personality 切换人设),你可以塑造一个真正符合自己习惯的助手。


自我进化与记忆校准

记忆不是只增不减的垃圾堆。Hermes 会在四个层面持续优化:

  • 用户层:从反馈中识别模式,适配你的习惯
  • 技能层:打磨更可靠的执行路径
  • 记忆策展:提升信噪比,沉淀有用、淘汰噪声
  • 灵魂校准:必要时更新 SOUL 配置

实践建议

  • 主动告诉 Hermes 你的长期偏好,它会写进 USER/MEMORY
  • 定期检视 MEMORY.md,手动清理过时或错误的记忆
  • ~/.hermes/版本备份,迁移到新机器时直接拷贝
  • 人设需要调整时改 SOUL.md,不要把人设混进 MEMORY

下一步