我让 OpenClaw 学会了 Hermes 的自我进化能力
昨天我扔给 OpenClaw 一个链接——Hermes Agent 的文档。
https://github.com/nousresearch/hermes-agent我跟它说:"这个能力不错,帮我分析一下,然后复现到 OpenClaw 里。"
它没有安装 Hermes。它直接写了一个 Skill。
───
01
Hermes 是什么?简单说,是一个能"自己学会新技能"的 AI Agent——你教它一次,它就记住了,下次遇到类似问题,它自己调用这个技能,不再需要你重复讲一遍。
核心机制分两块:
Memory System:它有一份自己的记忆库,每次任务结束后自动把值得记住的东西写进去。记忆分两层——基础记忆(Frozen Snapshot,会话开始时固定注入一次,后续不变),和工作记忆(会话中动态追加)。
Skills System:技能是按需加载的知识文档,存在固定目录里,按需读取。技能还有三级披露机制——先只加载名字和描述(L0),确认要用了再加载完整内容(L1),有子文件再加载 L2。这套设计是为了省 Token。
两者联动:记忆里积累多了,Agent 自动判断——这段经验值得固化成一个技能,于是当场写成文档。下次遇到同类问题,技能自动触发。
这就是 Hermes 的自我进化闭环。
───
02
那我为什么不直接装 Hermes?
因为 OpenClaw 已经有一套自己的架构。Memory 系统有(MEMORY.md + memory_search),Skills 系统有(skills 目录 + find-skills),跨会话召回也有(语义搜索)。OpenClaw 的问题不是缺能力,是缺一个自动触发技能创建的决策引擎——Hermes 的核心创新在这里,而不是在那些具体实现上。
OpenClaw 不需要装第二个 Agent。它需要的是让自己"学会什么时候该把经验写成技能"。
我跟 OpenClaw 说:已有的能力保留,没有的能力你给我补全。
───
03
它分三步干的。
第一步:做 Diff。
它把 Hermes 的每个能力和 OpenClaw 现有的逐一对比,筛掉重复的。结论很清楚:
OpenClaw 已经比 Hermes 强的:多渠道(微信/飞书/Telegram)、MCP 插件系统、代码执行、图片/视频生成、多模型路由。Hermes 的 Memory 和 Skills 系统,OpenClaw 有等价实现,只是没有自动触发那层。
OpenClaw 真正缺的:三样东西——Session 自动摘要、Skill 版本追踪、Session Rating。
它把这三样全部写成了脚本,装进了 OpenClaw 的 Skills 系统里。
第二步:写决策引擎。
这是最关键的部分。OpenClaw 原来没有"什么时候该把经验写成技能"这套判断逻辑。它现在有了。
触发条件是这些:任务用了 5 个以上工具调用、用户中途纠正了方法、调试了 3 步以上才找到解法、同一个模式出现两次以上、用户主动说"记住这个"。
满足任一条,决策引擎启动,问自己一个问题:"这段经验,我能不能描述清楚,让未来的自己不再重复踩坑?"
能——当场写 SKILL.md。不能——轻量记录到 TASK_SUMMARIES,留着以后再看。
第三步:形成闭环。
复杂任务 → 自判能否生成技能 → YES 就写 SKILL.md → 下次遇到同类问题 find-skills 找到它 → 执行过程中发现改进点 → 更新 Improvement Log。
整个过程不需要我干预。它自己驱动自己。
───
04
具体落地了三套东西。
nudge-skill-evaluator:轻量计数器,每个工具调用后 +1,达到阈值触发 Evaluate。OpenClaw 没有 Hermes 那样的内部 Hook,Agent 自己计数来补偿这个差距。
# nudge-skill-evaluator.sh(每个 tool call 后 +1)COUNTER_FILE="/root/.openclaw/workspace/.learnings/.nudge_counter"NUDGE_THRESHOLD=5case "$1" inincrement)COUNT=$(grep -o '"count": [0-9]*' "$COUNTER_FILE" | grep -o '[0-9]*')echo "{\"count\": $((COUNT + 1))}" > "$COUNTER_FILE";;check)if [ "$COUNT" -ge "$NUDGE_THRESHOLD" ]; thenecho "TRIGGER" # 达到阈值 → 立即启动 Evaluatefi;;esac
auto-skill-creator:决策引擎,YES/NO 标准:
## 触发评估(满足任一)- 5+ tool calls- 用户纠正了方法- >3 步调试才找到解法- 同一模式出现 2+ 次- 用户说"记住"## YES 条件(满足任一)- 可复用(非一次性的问题)- 非显而易见(文档里不容易找到)- 能教会别人- 省时间(花了 >10 min)- 触发时机清楚- 能防错
## YES 条件(满足任一)
## 触发评估(满足任一)- 5+ tool calls- 用户纠正了方法- >3 步调试才找到解法- 同一模式出现 2+ 次- 用户说"记住"## YES 条件(满足任一)- 可复用(非一次性的问题)- 非显而易见(文档里不容易找到)- 能教会别人- 省时间(花了 >10 min)- 触发时机清楚- 能防错
如果答案是 YES,当场创建 SKILL.md:
## 触发评估(满足任一)- 5+ tool calls- 用户纠正了方法- >3 步调试才找到解法- 同一模式出现 2+ 次- 用户说"记住"## YES 条件(满足任一)- 可复用(非一次性的问题)- 非显而易见(文档里不容易找到)- 能教会别人- 省时间(花了 >10 min)- 触发时机清楚- 能防错
session-rating:用户给每次会话打 1-5 分,高分 session 里的技能获得更高推荐权重。
# 1 = 失败,浪费时间# 2 = 不如预期# 3 = 可接受# 4 = 好,skill 有帮助# 5 = 极佳,节省大量时间bash session-rating.sh rate agent:main:main 4# 写入 ~/.learnings/.session-ratings.jsonl{"ts":"2026-04-15T11:30:00Z","session":"agent:main:main","score":4,"skills":"auto-skill-creator"}
高分技能自动排在推荐前列:
bash session-rating.sh recommend# Skill Avg Count Priority# auto-skill-creator 4.7 12 HIGH# hermes-evolution 4.5 8 HIGH
三套 Cron 兜底:每天扫 session 写摘要、每周生成新技能、每周一优化现有技能。忙的时候有提醒,不忙的时候靠自然触发。
───
05
现在 OpenClaw 的 Skills 目录里有了一个新技能,叫 auto-skill-creator。
它的描述是这样写的:
OpenClaw implementation of Hermes-style skill self-creation engine. After complex tasks, automatically evaluates whether the workflow can become a reusable skill, then creates or updates SKILL.md.这不是安装了一个插件。这是它自己学会的。
你扔给它一个外部系统的能力描述,它分析现有的能力图谱,找到真正缺的缺口,然后用自己的工具链把它实现出来。
这件事本身,可能比那个具体实现更有意思。

夜雨聆风