2026-04-25 · 架构
32
架构 · 2026-04-25

Hermes Agent 自进化原理:从"你教它"到"它自己学"

AI Agent 的核心差异不在于模型能力,在于记忆怎么管、技能怎么长。OpenClaw 是你教它做事,Hermes 是它自己在工作中学会做事。这个区别看起来小,跑 30 天后效果天差地别。

我花了三周读了 20 多篇 Hermes Agent 深度资料,做了交叉蒸馏。这篇把核心发现摊开讲:三代 AI 工具的本质差异、三层记忆架构的工程细节、Skill 自进化飞轮的运转逻辑。

三代 AI 工具:不是版本号升级

每代的核心模型完全不同。

代际
代表
核心模型
谁触发改进

第一代(工具)
ChatGPT Web
你问它答,关掉就结束

第二代(助手)
OpenClaw
你配置它,它按配置跑
你手动纠正

第三代(伙伴)
Hermes
闭环学习循环
Agent 自动提取

OpenClaw 的记忆系统很直接:你纠正它一次,它把修正存下来。问题在于所有修正都需要你手动触发。你懒得纠正的地方,它永远做错。

Hermes 走了不同的路线。每次完成任务后,Agent 自问三个问题:”用户改了哪里?值得固化什么?下次能不能自动做对?”回答完就自动生成或更新 Skill 文件。30 天并行实验数据表明,自维护系统比依赖人工调教的进化更快。

OpenClaw 有 44000 个社区 Skill 的生态,Hermes 社区还在早期。但两者解决的问题不同:OpenClaw 解决”连接”——超级网关,把所有工具串起来。Hermes 解决”成长”——自进化引擎,闭环学习。

记忆不是存储,是策展

Hermes 的记忆系统分三层,每层职责和生命周期不同。

┌─────────────────────────────────────────────┐
│ 会话记忆 (Session Memory)                    │
│ SQLite + FTS5 全文索引                        │
│ 记录原始对话和工具调用结果                     │
│ 快速追溯具体细节                              │
├─────────────────────────────────────────────┤
│ 持久记忆 (Persistent Memory)                 │
│ MEMORY.md: 2200 chars 硬限制 (建议 1800)      │
│ USER.md: 1375 chars 硬限制 (建议 1100)        │
│ Honcho 推理行为模式                           │
├─────────────────────────────────────────────┤
│ 技能记忆 (Skill Memory)                      │
│ ~/.hermes/skills/*.md                         │
│ 可复用操作知识                                │
└─────────────────────────────────────────────┘

会话记忆用 SQLite 加 FTS5 全文索引,记录原始对话和工具调用结果,跨会话搜索延迟 <50ms。解决”上周二我们讨论了什么”这类问题。

持久记忆的 MEMORY.md 和 USER.md 有硬限制——2200 和 1375 字符。为什么这么小?这两块内容每次会话开始都注入系统提示词,太大会挤占模型有效上下文。设计思路是 Agent-curated:不是有啥记啥,是 Agent 筛选后的结果。只有真正需要跨会话保持的信息才放进来。

技能记忆~/.hermes/skills/ 下的 Markdown 文件,每个 Skill 包含触发条件、操作步骤、注意事项、验证方法。解决”上次遇到类似任务是怎么做的”。

冻结快照:稳定比实时重要

Hermes 的记忆不是实时写入的。它采用”冻结快照”设计——会话开始时注入快照,会话中途写入的记忆不立刻生效,到后续会话才体现。

这跟直觉相反。你以为记忆越实时越好,实际上每次注入内容变了,模型的 KV Cache 全部失效,Token 消耗直接翻倍。冻结快照用”一次延迟”换持续效率。

nudge_interval 控制记忆反思频率:标准模型建议 10,小模型 5,大上下文模型 15。

记忆治理对比

维度
Hermes
OpenClaw

容量
~3.5KB 固定
35000+ 条无上限

检索
FTS5 全文 <50ms
BM25+向量+RRF <100ms

捕获率
依赖 Agent 自觉
Hook 机制 100%

去重
Agent 主动管理
三层机制(哈希+相似度+LLM 裁决)

理念
有界热记忆,类人脑
无界记忆,类外置硬盘

Hermes 追求”小而精”,质量高但可能遗漏。OpenClaw 追求”大而全”,不会遗漏但噪音多。各有取舍。

Skill 自进化飞轮

Skill 是 Hermes 最核心的差异化能力。

Skill 的四个要素

Skill 不是代码,是可复用的操作知识:
1. 触发条件——什么时候用
2. 操作步骤——按什么顺序执行
3. 注意事项——哪些坑要避开
4. 验证方法——怎么确认做对了

飞轮怎么转

用户任务 → Agent 执行 → 自动复盘 → 生成 Skill → 下次自动调用 → ...

用户完成任务 → Agent 执行 → 自问”用户改了哪里?值得固化什么?” → 生成 Skill 文件 → 下次自动调用。每转一圈,Agent 能力就厚一层。

三个真实案例

写作风格推断。 Hermes 通过阅读已发布文章推断写作风格,生成 local-writing-canon-analysis/SKILL.md。之后所有新文章都参考这个 Skill 写。

故障恢复。 Telegram 网关故障后,Hermes 自动生成 hermes-telegram-gateway-recovery/SKILL.md。下次遇到同样问题直接按 Skill 走,不用重新排查。

路由治理。 200 行决策树替代了 20000 行 CLAUDE.md。起因是 40+ 技能中 15% 是暗技能——存在但不可达,Skill 写了但触发器描述不对,Agent 找不到它。

退化信号

Skill 写了不等于永远好用。退化有三个信号:描述模糊、功能重复、过时引用。定期在对话中告诉 Hermes “检查你的所有 skills,列出需要更新或删除的”,Agent 自己做审计。

系统提示词:9 层架构的 token 博弈

Hermes 系统提示词约 36700 字符(~10K tokens),9 层构成。

层次
内容
大小

1. SOUL.md
Agent 身份/人格
~500 chars

2. Memory 使用指南
如何使用 memory 工具
~600 chars

3. MEMORY 快照
持久化记忆
~3725 chars

4. USER PROFILE
用户画像
~682 chars

5. Skills 索引
80+ Skill 描述
~5000 chars

6. AGENTS.md
项目级开发指南
~20300 chars

7-9. 元数据
时间/平台/上下文
~800 chars

AGENTS.md 占系统提示近一半,超过 20K 上限后中间部分被截断。截断策略是头部 70% + 尾部 30%,中间直接丢。

一个配置就能优化:

hermes config set agent.cwd ~

把主 agent CWD 配为 ~ 而非仓库目录,系统提示词减少约 50%。51 个注册工具中只加载 30 个——按需筛选,比 OpenClaw 的全局加载聪明。

外部记忆:内置不够用时

MEMORY.md 的 2200 字符大多数场景够用,需要更丰富的长期记忆时可以叠加外部层。

Hindsight(推荐个人用):
– 自动从每次对话中提取实体和关系
– 周一提了项目截止日期,周五新会话自动记得
– 可自建,隐私安全

mem0(推荐 Fleet 多 Agent 架构):
– 统一记忆抽象,所有 agent 共享一个 Qdrant collection
– Claude Code Stop Hook 每次对话结束自动写入
– 其他 agent 立即可读

本质区别:Hindsight 给一个 Agent 用,mem0 给一群 Agent 共享。


这是 Hermes Agent 系列的第一篇。

**系列导航:**
- 第二篇:[Hermes Agent 实战配置:五套系统与即用配方](https://www.80aj.com/2026/04/26/hermes-agent-config-systems/)
- 第三篇:[Hermes Agent 构建第二大脑:LLM Wiki + 多 Agent 协作](https://www.80aj.com/2026/04/26/hermes-agent-second-brain/)

目录 最新
← 左侧翻上一屏 · 右侧翻下一屏 · 中间唤出菜单