惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
D
DataBreaches.Net
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
V
Visual Studio Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog RSS Feed
Recent Announcements
Recent Announcements
The Register - Security
The Register - Security
S
Secure Thoughts
Y
Y Combinator Blog
The Last Watchdog
The Last Watchdog
L
LINUX DO - 最新话题
V2EX - 技术
V2EX - 技术
腾讯CDC
GbyAI
GbyAI
G
Google Developers Blog
博客园 - 司徒正美
博客园 - 三生石上(FineUI控件)
T
The Exploit Database - CXSecurity.com
T
Threat Research - Cisco Blogs
P
Proofpoint News Feed
Schneier on Security
Schneier on Security
Microsoft Security Blog
Microsoft Security Blog
Jina AI
Jina AI
WordPress大学
WordPress大学
aimingoo的专栏
aimingoo的专栏
MyScale Blog
MyScale Blog
Help Net Security
Help Net Security
K
Kaspersky official blog
P
Privacy & Cybersecurity Law Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
AI
AI
MongoDB | Blog
MongoDB | Blog
Scott Helme
Scott Helme
J
Java Code Geeks
Engineering at Meta
Engineering at Meta
H
Heimdal Security Blog
H
Help Net Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
云风的 BLOG
云风的 BLOG
Microsoft Azure Blog
Microsoft Azure Blog
S
Security Affairs
TaoSecurity Blog
TaoSecurity Blog
The GitHub Blog
The GitHub Blog
Hacker News: Ask HN
Hacker News: Ask HN
Martin Fowler
Martin Fowler
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Project Zero
Project Zero
T
The Blog of Author Tim Ferriss
Last Week in AI
Last Week in AI

翔宇工作流

Hermes Kanban 多 Agent 编排:让多个 Agent 并行协作完成复杂任务 Hermes Agent 成本控制实战:模型路由 + 凭据池轮换 + Token 追踪 Hermes Agent + Home Assistant:用 AI 语音管家控制全屋智能家居 Hermes Agent 本地模型指南:Ollama + LM Studio 性能调优与模型选型 一人公司 AI 消息中枢:Hermes Agent 年省 12000 元实测 Hermes Agent 变现指南:7 种可落地的 AI Agent 商业模式详解 Hermes SOUL.md 人设工程 + 三层记忆深度解析:让 Agent 精确遵循你的人格 Hermes 语音模式完全攻略:CLI + Telegram + Discord 三表面免费搭建 循环工程 Loop Engineering 指南:Skill 解决终止条件难题 用 Hermes Agent 搭建跨平台 AI 消息助手:一个 Agent 同时管 Telegram + Discord + 微信 Ghost 建站最佳实践:一人公司从零到有订阅者的完整手册 Hermes Agent Cron 定时自动化:任务链 + 预运行门控 + 零成本触发 Agent 工作流完全指南 2026:一人公司如何用多 Agent 自动化运营 Claude Code + Hermes MCP 消息桥接实战:任务完成自动通知手机 AI 知识库最佳实践:CLAUDE.md 多级路由 + 纯文件系统完整指南 零基础 AI 编程入门 2026:不会写代码,也能用 AI 做出产品 2026 年 8 大 AI Agent 横评:从 OpenClaw 到 Hermes,谁最适合你? Runway Gen-4.5 提示词怎么写?八层框架从零到电影级 2026 AI 编程工具横评:Cursor vs Claude Code vs Codex vs Windsurf 深度对比 Codex 最佳实践完整指南 Hermes Agent Docker 部署实战:VPS 24/7 运行完整方案 Veo 3.1 视频提示词怎么写?八层框架从零到电影级 Claude Code 完全指南 2026:安装到 Agent 工作流 | 翔宇工作流 AI 配图不用找参考图:GPT Image 2 + 100 种风格方案 | 翔宇工作流 Hermes Agent 完全指南:架构、部署、成本对比与 14 篇实战教程导航 可灵 AI 视频提示词怎么写?八层框架从零到电影级 MCP 最佳实践:8 大场景推荐 + 安装提示词 Vibe Coding 完全指南 2026:氛围编程入门到进阶 | 翔宇工作流 即梦 Seedance 2.0 提示词怎么写?八层框架从零到电影级 Claude Code /loop 实战指南:十个场景让 AI 替你干活 | 翔宇工作流 Claude Code 最佳实践完整指南 CLAUDE.md 最佳实践 | 6 套完整模板直接复制 小红书 AI 运营完全指南(2026):选品到批量发布 Agent 工作流实战指南(2026):从单 Agent 到多 Agent 协作 Agent 编程方法论(2026):从驾驭工程到上下文工程 AI 知识库构建指南(2026):从文档到 Agent 可用的知识资产 自媒体 AI 自动化指南(2026):从手动创作到 Agent 驱动 AI 图片与视频生成指南(2026):提示词、工具、工作流 一人公司 AI 创收指南(2026):从副业到全职的完整路径 Claude Code Skill 开发指南(2026):从零开发到变现 Claude Code 动态工作流(Dynamic Workflows)+ ultracode 实战 | 翔宇工作流 什么是 Harness Engineering(驾驭工程)?概念到实战(2026)| 翔宇工作流 多Agent协作完全指南:SSH+tmux 跨机器 AI 调度 AI 编程工具中文教程到底去哪学?我做了 aiworkflowtutorials.com Claude Code thinking modes 新手指南 | 翔宇工作流 Claude Code Subagents 新手指南 | 翔宇工作流 Claude Code Slash Commands 新手指南 | 翔宇工作流 Claude Code Plugins 新手指南 插件生态 | 翔宇工作流 Claude Code 权限新手指南:6 模式 + 沙箱 Claude Code MCP 怎么装新手指南 | 翔宇工作流 Claude Code Hooks 新手指南 | 翔宇工作流 Claude Code 上下文窗口新手指南 1M context | 翔宇 OpenAI Codex 团队协作指南:单人到小团队 | 翔宇工作流 怎么给 OpenAI Codex 派活不跑偏?7 步任务拆解 | 翔宇工作流 Codex Skills/Subagents/Hooks 新手指南 | 翔宇工作流 OpenAI Codex 沙箱与审批怎么配?双层防线新手指南 | 翔宇工作流 OpenAI Codex 模型怎么选?任务×推理档位速查表 | 翔宇工作流 OpenAI Codex MCP 服务器怎么装?新手指南 | 翔宇工作流 AI 副业实战中文教程站:8 条路怎么选 | 翔宇工作流 AI 自媒体运营中文教程站:6 平台怎么选 | 翔宇工作流 vibe coding 第一个项目手把手 | 翔宇工作流 OpenCode 安装教程:Claude Code、Codex 的第三条后路 Q-Day OpenClaw AI 销售介绍:Agent 销售闭环 | 翔宇工作流 vibe coding 工具怎么选?按身份选 | 翔宇工作流 SEO工具实战指南:用112条命令完成网站SEO诊断、GEO优化与AI搜索优化全流程 GoodTrans 介绍:长文档翻译交付可审校成果 | 翔宇工作流 AI 编程入门:零基础别再先学语法 | 翔宇工作流 学员实践:openbili AI 接入驾驶舱介绍 | 翔宇工作流 学员实践:42织序播客介绍 | 翔宇工作流 AI 编程中文教程哪里找?10 大主流工具公开站完整指南 vibe coding 是什么?能不能用、适合谁 | 翔宇工作流 Animaker Dev 介绍:头像照片+参考视频生成 AI 动画的学员实践 | 翔宇工作流 2026 RSS 订阅源大全:开源 1745 个源 + Claude Code 工作流
Hermes Skill 自我进化系统:让 AI 助手越用越聪明
翔宇 · 2026-06-24 · via 翔宇工作流

Hermes Agent 的 Skill 系统是什么?一句话:Agent 在完成复杂任务后,自动将解法保存为可复用的技能文件;下次遇到类似问题直接加载,遇到新坑自动修补,长期不用的技能自动归档——创建、使用、修补、淘汰形成循环,这就是 Hermes 被称为「自我进化 Agent」的核心原因。

不是你手动写好一堆规则喂给它,也不是简单的对话历史记忆。Hermes 的 Skill 是 Agent 的程序性记忆(Procedural Memory)——它记住的不是「发生过什么」,而是「怎么做一件事」。Claude Code 的 Skill 需要人编写或从市场安装,Cursor Rules 是开发者手动维护的静态配置,OpenAI Custom GPT Actions 是一次性定义的 API Schema。Hermes 的 Skill 是 Agent 从自己的执行过程中自主提炼出来的,并且会在后续使用中持续自我改进。

如果你还没读过 Hermes 的整体架构和能力全景,建议先看 Hermes Agent 完全指南。本文专注拆解 Skill 系统的每一个技术细节,从触发条件到 Curator 优化到实操开发。


Agent 什么时候会自动创建 Skill?

Agent 自动创建 Skill 的触发时机:完成复杂任务后自动沉淀为可复用技能积木

Hermes 通过 skill_manage 工具管理自己的 Skill。不是每次对话都会创建——只有当 Agent 判断这次解决方案值得长期保存时才会触发。

四种触发条件

第一种:成功完成复杂任务。 当一次任务使用了 5 次以上的工具调用,Agent 认为这个解决路径足够复杂、值得沉淀,就会自动执行 skill_manage create,把整个解法写成一份 SKILL.md 文件。

💡 通俗讲:你让 Agent 帮你配置一个多步骤的 CI/CD 流水线,它调了 7 个工具才搞定。搞定之后它会想:「这个方案下次可能还用得上」,于是自动保存为一份技能文件。

第二种:遇到错误并找到可行路径。 Agent 在执行过程中踩了坑、报了错,但最终找到了绕过去的方法。这种「从失败中学到的经验」会被保存为 Skill,避免下次踩同一个坑。

第三种:用户纠正了做法。 你告诉 Agent 「不对,应该这样做」,Agent 会把你纠正后的正确做法固化为 Skill。这是用户偏好向 Agent 能力的直接转化。

第四种:发现非平凡工作流。 Agent 在探索过程中偶然发现了一种高效的工作方式,即使这次任务本身不复杂,它也会把这个工作流模式保存下来,把一次性探索变为可复用步骤。

skill_manage 的六个操作

Agent 管理 Skill 不只有「创建」,还有精细的修改和维护能力:

操作 用途 适用场景
create 从零新建 Skill 首次沉淀新技能
patch 针对性修补 修复某个步骤的错误,首选方式
edit 大规模重写 整体结构需要调整时
delete 删除 Skill 确认不再需要
write_file 添加支持文件 补充脚本、模板等资源
remove_file 删除支持文件 清理不再需要的附属文件

其中 patch 是首选方法——因为只传送改动部分,不需要发送完整的 SKILL.md 内容,省 token。


Skill 的自我改进机制

Skill 创建只是起点。真正让 Hermes 「越用越聪明」的是后续的自我改进循环。

完整的进化循环

用户提出复杂任务
  → Agent 使用 5+ 工具调用解决
    → Agent 将解法保存为 SKILL.md
      → 下次遇到类似问题,Agent 自动加载该 Skill
        → 遇到新坑,Agent 自动修补 Skill
          → Curator 定期检查,归档废弃 Skill、合并重叠 Skill

这个循环有一个关键设计:Agent 在前台对话中通过 skill_manage create 创建的 Skill 被视为「用户指导的」——用户参与了创建过程。而 Agent 在后台自我改进审查中创建的 Skill 才被标记为「Agent 自建」。两者的区别在于,只有 Agent 自建的 Skill 才会被 Curator 自动管理。用户指导创建的 Skill,Curator 不会碰。

💡 通俗讲:你亲手指导 Agent 建的技能,系统认为你有意为之,不会自动清理掉。只有 Agent 自己悄悄建的技能,系统才会定期审查是否该保留。

后台自我改进审查

Agent 不只在对话中被动修补 Skill。大约每 10 个 Agent 轮次,系统会启动一次后台审查分叉——这个分叉在独立的提示缓存中运行,不干扰当前对话。它会回顾最近的执行经验,把分散的小 Skill 合并成更完整的「伞 Skill」,或者修补已有 Skill 中发现的问题。


Curator:Skill 库的自动清道夫

Curator 清道夫:自动整理、合并和归档 Skill 积木库

没有维护机制的 Skill 系统注定会失控。每当 Agent 解决一个新问题并保存 Skill,~/.hermes/skills/ 目录就多一个文件。用不了几周,大量狭窄的近似重复 Skill 就会污染目录、浪费 token。

Curator 就是来解决这个问题的。

运行条件

Curator 不依赖外部 cron 守护进程,它在 Hermes 内部自触发。两个条件同时满足时自动启动:

  1. 距上次 Curator 运行已过 168 小时(7 天)
  2. Agent 已空闲至少 2 小时

两个条件缺一不可——既不会在 Agent 忙碌时干扰工作,也不会频繁运行浪费资源。

两阶段处理

第一阶段:自动状态转换——确定性操作,不调用大模型。

  • 30 天未使用的 Skill → 标记为 stale(过时)
  • 90 天未使用的 Skill → 移入 ~/.hermes/skills/.archive/ 归档目录

第二阶段:大模型审查——启动一个辅助模型通道,最多 8 轮迭代。

分叉的 Agent 遍历所有 Agent 自建的 Skill,逐个读取内容,对每个 Skill 做出决策:保留、修补、合并重叠的 Skill,或者归档。合并时有一条铁律——Skill 被视为完整包。如果一个 Skill 包含 references/templates/scripts/assets/ 等子目录,Curator 必须整包保留或整包归档,不允许只把 SKILL.md 扁平化到另一个 Skill 的 references/ 里。

Curator 管理的精确边界

一个 Skill 被 Curator 管理需要同时满足三个条件:

  1. 名称不在 .bundled_manifest——不是内置 Skill
  2. 名称不在 .hub/lock.json——不是 Hub 安装的 Skill
  3. .usage.json 中标记为 "created_by": "agent""agent_created": true

只有后台自我改进审查分叉创建的 Skill 才会设置这个标记。你在对话中指导 Agent 创建的 Skill 不在此列——Curator 故意不碰。

使用量遥测

~/.hermes/skills/.usage.json 为每个 Skill 维护精确的使用数据。每条记录包含三类计数器和状态标记:

提示词:生成 Hermes Skill 使用量遥测的 JSON 结构

请帮我生成 ~/.hermes/skills/.usage.json 中单个 Skill 的遥测字段。要求:

  • use_count:Skill 被加载进对话提示词时递增
  • view_count:Agent 调用 skill_view 时递增
  • patch_count:任何修改操作执行时递增
  • last_used_at / last_viewed_at / last_patched_at:对应操作的 ISO 8601 时间戳
  • created_at:Skill 创建时间
  • state:当前状态,取值 active / stale / archived
  • pinned:布尔值,true 时阻止 Curator 自动归档
  • archived_at:归档时间戳,未归档时为 null

Curator 根据 last_used_at 的时间距离来判断是否该标记为 stale 或归档。

安全网:Pin 保护与一键回滚

担心 Curator 误操作?有三道安全网:

# 锁定关键 Skill,阻止 Curator 自动归档和 Agent 删除
hermes curator pin api-health-monitor

# 每次 Curator 运行前自动备份整个 skills 目录
# 出问题一键回滚到上次运行前的状态
hermes curator rollback

# 从归档中恢复单个 Skill
hermes curator restore my-old-skill

每次 Curator 运行后还会生成人类可读的报告:

~/.hermes/logs/curator/
└── 20260429-111512/
    ├── run.json      # 机器可读:完整统计和大模型输出
    └── REPORT.md     # 人类可读摘要

高频使用场景的配置优化

默认参数对大多数用户够用,但如果你和 Agent 交互频繁,可以缩短 Curator 的运行间隔和归档窗口。在 ~/.hermes/config.yamlcurator 段调整以下参数:

提示词:生成高频交互场景的 Curator 配置

请帮我生成 ~/.hermes/config.yamlcurator 段的配置。要求:

  • enabled:设为 true 开启自动清理
  • interval_hours:运行间隔,默认 168(7 天),高频场景建议 72(3 天一次)
  • min_idle_hours:Agent 空闲多久后允许运行,默认 2,可缩短到 1
  • stale_after_days:未使用多少天标为 stale,默认 30,高频场景建议 14
  • archive_after_days:未使用多少天归档,默认 90,高频场景建议 45
  • prune_builtins:设为 true 时也会归档未使用的内置 Skill

渐进式披露:155+ 个 Skill 怎么不撑爆上下文?

渐进式披露三级加载:目录索引 → 按需展开 → 深度参考,Token 减少 89%

155 个以上的 Skill,每个 Skill 可能几百到几千 token,全塞进系统提示词的话成本和延迟都会爆炸。Hermes 的解法是渐进式披露(Progressive Disclosure)——分层加载,用到才展开。

Skill 的三级加载

Level 0(会话启动): skills_list()        → 所有 Skill 的名字和描述  约 3000 token
Level 1(按需激活): skill_view(name)     → 完整 SKILL.md 内容      大小不等
Level 2(深度参考): skill_view(name, path) → Skill 内的特定参考文件  按需

Level 0 在每次会话启动时自动执行。只加载一份精简的清单——每个 Skill 只有名字和描述,相当于一份目录索引。155 个 Skill 的目录索引大约 3000 token,可以接受。

Level 1 在 Agent 判断需要某个 Skill 时才触发。你用斜杠命令 /gif-search funny cats 或者在对话中提到相关需求,Agent 通过 skill_view 加载该 Skill 的完整内容。

Level 2 更进一步——Skill 内部引用了参考文件(references/ 目录下的文档),只有 Agent 确实需要查阅时才加载。

核心收益:Skill 不被使用时零 token 开销。

tool_search:工具层的同类优化

Skill 的渐进式披露解决的是 Skill 内容的加载问题。工具层面还有另一个问题:72 个工具的完整 Schema 定义约占 19,210 token。

Hermes 的 tool_search 元工具采用类似策略——只有 7 个高频核心工具始终保持完整 Schema 加载,其他工具通过 tool_search / tool_details 按需查找。效果:从 19,210 token 降到 2,200 token,减少 89%。 tool_search 的完整配置参数(modethresholdpinned_toolsevict_after_turns 等)详见 Hermes Agent 成本控制与本地模型部署

💡 通俗讲:就像一个工匠不会把所有工具铺满工作台。常用的螺丝刀、扳手放手边,其他工具收在抽屉里,需要时拿一把出来,用完放回去。

Skill 的渐进式披露 + 工具的按需加载,两层配合让 Hermes 在上下文窗口有限的模型上也能高效运行。


155+ 内置 Skill 全景:17 个分类覆盖什么能力?

Hermes 出厂自带的 Skill 分为两大池子:85+ 个内置 Skill(Bundled,默认安装)和 70+ 个可选 Skill(Optional,按需安装)。

内置 Skill——17 个分类,85+ 个

分类 数量 代表性 Skill 能做什么
creative 16 excalidraw、manim-video、p5js、comfyui、songwriting-and-ai-music 架构图、数学动画、创意编码、图像生成、作曲
software-development 9 test-driven-development、plan、systematic-debugging、hermes-agent-skill-authoring TDD 工作流、任务规划、系统调试、Skill 开发辅助
productivity 8 google-workspace、notion、airtable、powerpoint、ocr-and-documents 办公套件集成、文档处理
mlops 7 huggingface-hub、vllm、weights-and-biases、segment-anything 模型训练、推理部署、实验追踪
github 6 github-pr-workflow、github-code-review、github-issues、codebase-inspection 代码审查、PR 管理、仓库分析
apple 5 apple-notes、apple-reminders、findmy、imessage 苹果生态集成
research 5 arxiv、research-paper-writing、llm-wiki、polymarket 论文检索、学术写作、预测市场
autonomous-ai-agents 4 claude-code、codex、hermes-agent、opencode 与其他 AI Agent 框架协作
media 4 gif-search、heartmula、songsee、youtube-content 音乐生成、视频内容、GIF 搜索
devops 2 kanban-orchestrator、kanban-worker 看板协作工作流
其他 7 类 各 1 jupyter-live-kernel、himalaya、obsidian、openhue 等 数据科学、邮件、笔记、智能家居

可选 Skill——18 个分类,70+ 个

可选 Skill 覆盖了更多专业领域。其中 MLOps 类是最庞大的单一分类,包含 27 个 Skill:

领域 代表 Skill 覆盖场景
MLOps(27 个) axolotl、peft、unsloth、trl、whisper、stable-diffusion、tensorrt-llm 微调、推理优化、语音识别、图像生成
金融 dcf-model、lbo-model、3-statement-model 财务建模、估值分析
安全 1password、web-pentest、oss-forensics、sherlock 密码管理、渗透测试、安全调查
区块链 evm、solana、hyperliquid 智能合约交互
游戏 minecraft-modpack-server、pokemon-player 游戏服务器管理
研究 osint-investigation、bioinformatics、drug-discovery 开源情报、生物信息学

这个 Skill 库的广度意味着:大多数常见场景,你不需要从零写 Skill——先看看有没有现成的。

值得首批安装的 Skill

基于社区和第三方评测的反馈,这几个 Skill 使用频率最高:

  • obsidian:把 Obsidian 笔记库变成 Agent 可读写的知识库,搜索、创建、更新笔记
  • test-driven-development:强制 Agent 遵循 TDD 工作流——先写失败测试,再实现功能
  • github-pr-workflow:标准化的 PR 创建和审查流程
  • hermes-agent-skill-authoring:教 Agent 创建 Skill 的 Skill——Skill 系统的自举能力

LobeHub 导入与 agentskills.io 开放标准

Hermes Agent GitHub 仓库首页

Skill 不是提示词市场

一个常见误解是把 Hermes Skills Hub 当成「提示词市场」。不是。每个 Skill 是包含指令、脚本、参考文件和资源的完整能力包,遵循 agentskills.io 开放标准的目录结构:

skill-name/
├── SKILL.md          # 必需:元数据前置声明 + 指令正文
├── scripts/          # 可选:可执行脚本
├── references/       # 可选:参考文档
├── assets/           # 可选:模板、资源
└── ...

agentskills.io 规范推荐 SKILL.md 主体控制在 500 行 / 5000 token 以内,详细参考资料放到子目录按需加载。这个约束直接服务于渐进式披露——主文件不能太大,否则 Level 1 加载的成本就失控了。

agentskills.io 规范首页:Agent Skills 开放标准定义 SKILL.md 文件结构与目录约定

跨 Agent 可移植性

agentskills.io 定义的是一个开放的 Skill 格式标准,不绑定特定 Agent 运行时。同一个 SKILL.md 文件理论上可以在 Hermes、OpenClaw、Claude Code、Cursor 等兼容运行时加载。

区别在于:Skill 文件本身是可移植的,但自主创建和 Curator 维护是 Hermes 独有的行为。 其他运行时只能手动安装和管理这些文件。如果你对 Claude Code 的 Skill 开发感兴趣,可以参考 Claude Code Skill 开发指南——两套系统的 Skill 文件格式高度兼容,但运行时的自动化机制完全不同。

9 个 Skill 安装源

Hermes 集成了 9 个 Skill 生态源,从官方到社区多层次覆盖:

来源 安装格式 信任等级 特点
official official/security/1password 内置信任 仓库内可选 Skill
skills.sh skills-sh/vercel-labs/... 社区 Vercel 公共 Skill 目录
github openai/skills/k8s 受信/社区 直接 GitHub 仓库安装
lobehub 社区 LobeHub 公共 Agent 目录 → 转为 Hermes Skill
browse-sh 社区 200+ 站点浏览器自动化 Skill
well-known well-known:https://... 社区 网站发布的 Skill 索引
clawhub 社区 第三方市场 clawhub.ai
claude-marketplace 社区 Claude 兼容插件清单
url 直接 HTTPS URL 社区 单文件 SKILL.md 直接安装

LobeHub 导入是其中比较有意思的一条路径——它可以搜索 LobeHub 公共 Agent 目录中的 Agent 条目,将其转换为可安装的 Hermes Skill:

hermes skills search react --source lobehub
hermes skills install lobehub/<agent-id>

四级安全信任体系

安装社区 Skill 的安全保障:

级别 来源 策略
builtin Hermes 自带 始终信任
official 仓库内 optional-skills 内置信任
trusted openai/skills、anthropics/skills、huggingface/skills、NVIDIA/skills 比社区更宽松
community 其他所有来源 必须通过安全扫描

安全扫描器检查五类风险模式:数据外泄指令、提示注入攻击、破坏性命令(rm -rf 等)、Shell 注入、可疑的供应链信号。标记为 dangerous 的 Skill 始终阻止安装,不支持 --force 覆盖。


Skill 开发实战:从零写一个 Skill

从零创建 Skill:蓝图设计 → 组装结构 → 成品积木

第一步:Skill 还是 Tool?

在动手之前先判断:你要实现的能力适合做成 Skill 还是 Tool?

做 Skill:能力可以用「指令 + Shell 命令 + 现有工具」表达。比如封装一个 CLI 工具的使用流程、定义一套 Git 工作流规范、包装 API 调用模式。

做 Tool:需要端到端集成 API Key 和认证流程、处理二进制数据或流式传输、需要精确的自定义处理逻辑。比如浏览器自动化、文字转语音、视觉分析。

💡 通俗讲:Skill 是教 Agent 「怎么用已有的工具做事」,Tool 是给 Agent 「造一把新工具」。

第二步:创建目录和 SKILL.md

mkdir -p ~/.hermes/skills/api-health-monitor

在目录内创建 SKILL.md 文件,先写 YAML 前置声明。前置声明定义了 Skill 的身份、分类和可配置参数:

提示词:生成 Hermes SKILL.md 的 YAML 前置声明

请帮我生成一个 Hermes Skill 的 YAML 前置声明(放在 --- 围栏内)。要求包含以下字段:

  • name:Skill 名称,最多 64 字符,只允许小写字母、数字和连字符
  • description:用途描述,最多 1024 字符,说明触发条件——这段文字在 Level 0 加载时展示,直接决定 Agent 是否激活该 Skill
  • version:语义版本号,如 1.0.0
  • metadata.hermes.tags:标签数组,用于分类检索,如 [monitoring, api, devops]
  • metadata.hermes.category:所属分类,如 devops
  • metadata.hermes.requires_toolsets:条件激活——只在指定工具集可用时才显示,如 [terminal, web]
  • metadata.hermes.config:用户可配置参数数组,每项包含 key(配置键名)、description(说明)、default(默认值)、prompt(交互提示语)

我的 Skill 功能是:[在此描述你的 Skill 用途]

前置声明中最关键的是 description 字段——它在 Level 0 阶段展示给 Agent,是 Agent 决定是否激活这个 Skill 的唯一依据。requires_toolsets 控制条件激活,config 中定义的参数存储在 config.yaml 中,Agent 运行时读取。

第三步:编写指令正文

前置声明下方写 Markdown 格式的指令正文。指令正文是 Agent 执行 Skill 时的操作手册,包含触发条件、操作步骤、输出格式和告警规则:

提示词:生成 Hermes SKILL.md 的指令正文

请帮我编写 SKILL.md 前置声明之后的 Markdown 指令正文。要求包含以下结构:

  • When to use 段:列出触发条件清单(如"检查 API 端点健康""监控服务可用性""生成运行时间报告""排查延迟峰值")
  • 操作步骤:编号步骤,每步明确操作(如从 config 读取端点列表、用 curl 检测状态码和响应时间、与阈值对比)
  • curl 命令模板curl -o /dev/null -s -w "%{http_code} %{time_total}" <endpoint>
  • 报告输出格式:Markdown 表格模板,包含端点、状态码、响应时间、判定结果(OK/WARN/FAIL)列
  • 告警条件:HTTP 状态码非 2xx、响应时间超过阈值、端点不可达三种情况触发告警

我的 Skill 功能是:[在此描述你的 Skill 用途]

指令正文中可以使用两个模板变量:${HERMES_SKILL_DIR} 替换为 Skill 目录的绝对路径,${HERMES_SESSION_ID} 替换为当前会话 ID。引用 Skill 内的脚本或资源文件时用这个变量。

第四步:添加支持文件(可选)

如果你的 Skill 需要自带脚本或参考文档:

api-health-monitor/
├── SKILL.md
├── scripts/
│   └── batch-check.sh    # 批量检查脚本
└── references/
    └── status-codes.md   # HTTP 状态码参考

在 SKILL.md 中引用支持文件:

Run the batch check script:
    bash ${HERMES_SKILL_DIR}/scripts/batch-check.sh

参考文件不会在 Level 1 加载——只有 Agent 调用 skill_view(name, "references/status-codes.md") 时才会读取,这是 Level 2 按需加载。

第五步:条件激活(可选)

如果你的 Skill 是某个工具的兜底方案,可以用条件激活字段控制显示逻辑:

metadata:
  hermes:
    fallback_for_toolsets: [web]    # web 工具集可用时隐藏,不可用时显示

实际场景:内置的 duckduckgo-search Skill 用了 fallback_for_toolsets: [web]。当 FIRECRAWL_API_KEY 存在时 web 工具集可用,DuckDuckGo Skill 自动隐藏;API Key 缺失时 web 工具集不可用,DuckDuckGo Skill 自动浮现作为兜底。

第六步:测试

安装后通过斜杠命令测试:

hermes
> /api-health-monitor
# Agent 加载 Skill 并询问你要监控哪些端点

也可以在自然对话中触发——直接说「帮我检查一下这几个 API 的健康状态」,Agent 会根据描述匹配到你的 Skill 并自动加载。

如果发现问题,Agent 自己就能修补:

用户: 报告格式改成 JSON 输出
Agent: 好的,我来修改 Skill。
       [调用 skill_manage patch,更新报告输出格式]

Skill Bundle:组合多个 Skill

如果你经常需要同时使用几个相关的 Skill,可以把它们编组为一个 Bundle。Bundle 是一个 .bundle.yaml 文件,放在 ~/.hermes/skills/ 目录下,定义一组 Skill 的组合和执行顺序:

提示词:生成 Hermes Skill Bundle 配置

请帮我生成一个 Hermes Skill Bundle 文件(~/.hermes/skills/{名称}.bundle.yaml)。要求:

  • name:Bundle 名称,如 fullstack-dev
  • description:整体用途描述,如"全栈开发工作流——代码审查、测试、PR 管理"
  • skills:包含的 Skill 名称列表,如 github-code-reviewtest-driven-developmentgithub-pr-workflowcodebase-inspection
  • instruction:工作流执行顺序指令,用编号步骤定义各 Skill 的调用顺序(如先检查代码结构 → 写失败测试 → 实现功能 → 自审 → 创建 PR)

我需要组合的 Skill 是:[列出你想编组的 Skill 名称和期望的执行顺序]

运行 /fullstack-dev 一次加载 Bundle 内全部关联 Skill,并且按 instruction 中定义的工作流顺序执行。


GEPA 自我进化:从执行 trace 中反思优化

除了 Agent 内建的「做中学」循环,Hermes 还有一条更系统的自我进化路径——GEPA(Genetic-Pareto Prompt Evolution,基因-帕累托提示进化),由独立项目 hermes-agent-self-evolution 实现。

两种进化的分层互补

维度 内建循环 GEPA
触发方式 自动 需要人工启动
数据来源 当次执行经验 完整执行 trace 历史
优化方式 增量修补 系统性变异 + 测试套件验证
安全门控 无(直接写入) 必须通过 PR 审查
成本 内含在对话中 每次约 $2-$10 API 费用
进化深度 浅层修补 深层重写

GEPA 的工作方式:读取 Agent 的执行 trace,不仅知道哪里失败了,还理解为什么失败。然后提出针对性的变异方案——每个变体必须通过完整测试套件、大小限制、缓存兼容性、语义保持等多维度验证。

目前已实现的是第一阶段——优化 Skill 文件。后续计划扩展到优化工具描述、系统提示词和工具代码。这是一个有人在环的自我进化流程,不是完全无人值守。


翔宇的技能边界规则:创作类禁建 Skill

我在 Mac mini 上跑 Hermes 两个月,踩过的一个坑值得分享:Hermes 的 Skill 系统和我在 Claude Code 里维护的知识库工作流,如果不划清边界,会产生两套平行的「野生流程」。

我的解法是在 SOUL.md 中设了一条红线:

创作类任务(写文章、发推文、写公众号、发布内容、翻译、SEO 等):
禁止创建技能,必须走 KB 工作流。

允许 Hermes 自动创建 Skill 的范围:Hermes 自身的平台操作、知识库检索优化、工具调用快捷方式、日常问答模式。

核心理由:知识库(KB)工作流和 Hermes Skill 不在同一层。工作流是多步创作管线——品牌差异、SEO 规范、多平台分发,这些复杂度由 KB 承载。Skill 是单次操作的快捷方式——轻量、即时、可自我修补。两层各管各的,不冲突。

但如果 Hermes 把工作流逻辑写进 Skill,就会产生两个真值源:KB 里一套,Hermes 的 ~/.hermes/skills/ 里又一套。我改了 KB 工作流,Hermes 不会知道;Hermes 自己修补了 Skill,KB 工作流也不会更新。

这个问题的根源在于指针架构的设计:Hermes 的 SOUL.md、MEMORY.md、USER.md 只存路径指针和导航指令,不复制内容。Claude Code 改了任何 KB 工作流,Hermes 下次对话通过 read_file 现场读取即可感知——零维护。但如果 Hermes 把工作流逻辑固化进了 Skill,这个「现场读取、零维护」的优势就断掉了。

如果你也在多 Agent 协作环境中使用 Hermes,建议在 SOUL.md 里明确 Skill 创建的边界——哪些事让 Hermes 自主学习,哪些事走外部系统。关于 SOUL.md 记忆系统的完整设计,参见 Hermes Agent SOUL.md 记忆系统详解


社区怎么看 Skill 自我进化?

X 上的开发者评论直接:

"Hermes Agent 的自进化 Skill 是最强大的功能。Agent 不只是解决问题——它记住了自己是怎么解决的。" —— @akshay_pachaar

这个评价精确抓住了关键区别:大多数 Agent 框架在每次对话结束后就「失忆」了,下次遇到同样的问题需要从头推理。Hermes 把推理结果沉淀成文件,下次直接加载,跳过推理过程。

社区也观察到了一些已知局限:

  • 5+ 工具调用的触发阈值可能过于宽泛——Agent 有时会固化只需要用一次的工作流,产生大量狭窄的一次性 Skill
  • Curator 的 90 天归档窗口偏长——高活跃度的 Agent 在两次 Curator 运行之间仍会累积大量过时 Skill
  • GEPA 不是完全自主的——需要人工启动、需要 PR 审查,目前只能优化 Skill 文件

这些都是实际使用中的真实反馈。前两个问题可以通过调整 Curator 配置来缓解(缩短间隔、降低阈值),第三个是产品阶段决定的——GEPA 目前还在第一阶段。


常见问题

Hermes Skill 和 Claude Code Skill 有什么区别?

最核心的区别是自主创建能力。Claude Code 的 Skill 由人手动编写或从市场安装,Agent 本身不会在执行过程中自动创建新 Skill。Hermes 的 Skill 可以由 Agent 在完成复杂任务后自动创建,形成创建、使用、修补、淘汰的完整循环。此外,Hermes 有 Curator 自动清理机制,Claude Code 没有。更多关于 Claude Code Skill 的内容可以参考 Claude Code Skill 开发指南

Agent 自动创建的 Skill 质量可靠吗?

初始质量取决于 Agent 的推理能力和任务复杂度。但 Hermes 有两道保障:第一道是自我改进循环,Skill 在后续使用中遇到问题会自动修补(skill_manage patch);第二道是 Curator 定期审查,合并重叠的 Skill、归档废弃的 Skill。如果你追求更系统的优化,还可以用 GEPA 自我进化引擎做反思式重写,每次约 $2-$10。

Skill 太多会不会拖慢 Agent 响应速度?

不会。Hermes 采用渐进式披露策略:会话启动时只加载所有 Skill 的名字和描述(约 3000 token),完整 Skill 内容只在 Agent 决定需要时才展开。配合 tool_search 元工具,72 个工具的 Schema 从 19,210 token 降到 2,200 token,减少 89%。未使用的 Skill 真正做到零 token 开销。

Curator 会误删我正在用的 Skill 吗?

不会。Curator 通过 usage.json 中的精确使用量遥测来判断:30 天未使用标为 stale,90 天未使用才归档。经常使用的 Skill 的 last_used_at 会持续更新,不可能被归档。你还可以用 hermes curator pin 命令锁定关键 Skill,彻底阻止自动归档。即使误操作,也有 hermes curator rollback 一键回滚和 hermes curator restore 单个恢复。

Hermes Skill 能在 Claude Code 或 Cursor 中使用吗?

Skill 文件本身基于 agentskills.io 开放标准,同一个 SKILL.md 可以在兼容的运行时加载。但自主创建和 Curator 维护是 Hermes 独有行为——其他运行时只能手动安装和管理这些 Skill 文件。格式兼容,自动化不兼容。

安装社区 Skill 安全吗?

Hermes 有四级信任体系。内置和官方 Skill 始终信任;受信源(openai/skills、anthropics/skills 等)策略更宽松;社区源必须通过安全扫描器检查五类风险模式——数据外泄、提示注入、破坏性命令、Shell 注入、供应链信号。标记为 dangerous 的 Skill 始终阻止安装。

GEPA 自我进化和 Skill 自动创建有什么关系?

分层互补。Skill 自动创建是「做中学」——Agent 从执行过程中自动沉淀经验,增量修补。GEPA 是「反思式进化」——通过 DSPy 框架读取执行 trace,理解失败原因,提出系统性变异,经完整测试套件验证后优化。GEPA 每次运行约 $2-$10 API 费用,需要人工启动和 PR 审查,目前处于第一阶段(Skill 文件优化)。

如何开始写自己的第一个 Skill?

最快的方式是使用内置的 hermes-agent-skill-authoring Skill——输入 /hermes-agent-skill-authoring,告诉 Agent 你想创建什么能力,它会引导你完成完整流程。也可以手动在 ~/.hermes/skills/ 下创建目录和 SKILL.md 文件。本文「Skill 开发实战」章节有完整的六步教程,从目录创建到前置声明到指令正文到条件激活到测试。


进一步阅读


下一步

  • AI 编程实操课:Claude Code + Codex + Agent 工作流,覆盖一人公司、自媒体自动化、AI 副业全场景。237 篇实战教程 + 最佳实践 + 源码包,跟着做就出成果。国内版-FlowUS | 国际版-BMC
  • YouTube 频道翔宇工作流
  • 微信公众号:搜索「翔宇工作流」