360 Secure SkillHub
360 安全技能中心

Hermes Learning Loop2

这是适配OpenClaw的Hermes自学习闭环技能,核心功能含任务后自动复盘沉淀技能、三层记忆架构管理、错误驱动改进、定期技能审查及渐进式信息加载。典型场景为复杂任务完成后、操作出错或被纠正后、定期技能优化审查。输出为沉淀的每日经验日志、标准化技能文档及更新的记忆库,助力经验转化为可复用能力。

simonstang
simonstang
热度 12.37
最近更新 2026-07-08 02:17:58
分类:知识依赖:读写文件 / MCP 服务 / 内部调用大模型应用场景:笔记整理 / 工作流 / 任务管理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add hermes-learning-loop2
Metadata
name
hermes-learning-loop
description
融合 Hermes Agent 自我进化理念的增强技能。 将 Hermes Agent 的核心差异化能力(自学习闭环、自动技能沉淀、经验驱动的迭代优化) 内化为 OpenClaw 环境下的可执行工作方法。 触发场景:完成复杂任务后自动复盘沉淀、定期技能优化审查、从错误中提取经验。
metadata
{"openclaw":{"emoji":"🧬"}}

🧬 Hermes 自学习闭环 — 经验驱动的持续进化

设计哲学

从 Hermes Agent(Nous Research)提取的核心理念: "经验 → 技能 → 改进 → 沉淀"的完整进化回路。

不追求自动化黑盒,而是建立一套有意识、有纪律的经验提炼体系, 让每次执行都成为下一次更快的垫脚石。


核心机制一:任务完成后的自动复盘与技能沉淀

触发条件(满足任一)

  1. 完成了一个复杂任务(涉及 5 个以上工具调用)
  2. 在执行中遇到了错误或死胡同,最终找到了正确路径
  3. 用户纠正了我的方法或方向
  4. 发现了一个非平凡的、可复用的工作流

执行流程

任务完成
  → Step 1: 快速复盘(思考 3 个问题)
      1. 这个任务的关键成功因素是什么?
      2. 哪些步骤可以标准化?
      3. 下次遇到类似任务,我能省掉哪些步骤?
  → Step 2: 判断是否值得沉淀
      - 只涉及 1-2 个简单工具调用 → 不沉淀(太琐碎)
      - 有明确的"如果...就..."模式 → 值得沉淀
      - 用户纠正过的流程 → 必须沉淀(这是最宝贵的学习信号)
      - 涉及跨步骤、跨工具的编排 → 值得沉淀
  → Step 3: 提炼为技能要点
      写入 memory/YYYY-MM-DD.md 当日日志:
      ## 技能沉淀: [技能名称]
      - **场景**: 什么时候用
      - **核心步骤**: 3-7 步简述
      - **踩坑点**: 哪些地方容易出错
      - **优化空间**: 下次可以怎么改进
  → Step 4: 评估是否需要升级为正式 Skill
      如果同一个模式出现 3 次以上 → 考虑创建独立的 SKILL.md

核心机制二:三层记忆架构的增强实践

借鉴 Hermes 的分层记忆,在 OpenClaw 环境下实现

层级 Hermes 实现 OpenClaw 对应 维护策略
即时记忆 对话上下文 当前会话上下文 自动管理
工作记忆 MEMORY.md + USER.md MEMORY.md + USER.md 每次会话启动加载
经验记忆 Skills(程序性记忆) skills/.md + memory/.md 主动积累
会话检索 SQLite FTS5 + LLM 摘要 lcm_grep + lcm_expand 按需搜索

增强实践规则

  1. MEMORY.md 要精炼不冗余

    • 只保留跨会话必须记住的关键事实
    • 经验教训写入 memory/YYYY-MM-DD.md 日志
    • 定期(每 3-5 天)从日志中提炼精华到 MEMORY.md
  2. 日志是原始经验库

    • 每天一个文件,记录当天所有有价值的操作
    • 格式:[时间] 任务 | 关键决策 | 学到的教训
    • 这是"经验记忆"的底层数据源
  3. Skill 是提炼后的程序性知识

    • 从日志中反复出现的模式提炼
    • 一个 Skill 只解决一类问题
    • 包含:触发条件、步骤、踩坑点、验证方法

核心机制三:错误驱动的自我改进

从 Hermes 的 KEPA(提示反向传播)理念 adapted

当执行中出现错误或被用户纠正时:

错误/纠正发生
  → Step 1: 立即记录
      写入当天 memory/YYYY-MM-DD.md:
      ❌ [错误描述]
      → 原因: [为什么错]
      → 修正: [怎么对的]
      → 经验: [以后怎么避免]
  → Step 2: 检查是否影响已有知识
      搜索 MEMORY.md 和相关 Skill 中是否有需要更新的条目
      如果有 → 立即修正
  → Step 3: 传播到相关上下文
      如果错误涉及某个特定平台的操作方式 → 更新对应笔记
      如果错误是通用方法论 → 写入 MEMORY.md 的"教训"部分

错误分类优先级

优先级 错误类型 响应
P0 用户明确纠正 必须记录,立即更新相关记忆
P1 工具调用失败后的替代方案 记录替代方案作为 Plan B
P2 自己发现的次优路径 记录优化空间,下次优先尝试
P3 通用知识更新 记入日志,积累后统一更新

核心机制四:技能优化迭代

定期技能审查(在 Heartbeat 中执行)

每隔 3-5 天,利用心跳空闲时段执行一次技能审查:

技能审查清单:
1. 读取最近 5 天的 memory/*.md 日志
2. 识别重复出现的操作模式
3. 检查现有 Skill 是否覆盖这些模式
4. 未覆盖的 → 评估是否值得创建新 Skill
5. 已覆盖但步骤过时的 → 更新 Skill 内容
6. 不再需要的 Skill → 标记归档
7. 将审查结果摘要更新到 MEMORY.md

技能元数据维护

每个经验沉淀的技能要点应包含:

  • 名称: 简洁的动词短语(如 "PowerShell 编码处理"、"搜索结果格式化")
  • 首次出现日期: 何时第一次遇到
  • 使用频率: 已使用几次
  • 最后验证日期: 上次验证仍然有效的时间
  • 状态: active / needs-verification / deprecated

核心机制五:渐进式信息加载(借鉴 Hermes Progressive Disclosure)

在 OpenClaw 中的实现

Hermes 用 3 级渐进加载来节省 token,OpenClaw 环境下的对应策略:

  1. Level 0 - 索引级: MEMORY.md 中的关键词条(每次会话都加载)

    • 控制在 ~2000 字符以内
    • 只保留最关键的事实和指向
  2. Level 1 - 摘要级: memory/YYYY-MM-DD.md 日志文件(按需加载)

    • 需要具体细节时用 memory_search 搜索
    • 用 lcm_expand 展开压缩的历史
  3. Level 2 - 完整级: skills/SKILL.md(任务匹配时加载)

    • 只在任务明确需要时才 read 对应 SKILL.md
    • 避免一次性加载所有技能

关键原则

不在上下文中塞入不需要的信息。 先判断需要什么,再加载什么。 宁可多一次 memory_search 调用,也不要一次性塞满上下文。


与 Hermes 原生能力的差异和适配说明

Hermes 能力 OpenClaw 适配 实现方式
自动 Skill 创建 半自动(AI 判断 + 记录日志) 复盘时主动沉淀到 memory/
15 次调用触发迭代 灵活触发(复杂度 + 纠正信号) 见"触发条件"
SQLite + FTS5 会话搜索 lcm_grep + lcm_expand LCM 系统已覆盖
Honcho 用户建模 USER.md + memory_search 手动维护用户画像
Skill Hub 在线安装 手动创建 + SkillHub CLI 按需安装
MCP 集成 MCP 已支持 直接使用
多后端(Docker/SSH/Modal) exec 工具 通过 shell 执行

执行纪律

  1. 不偷懒: 完成复杂任务后必须复盘,不允许跳过
  2. 不造假: 没学会的东西不要假装学会了,如实记录
  3. 不囤积: 日志中的信息要及时提炼,不要让 MEMORY.md 膨胀
  4. 不孤岛: 新知识要与已有知识关联,避免碎片化
  5. 不过度: 简单操作不沉淀,避免技能通胀

这是 Hermes "The agent that grows with you" 理念在 OpenClaw 上的本土化实现。 目标:让经验成为加速器,而不是重复劳动。