Files
val-blog/hermes_insights.md
T

7.6 KiB
Raw Blame History

Hermes Agent 优秀做法分析与融入方案

基于《Hermes Agent The Complete Guide》的学习总结 分析时间: 2026-04-16


一、Hermes 核心创新点

1. Learning Loop(学习闭环)- 最核心的差异

Hermes 做法:

Curate Memory → Create Skill → Skill Self-Improvement → FTS5 Recall → User Modeling
  • 每次任务后自动回顾:不是被动存储,而是主动决定"什么值得记住"
  • 自动提炼 Skill:完成复杂任务后,自动判断是否值得保存为 Skill
  • Skill 自我改进:每次使用 Skill 后,根据反馈自动修改 Skill 文件
  • FTS5 全文检索:精准召回,只加载相关内容到上下文
  • 用户建模(Honcho:12 层身份推断,从行为模式推导用户偏好

关键区别:

  • 传统 AI:记忆是对话日志的累积(录像带,越来越长直到溢出)
  • Hermes:记忆是经验的提炼(笔记本,可以无限使用)

2. 三层记忆系统

层级 用途 存储
Session Memory 记住"刚才发生了什么" SQLite + FTS5
Persistent Memory 记住"你是谁、你喜欢什么" SQLite + FTS5
Skill Memory 记住"如何做事" Markdown 文件

关键设计:

  • 按需检索,而不是全部加载
  • 纯本地存储(SQLite),不上传服务器
  • 迁移时只需复制 ~/.hermes/ 目录

3. Skill 自进化系统

Skill 文件结构:

  • 纯 Markdown 格式
  • 存储在 ~/.hermes/skills/
  • 三个来源:自带、Agent 自动创建、社区 Hub

自进化机制:

  1. 首次创建:完成任务后自动提炼
  2. 使用反馈:用户说"这里应该检查表是否存在"
  3. 自动更新:Skill 文件被修改,下次默认包含该检查

4. Harness Engineering 自动化

Mitchell Hashimoto 的手动方式:

  • 发现 AI 犯错 → 手动写入 CLAUDE.md → 下次遵循
  • 需要人有耐心持续维护

Hermes 的自动化方式:

  • 发现错误 → 自动提取规则 → 写入 Skill → 下次自动应用
  • 门槛降到零,不需要用户手动维护

二、可融入 OpenClaw/Val 的优秀做法

立即可融入的做法

1. 自动 Skill 提炼与改进机制

现状: OpenClaw 的 Skills 主要是手动编写和维护(ClawHub 5700+ 社区 Skills

融入方案:

任务完成后 → Val 分析过程 → 判断是否值得提炼 Skill → 自动生成/更新 Skill 文件

具体实现:

  • workspace/skills/ 下增加 auto/ 目录存放自动生成的 Skills
  • 每次复杂任务后,spawn Catalyst 分析是否可以提炼 Skill
  • 用户反馈"下次记得..."时,自动更新对应 Skill

与现有系统的结合:

  • 复用现有的 Skill 格式(SKILL.md
  • 自动 Skills 与手动 Skills 共存
  • 用户可以随时编辑、删除自动生成的 Skills

2. FTS5 全文索引的记忆召回

现状: OpenClaw 使用语义搜索(gemini-embedding+ 记忆文件

融入方案:

  • 在 SQLite 中增加 FTS5 索引
  • 会话前基于当前主题搜索相关记忆
  • 精准召回 vs 语义召回结合使用

优势:

  • 更精准的召回(避免语义漂移)
  • 纯本地,保护隐私
  • 可解释性强(能看到为什么召回这段记忆)

3. 主动记忆策展(Active Memory Curation

现状: OpenClaw 被动依赖用户写 memory 文件

融入方案:

# 每次会话结束后
if 任务复杂度 > 阈值:
    spawn subagent "分析本次会话,提取值得长期记住的内容"
    生成 memory 条目
    写入 memory/YYYY-MM-DD.md  MEMORY.md

触发条件:

  • 复杂任务完成
  • 用户明确说"记住这个"
  • 周期性回顾(heartbeat

4. 用户建模(轻量级)

现状: 基于 SOUL.md / USER.md 的显式配置

融入方案:

轻量级用户建模(不依赖 Honcho):
- 从 MEMORY.md 中提取用户偏好模式
- 从代码修改习惯推断风格
- 周期性更新 USER.md

输出形式:

  • 更新 USER.md 的 "Notes" 部分
  • 生成 inferred_preferences.json

5. Skill 使用反馈闭环

现状: Skills 是静态的,除非手动更新

融入方案:

使用 Skill → 任务完成 → 询问/分析效果 → 更新 Skill

具体做法:

  • 任务完成后:"这个 Skill 的效果如何?"
  • 用户反馈:"应该把 X 也加进去"
  • 自动编辑 Skill 文件

🔄 需要权衡的做法

6. 三层记忆架构

现状对比:

OpenClaw 当前 Hermes 三层
Daily Logs (session) Session Memory
MEMORY.md (curated) Persistent Memory
Skills (manual) Skill Memory (auto)

融入建议:

  • 不完全照搬,保持 OpenClaw 的文件化哲学
  • 增加 memory/session/ 目录存放原始会话记录
  • 保留 MEMORY.md 作为 curated 精华
  • 增加 Skills 的自动生成能力

7. Learning Loop 自动化程度

Hermes 全自动,用户完全不用管 OpenClaw 全手动,用户自己维护

建议中间路线:

检测到可提炼内容 → 询问用户 "是否要保存为 Skill?" → 用户确认 → 生成

原因:

  • 谷老板偏好可控性(USER.md 中强调)
  • 全自动可能产生垃圾 Skills
  • 确认机制保持用户掌控

⚠️ 不建议照搬的做法

8. 24/7 常驻后台模式

Hermes 设计为常驻 VPS24/7 在线 OpenClaw 按需响应,heartbeat/cron 机制

原因:

  • OpenClaw 的架构更轻量
  • 现有 heartbeat + cron 机制足够
  • 谷老板的使用场景不需要 Agent 主动运行任务

9. Honcho 式深度用户建模

Hermes 12 层身份推断,深度分析 建议: 轻量级推断即可

原因:

  • 隐私考虑
  • 复杂度与收益不成正比
  • OpenClaw 的显式配置(SOUL.md/USER.md)已足够表达

三、具体实施建议(优先级排序)

P0 - 高价值、易实施

  1. Skill 自动提炼机制

    • 复杂任务后 spawn Catalyst 分析
    • 询问用户是否保存为 Skill
    • 保存到 skills/auto/
  2. 记忆主动策展

    • 任务完成后自动分析值得记住的内容
    • 更新 memory/YYYY-MM-DD.md
    • 定期(heartbeat)整理到 MEMORY.md

P1 - 中等价值、中等复杂度

  1. FTS5 全文索引

    • 为 memory 建立 FTS5 索引
    • 会话前基于主题召回相关记忆
    • 与现有语义搜索结合
  2. Skill 反馈改进

    • 使用 Skill 后询问效果
    • 根据反馈自动更新 Skill

P2 - 长期价值、高复杂度

  1. 轻量级用户建模
    • 从 MEMORY.md 提取偏好模式
    • 周期性更新 USER.md
    • 生成推断报告

四、与现有 OpenClaw 能力的对比

能力 OpenClaw 现状 Hermes 做法 融入建议
Skill 创建 手动编写 自动提炼 增加自动提炼+人工确认
Skill 改进 手动更新 自动改进 使用后询问反馈
记忆系统 文件化 (Daily Logs + MEMORY.md) SQLite + FTS5 保留文件化,增加 FTS5 索引
记忆召回 语义搜索 FTS5 全文检索 两者结合
用户建模 显式配置 (USER.md) 隐式推断 (Honcho) 轻量级推断
学习闭环 完整的五步骤闭环 实现核心闭环
多平台 50+ 平台 14 平台 保持现有优势
社区生态 ClawHub 5700+ Skills 早期阶段 保持现有优势

五、一句话总结

Hermes 是"全自动学习"OpenClaw 是"全手动配置"。最佳实践是"智能辅助 + 人工确认"——自动发现可学习的内容,但让用户决定是否要学习。