2026 Hermes Agent Skills 进阶全攻略:SKILL.md、Bundles 与 GEPA 自进化决策指南
2026 年初 Nous Research 发布 Hermes Agent,两个月内 GitHub Star 突破 16 万——核心卖点不是更大模型,而是 "the agent that grows with you"。这一切的底层,正是可标准化、可进化、跨会话持久的 Skills(技能)系统。本文跳过入门安装(可参考《Hermes Agent 保姆级安装教程》),直接进入进阶:SKILL.md 格式、Progressive Disclosure、Skill Bundles、条件激活、Tap 发布,以及 GEPA + DSPy 如何让技能自动越跑越好。
1. 三大痛点:为什么 Hermes Skills 系统值得单独深入研究
许多开发者把 Hermes 当「又一个 ChatGPT 壳」,却忽略了 Skills 才是长期 ROI 最高的模块:
- Token 成本失控:把 SOP 全塞进 System Prompt,每次对话都烧 Token;Skills 的 Progressive Disclosure 让激活前零消耗。
- 知识无法沉淀:一次性 Prompt 随会话消失;Skills 是跨会话的程序性记忆,可版本化、可共享、可进化。
- 工作流重复触发:复杂任务需逐个
/skill-name;Skill Bundles 把多技能打包成一条斜杠命令。
进阶读者应聚焦五个问题:Progressive Disclosure 如何控 Token?条件激活怎么用?Bundles 如何一键触发?DSPy + GEPA 如何让 Skills 自动改进?社区有哪些现成优质仓库?下文逐一拆解。
2. 核心概念速览:Skills ≠ Prompts,Skills ≠ Memory
混淆三者会导致架构选型错误。核心记忆口诀:Prompt = 便利贴(当次有效);Memory = 便签本(永久笔记,随时在手边);Skill = SOP 手册(步骤化流程,需要时翻阅)。
| 维度 | 普通 Prompt | Memory(记忆) | Skills(技能) |
|---|---|---|---|
| 持久性 | 当前对话 | 跨会话,永久 | 跨会话,永久 |
| 加载时机 | 每次都在上下文中 | 每次会话自动注入 | 按需加载(关键差异) |
| Token 成本 | 每次消耗 | 小而稳定 | 激活前零消耗 |
| 内容类型 | 任意意图描述 | 用户偏好/事实 | 程序性步骤(如何做某件事) |
| 维护者 | 用户手动 | Agent 自动 | 用户 + Agent 均可 |
| 可共享性 | 不方便 | 私有 | 可发布为社区 Tap |
3. SKILL.md 格式深度解析与 Progressive Disclosure
3.1 基础结构(agentskills.io 开放标准)
所有 Hermes Skills 遵循 agentskills.io 开放标准,确保跨 Agent 可移植(Hermes、Claude Code、Cursor 均可使用)。
---
name: my-skill # 必填:小写字母+连字符,≤64字符
description: | # 必填:≤1024字符,建议以"Use when..."开头
Use when the user needs to [...].
Handles [...] and [...].
version: 1.0.0
license: MIT
compatibility: Requires git, docker
allowed-tools: Bash(git:*) Read
metadata:
hermes:
tags: [devops, automation]
category: software-development
related_skills: [github-pr-workflow, test-driven-development]
requires_toolsets: [terminal]
fallback_for_toolsets: [web]
---
# My Skill Title
## Overview
## When to Use
## Procedure
## Common Pitfalls
## Verification Checklist
3.2 技能目录结构(模块化设计)
~/.hermes/skills/
└── my-category/
└── my-skill/
├── SKILL.md # 主文件(核心步骤,建议 ≤500 行)
├── references/ # API 参考(按需加载)
├── templates/ # 可复用模板
└── scripts/ # Agent 可直接执行的脚本
3.3 Progressive Disclosure 三级加载(Token 控制核心)
| 加载层级 | 内容 | 触发时机 | Token 成本 |
|---|---|---|---|
| Level 0 | name + description |
每次会话开始,所有技能 | ~3K(全部技能合计) |
| Level 1 | 完整 SKILL.md 正文 | 用户 /skill-name 或 LLM 判断需要 |
取决于文件长度 |
| Level 2 | references/ scripts/ 文件 | LLM 执行时判断需要 | 按需,单文件 |
写作建议:description 是 Level 0 的全部信息,LLM 靠它决定是否加载完整技能。写清「什么时候用」比「是什么」更重要。
4. Skill Bundles:一条命令触发完整工作流
Skill Bundles 是 Hermes 2026 新增特性,目前最被低估。Bundle 是轻量 YAML,把多个相关技能打包成一个斜杠命令;执行 /bundle-name 时所有列出的技能同时加载。
文件位置:~/.hermes/skill-bundles/<slug>.yaml
name: backend-dev
description: |
Full backend feature workflow — code review, TDD, and PR management.
skills:
- github-code-review
- test-driven-development
- github-pr-workflow
instruction: |
Always write failing tests first before implementation.
Never push directly to main.
进阶场景示例:
- AI 研究员工作流(research-session):arxiv + deep-research + plan + excalidraw,每次会话先查近期论文并画架构图。
- MLOps 部署流水线(mlops-deploy):vllm + llama-cpp + github-pr-workflow + systematic-debugging,部署前后跑推理基准并记录量化设置。
Bundle 优先级规则:
- Bundle 与单个 Skill 同名时,Bundle 优先。
- Bundle 中 Skill 未安装时跳过而不报错,加载时提示缺失。
- Bundle 不修改系统提示,不会导致 Prompt Cache 失效(Token 友好)。
hermes bundles create backend-dev \
--skills github-code-review,test-driven-development,github-pr-workflow \
--instruction "Always write failing tests first"
5. 条件激活(Conditional Activation):智能感知环境
技能可根据当前会话中工具的可用性自动显示或隐藏。在 metadata.hermes 下配置:
metadata:
hermes:
requires_toolsets: [web]
requires_tools: [web_search]
fallback_for_toolsets: [browser]
fallback_for_tools: [browser_navigate]
| 字段 | 行为逻辑 |
|---|---|
| requires_toolsets | 列出的工具集不存在时,隐藏此技能 |
| requires_tools | 列出的工具不存在时,隐藏此技能 |
| fallback_for_toolsets | 列出的工具集存在时,隐藏此技能(作为备选方案) |
| fallback_for_tools | 列出的工具存在时,隐藏此技能 |
经典场景:免费/付费搜索智能切换。配置 duckduckgo-search 的 fallback_for_tools: [web_search]:当用户配置了 FIRECRAWL_KEY / BRAVE_SEARCH_KEY 时,付费 web_search 激活,DuckDuckGo 技能自动消失以节省 Token;API 不可用时备选方案自动浮现。
平台感知示例:telegram-notify 可设 requires_toolsets: [messaging] 与 platforms: [telegram, discord];通过 hermes skills TUI 可为 CLI、Telegram、Discord 独立开关技能。
6. Skills Hub 与开源社区生态
6.1 官方安装渠道
hermes skills install official/research/arxiv
hermes skills install https://example.com/SKILL.md --name my-skill
hermes skills install github:openai/skills/k8s
hermes skills tap add github:my-org/my-skills
6.2 值得关注的开源技能仓库
| 仓库 | 描述 | 亮点 |
|---|---|---|
| ChuckSRQ/awesome-hermes-skills | 精选生产级技能合集 | Deep Research、MLOps、Apple 集成;23 技能集成 GitHub Copilot |
| amanning3390/hermeshub | 社区技能注册中心 | 安全扫描认证、API 与市场功能 |
| kevinnft/ai-agent-skills | 191 个技能,28 分类 | 支持 Hermes/Claude Code/Cursor 一键安装 |
| NousResearch/hermes-agent | 官方主仓库 | 权威来源,含全部内置 Skills 与编写规范 |
agentskills.io 开放标准意味着 Skills 可在 Hermes、Claude Code、Cursor、OpenCode 之间跨平台使用;可用 skills-ref validate ./my-skill 验证格式合规性。
7. 发布你自己的 Skill Tap:团队与社区共享
创建 GitHub 仓库作为 Tap,让整个团队甚至社区订阅你的技能集——这是目前最少有人讲的进阶技巧。
my-skills-tap/
├── skills.sh.json
├── mlops/vllm-deploy/SKILL.md
├── research/paper-summarizer/SKILL.md
└── README.md
skills.sh.json 控制 Hub 分类展示;团队部署:
hermes skills tap add github:your-org/your-skills-tap
hermes skills tap add github:your-org/private-skills --token $GH_TOKEN
hermes skills tap update
hermes skills tap list
版本管理建议:将 ~/.hermes/skills/ 纳入 Git,跨设备 git pull && hermes skills reset 同步后重建内置技能。
8. Self-Evolving Skills:用 GEPA + DSPy 让技能自动进化
这是 Hermes 最前沿、区别于同类工具的核心竞争力。GEPA(Genetic-Pareto Prompt Evolution) 是 2026 年 ICLR Oral 成果,集成于 hermes-agent-self-evolution。核心思路:不微调模型权重,只通过分析执行轨迹、生成变体、多目标帕累托优化来改进 SKILL.md 文本。每次优化约 $2–10(纯 API 调用,无需 GPU)。
8.1 GEPA 五阶段进化流程
- Stage 1 执行轨迹收集:从 SQLite 读取全量推理轨迹(工具调用、分支、错误)。
- Stage 2 反思式失败分析:LLM 生成「可操作侧信息」——不是「失败了」,而是「为什么失败」。
- Stage 3 靶向变异:针对失败原因生成 10–20 个 SKILL.md 变体。
- Stage 4 多目标帕累托评估:同时优化成功率 × Token 效率 × 速度。
- Stage 5 人工审查 PR:最优变体 → 生成 PR → 人工批准后上线。
8.2 快速上手
git clone https://github.com/NousResearch/hermes-agent-self-evolution
cd hermes-agent-self-evolution && pip install -r requirements.txt
export HERMES_AGENT_PATH=~/.hermes
python -m evolution.skills.evolve_skill \
--skill github-code-review --iterations 10 --eval-source synthetic
python -m evolution.skills.evolve_skill \
--skill github-code-review --iterations 10 --eval-source sessiondb
8.3 四大安全护栏
- 全量测试套件:
pytest tests/ -q必须 100% 通过。 - 大小限制:Skills ≤ 15KB,工具描述 ≤ 500 字符。
- Prompt Cache 兼容性:不能在会话中途修改导致缓存失效。
- 语义保留检查:不能偏离技能原始核心目的。
8.4 五阶段进化路线图(官方状态)
| 阶段 | 优化目标 | 引擎 | 状态 |
|---|---|---|---|
| Phase 1 | Skill 文件(SKILL.md) | DSPy + GEPA | ✅ 已实现 |
| Phase 2 | 工具描述 | DSPy + GEPA | 🔲 计划中 |
| Phase 3 | 系统提示片段 | DSPy + GEPA | 🔲 计划中 |
| Phase 4 | 工具实现代码 | Darwinian Evolver | 🔲 计划中 |
| Phase 5 | 持续改进循环 | 自动化流水线 | 🔲 计划中 |
跨平台轨迹联合:Skills 遵循 agentskills.io,可将 Claude Code 或 Gemini CLI 轨迹喂给 GEPA:
python -m evolution.skills.evolve_skill \
--skill github-code-review --iterations 10 --eval-source mixed \
--trace-dirs ~/.claude/traces,~/.hermes/sessions
9. Plugin 技能:扩展 Hermes 的边界
插件将技能打包成命名空间(plugin:skill):不出现在默认 skills_list(减少噪声)、仅用户明确调用时激活(Opt-in)、插件内技能可相互引用。
skill_view("superpowers:writing-plans")
# 加载时自动展示同插件兄弟技能
在插件 plugin.yaml 中声明:
name: my-hermes-plugin
skills:
- name: writing-plans
path: skills/writing-plans/SKILL.md
- name: editing
path: skills/editing/SKILL.md
10. 技能编写进阶技巧(工程师视角)
10.1 description 决定激活精度
❌ 太模糊:Helps with code. → ✅ 明确触发:Use when reviewing a pull request... Do NOT use for writing new code.
10.2 Pitfalls 是质量分水岭
高质量 Pitfalls 应含:具体失败模式、根因分析、可操作修复步骤——例如 CSS selector 脆弱性、GitHub API 限速、大 diff Token 溢出及对应 chunking 策略。
10.3 脚本化与 skill_manage
Procedure 中引用 scripts/extract_schema.py,失败时加载 references/manual-extract.md。Agent 可通过 skill_manage(action='patch'| 'create') 动态维护技能;在 config.yaml 设 skills.agent_writes_require_approval: true 开启人工审批门。
10.4 技能大小控制
| 技能大小 | 建议 |
|---|---|
| < 500 行 | 全部放在 SKILL.md |
| 500–1000 行 | 详细参考移至 references/ |
| > 1000 行 | 强烈建议拆分;考虑是否是两个技能 |
| > 15KB | 超过 GEPA 限制,必须拆分 |
11. 实战案例:为你的技术博客工作流构建 Skills
构建 blog-workflow Bundle,打包 seo-keyword-research、outline-generator、code-example-validator、bilingual-checker、publish-to-platform:
name: blog-workflow
description: Full tech blog writing workflow.
skills:
- seo-keyword-research
- outline-generator
- code-example-validator
- bilingual-checker
- publish-to-platform
instruction: |
Always research SEO keywords before writing.
Ensure all code examples are tested and runnable.
Generate both Chinese and English title options.
自定义 seo-keyword-research 技能应在会话开始时检索中英文长尾词(「X 怎么用」「how to X」「X vs Y」),输出 3–5 主词 + 10–15 长尾词矩阵,并注意「Agent / 智能体 / 代理」等平台术语差异。
12. 常见问题 FAQ
Q: Skills 和 MCP 有什么区别?
Skills 是程序性知识文档;MCP 是工具接口。MCP 提供数据库访问,Skill 教 Agent 如何正确执行迁移——二者互补。
Q: 为什么 Skill 改了但 Agent 还在用旧版?
需 /reset 开新会话,或安装加 --now(会失效 Prompt Cache)。
Q: GEPA 进化出的技能安全吗?
四大护栏 + 人工 PR 审查;语义漂移检测确保不偏离原始目的,仍建议 review 每个 diff。
Q: 如何在 Claude Code 中复用 Hermes Skills?
复制到 ~/.claude/skills/ 或使用 kevinnft/ai-agent-skills 多端安装脚本。
Q: Skill 中文内容影响 Token 效率吗?
中文每字约 1–1.5 token,与英文相近;但 description 建议保留英文(或中英双语),LLM 对英文 description 匹配更精确。
13. 延伸阅读与远程 Mac 7×24 决策
13.1 官方与社区资源
- Hermes Agent 官方文档 · 中文文档
- Skills System 完整参考 · agentskills.io 开放标准
- GEPA 自进化工具 · GEPA 算法 · DSPy 框架
- 站内互链:《Cursor Agent Skill 完整指南》《OpenRouter CLI 与 Hermes 选型》
13.2 部署场景决策矩阵
| 场景 | 本机 Mac / 笔记本 | 远程 Mac 7×24(SFTPMAC) |
|---|---|---|
| GEPA 进化 + sessiondb | 合盖断链,轨迹不完整 | 持续收集会话轨迹,进化样本更充分 |
| Telegram/Discord Gateway | 睡眠/Wi-Fi 切换导致 Bot 离线 | launchd 守护,Gateway 常在线 |
| 团队 Tap 同步 | 每人本地 ~/.hermes 不一致 | 统一节点 + SFTP/rsync 同步 skills 目录 |
| Skill Bundles 长会话 | 内存与 Token 争抢其他应用 | Apple Silicon 统一内存,多 Skill 并行更稳 |
13.3 总结:从本机实验到生产级 Agent 节点
本文覆盖了 Hermes Skills 进阶全链路:概念对比 → SKILL.md 与 Progressive Disclosure → Skill Bundles → 条件激活 → Hub 生态 → Tap 发布 → GEPA 自进化 → Plugin 扩展 → 编写技巧 → 博客工作流实战。掌握这套体系,你的 Agent 将从「一次性 Prompt 消耗品」升级为可版本化、可共享、可自我改进的程序性资产。
然而,本机运行 Hermes 有明确边界:笔记本合盖即断链、GEPA 的 sessiondb 轨迹采集不完整、Telegram Gateway 因睡眠离线、团队 Tap 在各开发者机器上版本漂移。需要 7×24 常在线 收集进化轨迹、托管 Gateway、或统一同步 ~/.hermes/skills/ 的团队,在 Apple Silicon 远程 Mac 上运行 Hermes 更可靠——原生 launchd 守护、与 macOS 同构的工具链、SFTP/rsync 安全同步技能目录。
SFTPMAC 远程 Mac 租赁面向 Hermes Agent Skills 工作流:7×24 Gateway、GEPA 轨迹持续采集、团队 Tap 目录同步,比「家用 Mac 兼 Agent 宿主」更适合把 Skills 体系当生产入口。从写第一个 SKILL.md 开始,今天就能让 Agent 越用越强。