Hermes Agent 三级 Memory 架构解析(One掌柜视角)¶
Ch06.034 Hermes Agent 三级 Memory 架构解析(One掌柜视角)¶
📊 Level ⭐⭐ | 5.3KB |
entities/hermes-agent-three-layer-memory-one.md
与 VibeCoder 版本的关系¶
本文与 VibeCoder 的《Hermes Agent Memory System 架构解析》是同一源码的独立分析,但切入角度不同:
- VibeCoder 版本侧重框架源码结构和 MCP Tool 机制
- 本文(One掌柜)侧重架构分层设计和 memory 流转逻辑
三层架构¶
| 层次 | 名称 | 载体 | 访问方式 | 特点 |
|---|---|---|---|---|
| Layer 1 | Markdown Memory | MEMORY.md (~2200字) + USER.md (~1375字) | 每轮 system prompt | frozen mid-session,80% consolidation |
| Layer 2 | 历史检索层 | SQLite + FTS5 | session_search(query) | 10ms 检索万级 docs,Gemini Flash 总结 |
| Layer 3 | Semantic Provider | 外部可插拔 provider | PREFETCH/SYNC/EXTRACT | Opt-in,多 provider 支持 |
| 额外 | Periodic Nudge | — | 每 300s | autonomous curation,什么值得写回 memory |
关键设计洞察¶
Mid-session frozen:本轮 memory 变更不立即打乱 prefix cache,下轮才注入。说明 Hermes 在平衡:记忆写入 vs prompt 稳定性 vs prefix cache 成本。
Tier 1+2 独立于 Tier 3:就算切换 semantic provider,Layer 1 和 Layer 2 的能力不受影响,Tier 3 是可选项。
Autonomous curation:不是等用户手动喂记忆,而是系统周期性判断"什么值得留下"——Periodic Nudge 是主动式 memory 管理机制。
相关框架对比¶
| 框架 | Memory 方案 | 特点 |
|---|---|---|
| Hermes | 三层(Markdown + SQLite FTS5 + Semantic Provider) | 可控、成本低、可插拔 |
| OpenClaw | 单层 RAG | 外部检索为主 |
| Cursor | Context 自动压缩 | 基于上下文窗口管理 |
| > 来源:One掌柜 |
深度分析¶
三层 Memory 架构的设计哲学:Hermes 采用"成本优先、分层解耦"的架构思路。Layer 1 用纯文本 Markdown 做 system prompt 载体,利用 prefix cache 降低每次推理的 token 成本;Layer 2 用 SQLite FTS5 做结构化检索,10ms 级别响应万级文档;Layer 3 可插拔设计确保不绑定任何特定 semantic provider。这种分层使得每一层都可以独立演进和替换——当你需要升级 semantic memory 能力时,不需要重构整个 memory 系统。
Mid-session Frozen 的工程权衡:本轮 memory 变更"下轮才生效"这个设计细节实际上是在刻意回避 prefix cache 失效问题。如果每次 memory 写入都立即反映到 system prompt,prefix cache 命中率会大幅下降,推理成本陡升。Hermes 选择容忍"本轮略微陈旧"来换取整体系统效率,这是一种典型的工程妥协——不是完美主义,但足够实用。
Autonomous Curation 的主动管理思路:传统 RAG 系统是被动等待检索,而 Periodic Nudge 每 300s 主动判断"什么值得写回 memory"。这相当于给 LLM 增加了一个定期反思机制——不是用户指挥 AI 记住什么,而是 AI 自己决定什么值得沉淀。这个思路在 Hyperbolic Lab 等项目中也有类似实践,但 Hermes 将其做成了周期性后台任务而非实时拦截。
实践启示¶
- 个人使用场景下,Layer 1+2 足够:如果你用 Hermes 处理日常任务,Layer 1 的 MEMORY.md + USER.md 加上 Layer 2 的 SQLite FTS5 检索已经能覆盖 90% 的记忆需求。Layer 3 的 semantic provider 是锦上添花,不必强求。
- 利用 Periodic Nudge 优化 Memory 质量:不要让 memory 变成垃圾堆。每隔一段时间(比如每天)检查一次 Nudge 写回的内容,确保 MEMORY.md 保持精炼、不过时。Memory drift 是长期使用的大敌。
- 分离"研究与执行"Agent 是高效策略:vmiss 的四 Agent 配置中,研究 Agent 和执行 Agent 分离——研究 Agent 负责学习、总结,执行 Agent 负责技能构建。这种分工避免了"一个 Agent 什么都在做但什么都做不深"的问题。
- 本地模型 + 云端模型混合使用可行:vmiss 用 RTX 4070 8GB 跑 Qwen 3.5 9B 量化模型处理健康咨询类任务,效果"最让人惊讶"。这说明对于特定垂直场景,本地小模型已经足够好用,而且零 API 成本。
相关实体¶
- Agent Memory System 设计指南
- AI Agent 记忆系统架构
- Hermes Agent 记忆系统深度拆解
-
[[entities/hermes-agent-three-layer-memory-architecture-one]
- [[queries/hermes-agent-core-architecture-self-evolution]