Hermes Agent 记忆系统
记忆让 Hermes "记得你"。它不会每次对话都失忆,而是跨会话延续偏好、项目与经验。本章拆解其三层记忆设计。
为什么需要记忆?
普通聊天机器人每开一个会话都从零开始,你得反复交代背景。Hermes 通过持久记忆解决这个痛点:
三层记忆模型
从认知角度,Hermes 的记忆分为三类:
为避免把所有内容塞进每个提示,Hermes 采用 RAG(检索增强生成):按当前需要动态检索相关记忆注入上下文。
落地为三个文件
在存储层面,记忆与人设落在 ~/.hermes/ 下三个清晰分离的文件:
这种分离意味着你可以单独调整任意一层:换人设不丢记忆,清理记忆不动人设。
检索与召回机制
- FTS5 全文检索:跨所有会话快速搜索历史
- LLM 摘要:对长历史做摘要,实现跨会话召回
- 定期提示(nudges):周期性提醒,促使重要知识被保存下来
- Honcho 辩证式用户建模:更细致地刻画用户画像
SOUL.md:定义"灵魂"
SOUL 是一份结构化文档,定义智能体的:
- 名称、人设、沟通风格
- 核心价值观与优先级
- 如何处理歧义与分歧
- 行为约束(不该做什么)
- 情境化行为(专业 vs 轻松)
通过编辑 SOUL.md(或用 /personality 切换人设),你可以塑造一个真正符合自己习惯的助手。
自我进化与记忆校准
记忆不是只增不减的垃圾堆。Hermes 会在四个层面持续优化:
- 用户层:从反馈中识别模式,适配你的习惯
- 技能层:打磨更可靠的执行路径
- 记忆策展:提升信噪比,沉淀有用、淘汰噪声
- 灵魂校准:必要时更新 SOUL 配置
实践建议
- 主动告诉 Hermes 你的长期偏好,它会写进 USER/MEMORY
- 定期检视
MEMORY.md,手动清理过时或错误的记忆 - 用
~/.hermes/做版本备份,迁移到新机器时直接拷贝 - 人设需要调整时改 SOUL.md,不要把人设混进 MEMORY