第10章 Hermes Skill系统:自动生成的进化能力

第10章 Hermes Skill系统:自动生成的进化能力

本章前置检查

  • □ 已完成第7章的学习,理解Hermes的五层架构和闭环学习系统
  • □ 已完成第8章的部署,能通过CLI与Hermes进行基础对话
  • □ 理解第4章中OpenClaw Skill的基本概念(为对比学习做准备)

本章预估总时长:5小时

本章难点提示

  • 10.2节(自动生成机制)是本章最核心的部分,需要理解“技能”不是用户主动创建的,而是在任务执行过程中自动沉淀的——这是Hermes与其他Agent框架最根本的区别。
  • 10.3节(agentskills.io标准)的元数据字段较多,可以先建立印象,实际使用中可通过示例模板快速上手。
  • 10.4节(与OpenClaw的对比)建议大家带着“为什么现在要学Hermes”这个问题来阅读——自动生成技能听起来很吸引人,但它在什么情况下才能真正为你节省时间?本节会给出具体判断标准。
  • 10.7节(质量治理)是使用自动生成Skill的必读内容——如果忽略这一点,你的技能库可能会在一段时间后被大量低质量技能淹没。
  • 请注意区分本章讨论的“Hermes Skill”和第4章讨论的“OpenClaw Skill”——两者是完全不同的体系。10.4节会详细对比。

🎯 本章教学目标:深入理解Hermes Skill系统的自动生成机制,掌握SKILL_GUIDANCE的工作方式,学会自主生成和手动创建技能,理解skill_manage工具的完整操作,掌握技能试用期审查与生命周期管理,了解agentskills.io开放标准,能够熟练使用技能斜杠命令,并清晰对比Hermes Skill与OpenClaw Skill的核心差异。

图片[1]-Hermes 技能自动生成完全解析:Agent 如何自己学会新技能

10.1 Hermes Skill概述

🎯 本节目标:理解Skill在Hermes中的定位、它与传统“插件”的本质区别,以及Skill系统的核心设计思想。

预计时长:0.5小时

10.1.1 从“工具”到“会学习的同事”

在第4章我们学习了OpenClaw的Skill——一个Markdown格式的“操作手册”,告诉Agent“遇到X情况时,按Y步骤做”。它很强大,但有一个根本性限制:是人写的。你会多少,Agent就会多少。你不写,它就不会。

Hermes的Skill系统做了一件完全不同的事:Agent在执行任务的过程中,会自动识别可复用的模式,将成功经验固化为Skill,并在后续使用中持续优化。这意味着:随着你与Hermes的协作越久,它积累的Skill就越多、越精,真正实现“越用越强”。

在实际体验中:传统Agent的Skills需要人工创建和维护,Hermes的Skills是在工作中自动生成的,而且会自我迭代——从“工具”变成了“会学习的同事”。真正用起来之后会发现,它在运维、研究等重复性极强的场景里,每次踩坑后Skill库都会被自动夯实,人根本不用操心。

龙马注:我第一次看到这个机制时的反应是:“我的Agent在偷偷学我?”用了一段时间后发现,不是我教祂,是祂自己复盘的时候就总结好了——我只是在对话末尾确认了一句“对,就这样”。整个过程的体验,是任务执行-纪要复盘-技能固化,几乎不打断我的工作节奏。

但这里有一个隐藏的前提:你给出的反馈质量直接决定Skill质量。如果你允许它记住一个不高效的工作流,它以后就会重复那个低效流程。所以每次任务结束后的关键确认环节,值得认真对待。

10.1.2 Hermes Skill的本质:按需加载的知识文档

Hermes Skill不是Python插件,也不是代码模块。它本质上是一种面向Agent的、按需加载的知识文档/工作流文档系统

这个设计解决了一个核心问题:有些能力不需要写成工具代码,但又不适合每次都把完整说明塞进system prompt。Hermes采用了渐进式披露(Progressive Disclosure) 的加载策略——平时只给模型一个技能索引,需要时再加载具体skill内容,skill还可以附带references、templates、scripts、assets等附属文件。

加载层级内容触发时机
Level 0技能名称+简短描述会话启动时
Level 1完整的SKILL.md正文任务匹配该技能时
Level 2references/、scripts/等附属资源Agent执行过程中按需加载

这种分层加载机制显著降低了Token消耗,让技能数量可以扩展到很大规模而不影响系统提示词的膨胀。

龙马注:渐进式披露是Hermes Skill设计中最被低估的一个细节——一个拥有200个技能的系统,如果每次会话都把所有技能的全部内容加载进来,Token成本会直接爆炸。但Hermes通过这个分层机制,让技能库可以无限扩张而不影响日常使用。实际体验中,你根本感觉不到背后有几十个技能在待命。

沈飞注:在量化场景中,因子挖掘、回测框架、风控模型等都有大量可复用的方法论,但以前都是“藏在人脑里”或“散落在代码注释里”。Hermes的Skill机制提供了一个轻量级的固化方案——把流程写成SKILL.md后,每次执行同类任务时,Agent自动调用已有Skill,效率提升和一致性都远超预期。

✏️ 即时自测:Hermes Skill和OpenClaw Skill最根本的区别是什么?

✏️ 自测答案:Hermes Skill是自动生成的(Agent在实践中沉淀经验),OpenClaw Skill是手动编写的。

🛠️ 实践任务(本节):查看你的~/.hermes/skills/目录,看看自安装以来Hermes已经自动生成了哪些Skill。如果目录为空也不必担心——这说明你还没有完成足够复杂的任务来触发自动生成,后续实践任务会为你创造这样的机会。

💭 本节总结(不看书写3行):

📊 用时记录:计划____min → 实际____min → 偏差原因:________

10.2 Skill自动生成机制详解

🎯 本节目标:理解Skill是如何自动生成的——触发条件、处理流程和核心技术实现。

预计时长:1.5小时

10.2.1 SKILLS_GUIDANCE:让Agent“学会”创建技能

Hermes的自动技能生成不是靠硬编码规则,而是通过系统提示词中的SKILLS_GUIDANCE来引导Agent自主决定何时应该创建技能。

agent/prompt_builder.py中,SKILLS_GUIDANCE是这样定义的:

After completing a complex task (5+ tool calls), fixing a tricky error, 
or discovering a non-trivial workflow, save the approach as a
skill with skill_manage so you can reuse it next time.

When using a skill and finding it outdated, incomplete, or wrong,
patch it immediately with skill_manage(action='patch') — don't wait to be asked.
Skills that aren't maintained become liabilities.

这段提示词被注入到每次会话中,让Agent理解“什么情况下应该创建技能”“什么情况下应该修复技能”。这是Hermes实现自主进化的核心机制之一——Agent不是被代码硬性规定去做某件事,而是通过系统指令理解了自己的“成长责任”。

10.2.2 触发Skill生成的具体条件

根据SKILLS_GUIDANCE的定义,Agent会在以下四种情况下自动创建或更新技能:

触发条件说明典型场景
5次以上工具调用任务复杂度高,涉及多步骤工具链数据清洗→特征工程→模型训练→评估→可视化
修复棘手错误Agent从错误中成功恢复调试代码时发现并修正了依赖冲突
发现非平凡工作流走通了一条不那么直观的有效路径发现某个API需要特定的参数组合才能返回预期结果
用户纠正成功用户指出了一个更好的方法并被采纳“下次用pandas的query方法而不是loc”

当任务满足上述任一条件时,Agent会评估任务价值,然后调用skill_manage(action='create')工具,自动生成符合agentskills.io标准的结构化技能文档。

自动生成与手动创建的区别

Hermes允许用户主动让Agent创建技能,例如在对话中说“请记住这个部署流程,下次可以直接用”。这与自动触发的区别在于:自动触发的核心是Agent自己决定什么值得记住,而不是用户每次都要主动说“记住这个”。这意味着你不需要刻意去“教”Agent——你的日常工作本身就是训练材料。

10.2.3 skill_manage:技能管理的核心工具

skill_manage是Hermes中管理技能的统一入口工具,支持以下操作:

操作用途
create创建新技能,从当前执行轨迹中提取核心流程
patch修正现有技能(仅修改匹配到的内容,不覆盖整个文件)
view查看技能内容
list列出所有可用技能
delete删除技能

Agent在执行复杂任务后,会自动调用skill_manage(action='create'),将执行记录中的关键步骤、注意事项、工具调用序列等信息提取出来,生成标准格式的SKILL.md文档。

龙马注patch操作的设计非常克制。遇到过技能需要修正的场景,patch是基于内容匹配的局部替换,不是整个文件重写。当技能文件比较大时,patch的token消耗远低于把整个技能重新生成一遍。实践中的感受是,Hermes能敏锐地察觉“这个技能的第三步现在已经不是最优了”,然后精准地修改那一行,不会影响技能的其他部分。

10.2.4 技能生成的完整流程

用户下达任务
    ↓
Agent执行(工具调用、错误处理、探索)
    ↓
任务完成,满足触发条件(5+工具调用/修复错误/发现非平凡工作流)
    ↓
Agent调用skill_manage(action='create')
    ↓
验证技能名称、frontmatter格式、内容大小
    ↓
创建目录结构(~/.hermes/skills/<skill-name>/)
    ↓
原子写入SKILL.md
    ↓
执行安全扫描
    ↓
技能存入技能库,后续会话可检索和复用

这个流程确保了Agent能够从实际使用中学习,将成功的解决方案转化为可复用的技能,形成持续改进的循环。

10.2.5 技能自我进化:Patch机制

生成的技能并非一成不变。当Agent在后续任务中再次调用某个技能时,如果发现技能已经过时、不完整或有错误,就会触发技能自我改进模块,使用patch工具进行精确修复。

Patch机制的核心特点

  • 模糊匹配:即使存在轻微格式差异也能成功定位需要修改的部分
  • 精准替换:只修改匹配到的内容片段,不重写整个技能文件
  • 低Token消耗:相比重新生成整个技能,patch的开销极小
  • 版本意识:Agent在修改技能时会理解技能的版本和依赖关系,避免破坏性更改

随着技能被反复调用和修正,技能的完整性、实用性和健壮性会持续提升,如同人类不断积累工作经验。

首先执行成功后返回结果,这个输出被追加到当前对话历史中。其次,这个流程生成的技能会直接保存在技能库里,Agent下次遇到相似任务可以直接调用。关键数据存储的可靠性由原子写入保障,不会因为中间步骤失败而产生残缺技能。

每次技能被patch后,Agent还会自动运行一个轻量级验证——检查修改后的SKILL.md是否符合agentskills.io标准格式。如果格式错误,Agent会尝试自动修复或请求用户确认。

✏️ 即时自测:Agent在什么条件下会自动调用skill_manage创建新技能?

✏️ 自测答案:完成5次以上工具调用的复杂任务、修复棘手错误、发现非平凡工作流、用户纠正的方法被采纳时。

🛠️ 实践任务(本节)

  1. 让Hermes执行一个需要多步骤的复杂任务(例如“从GitHub上找一个Python项目,分析它的依赖关系,生成报告”)
  2. 任务完成后,检查~/.hermes/skills/目录是否生成了新的SKILL.md
  3. 打开生成的SKILL.md,观察它的结构和内容
  4. 执行hermes skills list,查看当前技能库清单

💭 本节总结(不看书写3行):

    📊 用时记录:计划____min → 实际____min → 偏差原因:________

    10.3 Skill文档格式与agentskills.io标准

    🎯 本节目标:掌握SKILL.md的标准格式,了解agentskills.io开放标准,能够独立编写或修改技能文档。

    预计时长:0.8小时

    10.3.1 agentskills.io:跨平台的技能标准

    Hermes的技能文档遵循agentskills.io开放标准。这个标准由AI Agent社区共同维护,其核心价值在于:按此标准编写的Skill可以在Hermes、Claude Code、OpenClaw等不同平台上通用,一次开发,多处运行。这意味着你在Hermes中沉淀的技能资产,未来可以无缝迁移到其他兼容平台。

    10.3.2 SKILL.md的标准结构

    一个完整的SKILL.md包含以下核心要素:

    markdown

    ---
    name: skill_name                    # 技能唯一标识(snake_case)
    description: 技能的简短描述          # 用于索引和匹配
    version: 1.0.0                      # 版本号,便于追踪演进
    author: author_name                 # 作者信息(自动生成时为"hermes-agent")
    tags: [tag1, tag2]                  # 标签,便于分类检索
    ---
    
    # 技能标题
    
    ## 描述
    详细说明这个Skill解决什么问题,适用场景。
    
    ## 触发条件
    什么情况下应该使用这个Skill。
    
    ## 执行步骤
    1. 第一步:做什么
    2. 第二步:做什么
    3. ...
    
    ## 工具调用序列
    - tool_1:参数说明
    - tool_2:参数说明
    
    ## 已知陷阱/注意事项
    - 常见错误及避免方法
    - 边界条件处理
    
    ## 验证方法
    如何确认Skill执行成功。
    
    ## 输出格式
    期望的输出结构(如有特殊要求)。

    龙马注agentskills.io标准的核心价值在于它的“可移植性”——你在Hermes里沉淀的技能,按理说可以直接拿到Claude Code或其他兼容平台使用。跨平台Lock-in是所有Agent框架需要面临的问题,Hermes从一开始就在社区标准上押注,避免陷入单平台锁定。

    10.3.3 技能目录结构

    一个完整的技能可以包含多个附属文件:

    ~/.hermes/skills/<skill-name>/
    ├── SKILL.md              # 技能定义文件(核心,必需)
    ├── references/           # 参考文档(按需加载)
    │   ├── api_doc.md
    │   └── examples.md
    ├── assets/               # 静态资源
    │   ├── template.html
    │   └── config.json
    └── scripts/              # 可执行脚本
        ├── helper.py
        └── process.sh

    附属文件不在会话启动时加载,而是在Agent执行技能过程中按需读取,这种按需加载的设计有效控制了上下文Token消耗。当skill中明确引用了references/或scripts/中的文件时,Hermes才会动态加载并执行。

    龙马注:如果技能脚本引用了外部依赖(例如requests库),Hermes在执行时需要确保当前环境中已安装该依赖,否则会报错。因此,建议在SKILL.md中通过前置说明标注依赖信息,或者将技能执行限定在容器环境中运行。

    ✏️ 即时自测agentskills.io标准的最大价值是什么?

    ✏️ 自测答案:跨平台兼容——一个Skill可以在Hermes、Claude Code、OpenClaw等不同Agent框架中通用。

    🛠️ 实践任务(本节)

    1. 执行hermes skills list,选择一个已有技能
    2. 运行hermes skills info <skill-name>查看技能详情
    3. 打开对应的SKILL.md文件,对照本节的结构模板观察它的组织方式

    💭 本节总结(不看书写3行):

      📊 用时记录:计划____min → 实际____min → 偏差原因:________

      10.4 Hermes Skill vs OpenClaw Skill对比

      🎯 本节目标:通过对比理解两种Skill体系的差异,能根据使用场景选择合适的方式。

      预计时长:1小时

      10.4.1 核心差异速览

      维度Hermes SkillOpenClaw Skill
      生成方式自动生成(Agent在实践中沉淀经验)手动编写(用户定义AGENTS.md)
      更新机制自动patch(Agent主动发现并修复)手动更新(用户修改文件)
      加载策略渐进式披露(索引→正文→资源,三层加载)全局加载或按需声明
      数量上限理论无限(渐进式披露控制上下文消耗)受限于人工编写能力
      学习能力从每次任务中学习并进化基本没有(靠用户更新)
      可移植性agentskills.io开放标准OpenClaw专用格式
      适用场景持续进化的个性化Agent标准化能力扩展、确定性流程
      开发者角色“设置边界和确认反馈”“定义Agent行为和技能”

      一个直观的对比:在处理多轮对话的电商客服场景时,Hermes可自动生成包含商品推荐、订单查询、退换货流程的复合技能包,而OpenClaw需要开发者预先设计完整的技能文件。

      10.4.2 两条路线的设计哲学

      OpenClaw走的是“控制优先”路线。你在AGENTS.md中定义Agent的职责、技能、约束——人定义规则,Agent执行规则。这带来了极高的可预测性和可控性,但代价是维护成本——每次业务变化都需要手动更新配置。从架构层面看,Hermes更偏向集成式Agent运行时(Integrated Agent Runtime),OpenClaw更偏向网关中心式控制平面(Gateway-centric Control Plane)。

      Hermes走的是“进化优先”路线。Agent在运行过程中自动生成Skill,但它也允许用户通过斜杠命令和skill_manage工具进行人工干预。两条路线的根本分歧在于:谁来发现“可以固化的模式”——是人还是Agent自己?

      沈飞注:在量化策略研发中,Hermes这条路线有明显的效率优势。刚开始用的时候,我还在手动把因子挖掘流程写成AGENTS.md——这相当于把“人脑里的经验”一次性地迁移出去。但几周后Hermes自动生成的Skill已经覆盖了我70%的日常操作,我不需要再写任何新文件。这只是我个人的体验,建议你在一开始时两者都尝试一下,然后根据实际效果决定保留哪一套,而不是一开始就全盘推倒原有的OpenClaw体系。

      10.4.3 什么时候用哪一个?

      场景推荐选用原因
      需要精确控制执行流程(如交易下单、合规检查)OpenClaw Skill人定义规则,确定性高
      需要从使用经验中持续优化的任务(如策略研发、数据分析)Hermes Skill自动沉淀经验,越用越准
      需要跨平台复用的能力Hermes Skillagentskills.io标准,可移植
      团队共享的标准能力两者均可OpenClaw的ClawHub有5万+社区技能,Hermes技能市场约200+但官方审核更严
      需要长期维护的低频任务OpenClaw Skill手动更新可控,不会意外变化

      从安全角度看,OpenClaw的记忆是“模块化插件槽”——你可以手动替换记忆模块,但它缺少Hermes那种从经验中创建技能的闭环学习机制,以及三层记忆的整合设计。

      但从另一个角度看,Hermes这些“自动生成”的能力也伴随着未知风险——因为Skill是Agent自动写的,如何让用户信任这个自动生成的流程是否符合预期?这需要用户对Skill进行试用期审查,也是10.7节要详细讨论的内容。

      ✏️ 即时自测:如果你要开发一个需要精确控制执行顺序、输出格式必须严格统一的批量数据处理任务,应该用Hermes Skill还是手动写一套逻辑?为什么?

      ✏️ 自测答案:应手动编写代码并用OpenClaw Skill封装(或直接写Python脚本)。因为Hermes Skill的自动生成依赖于Agent的执行轨迹,如果任务步骤高度确定但执行顺序不能有任何漂移,纯确定性流程更适合用代码固化,而不是依赖动态生成的Skill。

      💭 本节总结(不看书写3行):

        📊 用时记录:计划____min → 实际____min → 偏差原因:________

        10.5 Skill斜杠命令与用户交互

        🎯 本节目标:掌握通过斜杠命令与Skill系统交互的方法,熟练使用技能管理的常用命令。

        预计时长:0.3小时

        Hermes提供了便捷的斜杠命令来管理技能:

        命令功能
        /skills 或 /skill list列出所有可用技能
        /skill view <技能名>查看技能详情(SKILL.md内容)
        /skill enable <技能名>启用技能
        /skill disable <技能名>禁用技能(技能仍在磁盘上,但不会被加载)
        /skill run <技能名>显式执行技能(不依赖自动匹配)
        /skill search <关键词>在技能库中搜索

        使用示例

        markdown

        /skill list                    # 查看所有技能
        /skill view data_cleaner       # 查看数据清洗技能的详细内容
        /skill run deploy_to_server    # 手动执行部署技能
        /skill search "数据分析"         # 搜索包含“数据分析”的技能

        龙马注/skill disable/skill enable不删除文件,只是从加载索引中移除或恢复,适合临时禁用某些不稳定的技能,等修复后再启用。

        🛠️ 实践任务(本节)

        1. 执行/skill list查看你的技能库
        2. 选择一个技能,执行/skill view <技能名>查看其内容
        3. 执行/skill search <一个你感兴趣的关键词>

        💭 本节总结(不看书写3行):

        📊 用时记录:计划____min → 实际____min → 偏差原因:________

        10.6 Hermes安全沙盒配置详解

        🎯 本节目标:理解Hermes的安全设计,学会配置沙箱隔离和权限校验,保障Agent执行的安全性。

        预计时长:0.7小时

        10.6.1 为什么需要安全沙盒

        Hermes的技能系统可以让Agent执行脚本、读写文件、调用系统命令。如果Agent生成或安装了恶意技能,或者正常技能被恶意输入劫持,可能导致严重后果。

        Hermes默认标配了三层安全机制:

        • 危险命令审批流程:执行敏感操作前需要用户确认
        • 用户授权机制:设备配对和会话级别的权限控制
        • 容器隔离(Docker后端) :支持在隔离环境中执行代码
        • 上下文扫描:检测并拦截提示注入攻击尝试

        10.6.2 安全沙盒三层校验

        Hermes在执行操作前会进行三层安全校验:

        第一层:权限白名单过滤

        只允许执行预先配置的安全操作。编辑~/.hermes/config.yaml

        yaml

        execution:
          allowed_commands:
            - ls
            - cat
            - python
            - git
          blocked_patterns:
            - "rm -rf"
            - "sudo"
            - "chmod 777"

        第二层:操作路径验证

        限制Skill只能访问特定的文件路径:

        yaml

        execution:
          allowed_paths:
            - "/home/user/projects/"
            - "/tmp/hermes-uploads/"
          blocked_paths:
            - "/etc/"
            - "/root/"
            - "/home/user/.ssh/"

        第三层:变更回滚机制

        系统在执行修改操作前会自动创建状态快照,异常时可快速回滚。同时配合审计日志系统,完整追踪所有操作轨迹。

        10.6.3 安全沙箱配置

        启用文件系统沙箱模式:

        yaml

        filesystem_mode: "sandbox"    # sandbox(隔离模式)或 read-only(只读模式)或 full(完全访问)

        启用审计日志:

        yaml

        audit_enabled: true
        log_level: info

        秘钥扫描——Hermes会在浏览器URL和LLM响应中扫描秘钥模式,阻止通过URL编码、base64或提示注入进行的秘钥外泄尝试。

        10.6.4 用户侧安全实践

        无论你的沙盒配置得有多完善,只要Agent拥有执行系统命令的权限,仍然存在风险。建议养成以下习惯:

        • 将敏感API Key写入.env文件,不要写入Skill正文。否则一旦Skill被分享,API Key也会一并泄露。
        • 定期审计已安装的技能:执行hermes skills list,检查是否有不熟悉或过期的技能。
        • 高风险操作需批准:在config.yaml中配置require_approval: true,敏感操作(如修改风控参数、删除文件)会暂停并等待用户确认。

        沈飞注:在量化交易系统中,沙箱配置是硬性要求。我会在config.yaml中把allowed_commands限定在数据分析范围内(如python、pandas、numpy),涉险命令连审批机会都没有,直接拒绝执行。

        另外,即使沙箱配置再完善,只要Agent有执行系统命令的权限,就仍然存在风险。所以财务数据的读取和风控判定建议完全走文件权限限制,而不是依赖Agent的“自觉”。同时建议在技能发布前强制走试用期审查和单元测试。10.7节会详细说明如何建立技能质量治理流程。

        🛠️ 实践任务(本节)

        1. 检查当前的安全配置:cat ~/.hermes/config.yaml | grep -A 10 execution
        2. 启用审计日志,观察操作记录
        3. 测试一个危险命令,观察是否触发了审批流程

        💭 本节总结(不看书写3行):

          📊 用时记录:计划____min → 实际____min → 偏差原因:________

          10.7 自动Skill的质量治理与生命周期管理

          🎯 本节目标:掌握技能质量治理的方法,学会审查、测试和淘汰技能,保持技能库的健康和高效。

          预计时长:0.7小时

          10.7.1 为什么需要技能治理

          自动生成的Skill也可能出错或不完整。如果对自动生成的Skill不加管理,一段时间后技能库会累积大量低质量、重复或过时的技能,导致:

          • 检索效率下降(技能太多,匹配时噪声增多)
          • Agent可能调用不准确的技能产生错误结果
          • 维护成本增加(难以判断哪些技能可信)

          核心原则是:技能不是越多越好,而是越精越好。以下是一套可操作的技能治理流程。

          10.7.2 技能审查流程

          当Hermes自动生成一个新技能后,建议用户通过试用期审查来确认技能的安全性:

          阶段操作验收标准
          试用期(1周)技能自动标记experimental,仅在该会话中试运行默认不加载到全局索引
          审查期手动执行/skill review <技能名>触发审查审查者确认无误
          审核验收审查通过后技能标记为verified可被其他会话共享使用

          审查要点

          1. 准确性验证:技能描述是否与实际工作流一致
          2. 安全性检查:技能中是否包含敏感命令或可疑API调用
          3. 完整性评估:是否有遗漏的关键步骤
          4. 效率评估:是否有更优的实现方式

          进行审查:Hermes Agent提供了一个/skill review <技能名>审查命令,运行后Agent会启动轻量级验证流程,返回技能的总体评价和存在的风险点。如果技能存在安全隐患,审查结果会明确提示“不推荐在生产环境使用”。

          10.7.3 技能淘汰机制

          当技能质量持续下降或因功能重复需要被移除时,有两种处理方式:

          方式一:手动删除

          bash

          # 从磁盘删除技能文件
          rm -rf ~/.hermes/skills/<skill-name>/

          或在对话中执行:

          /skill delete <技能名>

          方式二:强制Agent自动淘汰

          Hermes内置了技能评分机制,当技能连续多次被标记为“不推荐”或使用频率接近0时,Agent可触发自动淘汰流程,将技能移入~/.hermes/skills/archived/目录,而不是直接删除——你可以随时恢复它们。

          10.7.4 技能版本管理

          Hermes技能系统支持简单的版本控制:

          • 开发分支:默认生成新技能时版本为0.1.0-alpha,标记为实验性
          • 稳定分支:通过审查后建议用户手动提升版本并进行锁定
          • 回滚机制:如果更新后的技能效果不如旧版,可通过/skill rollback <技能名>恢复上一个稳定版本

          ✏️ 即时自测:自动生成的技能应该经过什么流程才能成为“正式技能”被所有会话共享使用?

          ✏️ 自测答案:试用期标记为experimental → 审查期验证准确性和安全性 → 审核通过后标记为verified,可供其他会话使用。

          🛠️ 实践任务(本节)

          1. 检查技能库中是否有旧技能需要清理
          2. 对某个反复被Agent调用的技能执行/skill review进行审查
          3. 如发现无用技能,动手删除它

          💭 本节总结(不看书写3行):

            📊 用时记录:计划____min → 实际____min → 偏差原因:________

            第10章 参考资料与扩展阅读

            1. 深入源码:Hermes Agent 如何实现 “Self-Improving”(阿里云) https://developer.aliyun.com/article/1730226(Memory三层、Skill自动生成与Nudge Engine闭环)
            2. 轩轩AI:Hermes Agent 官方文档 https://docs.hermesagent.com/learning/skills
            3. 自我进化技能系统:Skill autogen
            4. Hermes Agent:能自我进化的AI智能体,不用手写Skill也能持续变强教程(阿里云) https://developer.aliyun.com/article/1727118(核心创新点+自进化闭环详解)
            5. Hermes 自动提取技能(华为云) https://bbs.huaweicloud.com/blogs/476436(SKILLS_GUIDANCE源码+create/patch完整流程)
            6. Hermes Agent的Skills、Plugins、Gateway深度解析(CSDN) https://blog.csdn.net/u011265143/article/details/160429498(Skill本质“知识文档”+渐进式披露+Plugins/Skills区别)
            7. Harness Engineering+Hermes Agent(ProcessOn) https://www.processon.com/view/69dda36d11fa1301dd52494c(执行-评估-优化-沉淀完整学习闭环)
            8. 〖实战〗Hermes Agent 深度体验(爱可网) https://www.e-com-net.com/article/2044747350034931712.htm(三层记忆/自动Skill/模型无关架构/数据飞轮)
            9. 爱马仕agent成长机制,自进化学习循环深度揭秘(AI-Indeed) https://www.ai-indeed.com/encyclopedia/19165.html(学习循环四个模块+技能自我优化)
            10. Hermes Agent vs OpenClaw Detailed Comparison(阿里云) https://developer.aliyun.com/article/1725145(设计哲学、功能矩阵全对比)
            11. Hermes与OpenClaw:智能体框架的差异化竞争与融合实践(百度开发者) https://developer.baidu.com/article/detail.html?id=6734877(电商客服自动生成复合技能包)
            12. Agent.ai: Hermes Agent Review & Docs https://agent.ai/agents/hermes-agent
            13. HermesAgent 安全沙箱配置(百度开发者) https://developer.baidu.com/article/detail.html?id=6758173

            第二篇综合任务

            任务:完成以下所有检查项,并记录输出。

            🔰 强制任务(1小时,必须完成)

            • 完成一次需要5次以上工具调用的复杂任务,观察Hermes是否自动生成了Skill
            • 检查~/.hermes/skills/目录,确认新生成的SKILL.md是否存在
            • 阅读生成的SKILL.md,理解其结构和内容
            • 执行hermes skills list查看当前技能库
            • 执行/skill view <一个已有技能>查看技能详情
            • 执行/skill search <关键词>体验技能搜索
            • 检查安全沙盒配置:cat ~/.hermes/config.yaml | grep -A 10 execution

            🚀 进阶任务(1小时,推荐完成)

            • 对照10.7节的技能审查流程,对一个实验性技能执行/skill review进行审查
            • 如发现技能有更新空间,尝试使用patch机制让Agent修正它
            • 体验/skill disable禁用某个技能,观察Agent的调用行为变化
            • 配置allowed_commands白名单,测试敏感命令是否被拦截
            • (可选)探索agentskills.io官方文档,了解如何与其他平台共享技能

            完成后,保存一份技能库快照,命名为chapter10_skills_snapshot.txt,至少包含:

            • hermes skills list的输出
            • 至少一个自动生成技能的文件内容(可以复制关键部分)
            • 你的技能审查记录和安全配置摘要

            龙马的评审:

            “10.2节的SKILLS_GUIDANCE我在源码里翻过,逻辑清晰透彻。但这里要提醒一件事——自动技能生成要杜绝把错误的工作流也固化成技能。如果你在某个不正确的操作后对Agent说‘记住了’,它真的会学歪。所以每次任务结束后的审查确认非常重要,尤其是关键业务流程。另外,/skill review命令在实际调试中非常有用,但也别太依赖它——自动生成技能中最有用的往往是那些‘从错误中恢复’时产生的补救型技能,它的可靠性反而比那些一步到位的理论最优技能更扎实,因为它是用真实问题‘喂’出来的。”

            沈飞的评审:

            “10.4节Hermes与OpenClaw的对比给出了两条路线的选择建议,这点在量化场景里尤其重要。

            策略研发用Hermes Skill——因为它从因子分析中逐步沉淀方法论,每次类似因子上来就有现成流程。

            交易执行用OpenClaw Skill+确定性规则——因为交易信号的执行顺序必须精确可控,不能允许Agent在中间步骤有任何漂移。

            建议在生产环境启动前,先对你的量化Skill清单做一次质量审计

            • 哪些Skill是交易相关的?必须走只读+审批+隔离流程
            • 哪些Skill是重复的?清理以降低Agent决策混杂
            • 哪些Skill已经过时?及时淘汰避免干扰

            另外,如果希望Hermes自动生成的量化策略Skill在团队内共享,可以考虑按照agentskills.io标准导出后,集中放在一个共享库中统一审查和分发。毕竟量化策略的质量直接关系到实盘收益,不能只靠Agent自己把关。”

            下一章预告:第11章 Hermes工具集与子Agent委托 —— 你将掌握Hermes内置的47+工具、MCP协议扩展、子Agent并行委托等高级能力,开始构建真正能够执行复杂生产任务的Agent系统。

            © 版权声明
            THE END
            喜欢就支持一下吧
            点赞7 分享
            评论 抢沙发

            请登录后发表评论

              暂无评论内容