🏗 Hermes Skill 机制结构体系

🏗 Hermes Skill 机制结构体系

Hermes Agent 的 skill 机制是 结构化程序知识 的载体——把 AI 已完成的任务流程、踩过的坑、总结的最佳实践,固化为可被下次对话自动加载的操作指南。


一、三层 Skill 体系

层级名称数量位置生命周期
L1内置 Skill
Built-in Skills
~145/opt/data/skills/<category>/Hermes 自带,不可删除
可通过 skill_manage patch 微调
L2自学 Skill
Self-learned Skills
~19/opt/data/skills/<category>/skill_manage create/edit/patch/delete
完全用户控制
L3社区 Skill
Open Skills / 外部仓库
~40~/open-skills/skills/git clone 同步
按需检查,不自动注入

二、Skill 目录结构

每个 skill 是一个目录,核心文件为 SKILL.md,可附带执行脚本、参考文档、模板文件:

skills/<category>/<skill-name>/
├── SKILL.md            ← 核心!含 YAML frontmatter + 流程指令
├── scripts/            ← 可执行的 Python/bash 脚本
│   └── *.py
├── references/         ← 参考文档、代码模式、数据规范
│   └── *.md
├── templates/          ← 模板文件(config、代码骨架)
│   └── *.j2 / *.yaml
└── assets/             ← 静态资源(图片、图标等)

SKILL.md 结构

---
name: <skill-name>               # Hermes 内的唯一标识
category: <domain>                # 分类(financial-services / software-development 等)
title: <display-title>            # 展示标题
description: <summary>            # AI 理解 skill 用途的摘要
version: 0.1.0                    # (可选)版本号
triggers:                         # 触发词列表
  - "生成 FOF 报告"
  - "SPR"
tags:                             # 标签
  - "FOF"
  - "回测"
---
# Skill 标题

## 工作流

AI 按此文档的步骤执行任务。

## Pitfalls

避坑指南、高频错误。

三、Skill 加载与触发流程

┌─────────────────────────────────────────────────┐
│              用户输入自然语言消息                    │
└─────────────────┬───────────────────────────────┘
                  │
                  ▼
┌─────────────────────────────────────────────────┐
│  Hermes 扫描所有 available_skills               │
│  对比 triggers 匹配 + 描述语义匹配                │
│  (每次对话只注入匹配的 skill)                    │
└─────────────────┬───────────────────────────────┘
                  │
          ┌───────┴───────┐
          ▼               ▼
   ┌──────────┐    ┌────────────┐
   │ 匹配成功  │    │  无匹配    │
   └────┬─────┘    └────┬───────┘
        │               │
        ▼               ▼
┌─────────────────┐   ┌─────────────────────┐
│ 注入 SKILL.md   │   │ 用通用能力处理       │
│ 到 system prompt │   │ (无 skill 辅助)    │
│ AI 按步骤执行    │   │                     │
└─────────────────┘   └─────────────────────┘
        │
        ▼
┌─────────────────────────────────────────────────┐
│  AI 完成任务 → 可选 skill_manage(action='patch') │
│  将新发现的避坑点写入 skill(自学习闭环)          │
└─────────────────────────────────────────────────┘

四、Skill 自学习闭环

阶段操作触发条件
① 创建skill_manage(action='create')完成复杂任务(5+ 工具调用)
发现可复用的工作流
② 使用skill_view(name)下次遇到匹配 trigger 时自动加载
③ 修正skill_manage(action='patch')执行 skill 过程中发现遗漏的步骤或坑
④ 删除skill_manage(action='delete')skill 过时或已被合并到其他 skill

五、skill_manage 命令参考

动作用途关键参数
create创建新 skillname, content (SKILL.md), category
patch增量更新 SKILL.mdname, old_string, new_string
edit全量替换 SKILL.mdname, content
delete删除 skillname, absorbed_into (可选迁移目标)
write_file写入附属文件name, file_path, file_content
remove_file删除附属文件name, file_path

涉及路径skill_view(name) 加载 skill 内容 → skill_manage 修改 → skills_list 列出所有可用 skill


六、数据流向

filesystem                           Hermes Agent                       User
─────────                           ────────────                       ────
skills/                              对话启动                             输入需求
├── SKILL.md  ────skill_view()──▶   扫描 triggers                          │
├── scripts/  ────terminal()───▶    匹配 → 注入 prompt                     │
├── references/                     AI 按 skill 步骤执行 ────▶           交付结果
└── templates/                           │
                                         │ 遇到新坑
                                         ▼
                                    skill_manage(patch)
                                         │
                                         ▼
                                    SKILL.md 更新 ◀── 下次复用

七、核心原则

  • Skill 是程序知识,AI 是推理引擎:Skill 记录「步骤/命令/避坑」,AI 负责「理解/分析/创作」。skill 不替代 AI 的推理能力。
  • 自学习闭环:每完成一次复杂任务,根据执行过程中的新发现 patch skill,让下次更精准。
  • 渐进式积累:不必追求一步到位的完美 skill,从最小可用版本开始,按需迭代。
  • 触发大于搜索:好的 trigger 词让 skill 在匹配时自动加载,不需要用户手动指定 skill 名。
  • 分类引导发现:Hermes 的 30 个预置分类(financial-services、software-development 等)帮助新技能找到正确归属。