Hermes Agent Skills 为何值得单独深入研究?
与传统「一次性 Prompt」不同,Hermes 的技能体系是一套有标准、可进化、跨会话持久的程序性记忆。安装入门可看保姆级安装教程,记忆机制可看三层记忆篇;本篇直接进入进阶区域。
Token 成本失控:把所有 SOP 写进系统 Prompt,每次会话全量加载;Skills 的 Progressive Disclosure 在激活前零消耗。
工作流碎片化:代码审查、TDD、PR 管理要逐个 /skill-name 触发;Skill Bundles 一条命令同时加载整套技能。
环境感知缺失:付费 web_search 与免费 DuckDuckGo 同时出现在提示词;条件激活让技能根据工具可用性自动显隐。
技能质量停滞:手写 Skill 写完即固化;GEPA(Genetic-Pareto Prompt Evolution,ICLR 2026 Oral)通过执行轨迹自动改进 SKILL.md 文本,无需微调模型权重。
团队共享困难:技能散落在个人目录;Tap 仓库 + hermes skills tap add 实现一键订阅整库技能。
| 维度 | 普通 Prompt | Memory(记忆) | Skills(技能) |
|---|---|---|---|
| 持久性 | 当前对话 | 跨会话,永久 | 跨会话,永久 |
| 加载时机 | 每次都在上下文中 | 每次会话自动注入 | 按需加载 |
| Token 成本 | 每次消耗 | 小而稳定 | 激活前零消耗 |
| 内容类型 | 任意意图描述 | 用户偏好/事实 | 程序性步骤 |
| 维护者 | 用户手动 | Agent 自动 | 用户 + Agent 均可 |
| 可共享性 | 不方便 | 私有 | 可发布为社区 Tap |
口诀:Prompt = 便利贴;Memory = 便签本;Skill = SOP 手册——需要时翻阅,不需要时不占上下文。
SKILL.md 格式深度解析与 Progressive Disclosure
所有 Hermes Skills 遵循 agentskills.io 开放标准,确保跨 Agent 可移植(Hermes、Claude Code、Cursor 均可使用)。可用 skills-ref validate ./my-skill 验证格式合规性。
---
name: my-skill
description: |
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
推荐目录结构:
~/.hermes/skills/
└── my-category/
└── my-skill/
├── SKILL.md # 核心步骤,建议 ≤500 行
├── references/ # API 参考,按需加载
├── templates/ # 可复用模板
└── scripts/ # Agent 可直接执行的脚本
| 加载层级 | 内容 | 触发时机 | Token 成本 |
|---|---|---|---|
| Level 0 | name + description | 每次会话开始,所有技能 | ~3K(全部技能合计) |
| Level 1 | 完整 SKILL.md 正文 | 用户 /skill-name 或 LLM 判断需要 | 取决于文件长度 |
| Level 2 | references/ scripts/ 文件 | LLM 执行时判断需要 | 按需,单文件 |
写作建议:description 是 Level 0 的全部信息,LLM 靠它决定是否加载完整技能。写清「什么时候用」比「是什么」更重要;建议以 Use when... 开头,≤1024 字符。
Skill Bundles 与条件激活:一键工作流与环境感知
Skill Bundles 是 Hermes 2026 新增特性:轻量 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.
Bundle 优先级规则:Bundle 与单个 Skill 同名时Bundle 优先;未安装的 Skill 跳过不报错;Bundle 不修改系统提示,不会导致 Prompt Cache 失效。CLI 快速创建:
hermes bundles create backend-dev \ --skills github-code-review,test-driven-development,github-pr-workflow \ --instruction "Always write failing tests first"
条件激活(Conditional Activation)让技能根据当前会话工具可用性自动显示或隐藏。在 metadata.hermes 下配置:
| 字段 | 行为逻辑 |
|---|---|
requires_toolsets | 列出的工具集不存在时,隐藏此技能 |
requires_tools | 列出的工具不存在时,隐藏此技能 |
fallback_for_toolsets | 列出的工具集存在时,隐藏此技能(备选方案) |
fallback_for_tools | 列出的工具存在时,隐藏此技能 |
经典场景:配置 FIRECRAWL_KEY / BRAVE_SEARCH_KEY 后付费 web_search 激活,DuckDuckGo 技能通过 fallback_for_tools: [web_search] 自动从提示词消失;API 不可用时备选方案自动浮现。平台感知示例:requires_toolsets: [messaging] + platforms: [telegram, discord],通过 hermes skills TUI 可为不同平台独立开关技能。
Skills Hub、Tap 发布、GEPA 自进化与进阶编写
官方安装渠道:
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 hermes skills tap update hermes skills tap list
| 仓库 | 亮点 | Stars |
|---|---|---|
| awesome-hermes-skills | 生产级合集,Deep Research、MLOps、Apple 集成 | 67 |
| hermeshub | 社区注册中心,提示注入安全扫描 | 166 |
| ai-agent-skills | 191 个技能,28 分类,跨 Hermes/Claude/Cursor | 10 |
| hermes-agent | 官方权威来源,含编写规范 | — |
发布团队 Tap:创建 GitHub 仓库,用 skills.sh.json 控制 Hub 分类,团队成员执行 hermes skills tap add github:your-org/your-skills-tap;私有仓库加 --token $GH_TOKEN。建议将 ~/.hermes/skills/ 纳入 Git 版本控制实现跨设备同步。
GEPA + DSPy 自进化(hermes-agent-self-evolution):不微调模型权重,通过分析执行轨迹、生成变体、多目标帕累托优化改进技能文本。每次优化约 $2–10(纯 API,无需 GPU)。五阶段流程:① 执行轨迹收集(SQLite);② 反思式失败分析;③ 靶向变异(10–20 个 SKILL.md 变体);④ 多目标帕累托评估(成功率 × Token 效率 × 速度);⑤ 人工审查 PR。
export HERMES_AGENT_PATH=~/.hermes
python -m evolution.skills.evolve_skill \
--skill github-code-review \
--iterations 10 \
--eval-source sessiondb
python -m evolution.skills.evolve_skill \
--skill github-code-review \
--iterations 10 \
--eval-source mixed \
--trace-dirs ~/.claude/traces,~/.hermes/sessions
四大安全护栏:全量 pytest 100% 通过;Skills ≤ 15KB;Prompt Cache 兼容;语义保留检查。官方进化路线图:Phase 1 Skill 文件(✅ 已实现)→ Phase 2 工具描述 → Phase 3 系统提示 → Phase 4 工具实现代码 → Phase 5 全自动循环。
Plugin 技能以 plugin:skill 命名空间加载,不出现在默认 skills_list,仅用户明确调用时激活,插件内技能可相互引用。进阶编写要点:description 写清触发条件;Common Pitfalls 含具体失败模式与修复步骤;大技能拆到 references/(>500 行建议拆分,>15KB 超 GEPA 限制);skill_manage 工具让 Agent 动态维护技能,可在 config.yaml 设 agent_writes_require_approval: true 开启人工审批门。
安装 Hermes 并验收:hermes doctor 通过,Gateway 7×24 在线(见安装教程)。
编写首个 SKILL.md:按 agentskills.io 标准,description 以 Use when... 开头,正文含 Procedure 与 Pitfalls。
创建 Skill Bundle:hermes bundles create 或手写 YAML 到 ~/.hermes/skill-bundles/。
配置条件激活:在 metadata.hermes 添加 requires_toolsets / fallback_for_tools。
订阅社区 Tap:hermes skills tap add github:...,定期 tap update。
可选 GEPA 进化:克隆 self-evolution 仓库,用 sessiondb 轨迹运行 evolve_skill,人工审查 PR 后合并。
博客工作流实战案例与可引用技术数据
构建 blog-workflow Bundle 示例:打包 seo-keyword-research、outline-generator、code-example-validator、bilingual-checker、publish-to-platform,instruction 要求先调研 SEO 关键词、确保代码可运行、生成中英双语标题。自定义 seo-keyword-research 技能在 metadata.hermes 设 requires_toolsets: [web],Procedure 覆盖中文长尾(「X 怎么用」「X 教程」)与英文长尾(「how to X」「X vs Y」)及平台热榜交叉验证。
Level 0 全技能开销:约 3K tokens(所有技能 name+description 合计),对比全量注入 SOP 可省一个数量级。
GEPA 单次优化成本:约 $2–10 API 调用,无需 GPU;每次生成 10–20 个变体经帕累托筛选。
技能大小硬限制:GEPA 护栏要求 Skills ≤ 15KB,工具描述 ≤ 500 字符;SKILL.md 建议 ≤500 行,>1000 行强烈建议拆分。
注意:Skill 修改在当前会话不生效,需 /reset 或安装加 --now(会导致 Prompt Cache 失效)。description 建议保留英文或中英双语,底层 LLM 对英文 description 匹配更精确。
笔记本合盖、x86 VPS 无 macOS 路径、本地磁盘无版本管理——这些宿主方案都会打断 Skill 复利与 GEPA 轨迹积累。对于需要 7×24 Gateway、Skill 自进化与跨设备同步的生产环境,MESHLAUNCH 的 Mac Mini M4 云端裸金属租赁通常是更优解:独占 Apple Silicon、launchd 原生守护、按天/周/月弹性下单,与 Hermes 官方 macOS 路径最契合。延伸阅读:Hermes 中文文档、GEPA 算法、DSPy 框架。
Skills 是程序性知识文档(教 Agent 怎么做某事),MCP 是工具接口(给 Agent 额外工具调用能力)。两者互补:MCP 提供数据库访问,Skill 教如何正确执行数据库迁移。详见MCP Server 开发教程。
Skill 修改在当前会话不生效,需要 /reset 开启新会话,或安装时加 --now 强制刷新(会导致 Prompt Cache 失效,消耗更多 Token)。