越用越聪明:自进化技能(Skills)是怎么炼成的
越用越聪明:自进化技能(Skills)是怎么炼成的
上一节讲了”记忆”——让 Agent 记住”是什么”(你的技术栈、红线规则、当前项目)。但光记住事实不够。真正拉开差距的是:Agent 能不能记住”怎么做”。
你踩了三个小时的坑,终于把某个多步流程跑通了。下次呢?普通 AI 又从零开始。Hermes Agent 会把这次的成功路径沉淀成一个”技能(Skill)“,下次直接复用,甚至自己迭代优化。这就是自进化。
记忆是”陈述性记忆”,技能是”程序性记忆”。这一节专讲后者。
技能是什么
▲ Hermes 技能库:内置与自建技能、记忆及 MCP 统一管理
技能是 ~/.hermes/skills/ 下的结构化流程文件,本质是一份”遇到这类事,按这个步骤办”的 SOP(标准作业程序)。
~/.hermes/
└── skills/
├── my-skill/
│ ├── SKILL.md # 必需,定义技能本身
│ ├── references/ # 按需加载的参考资料
│ ├── templates/ # 模板文件
│ ├── scripts/ # 脚本
│ ├── examples/ # 示例
│ └── assets/ # 其他资源
├── .hub/ # Hub 状态
└── openclaw-imports/ # OpenClaw 迁移导入目录里的 references/、templates/、scripts/、examples/、assets/ 是渐进式披露机制——只有真正用到时才加载进上下文,不白白吃 token。
项目本地技能也能放:<project-root>/.hermes/skills/ 或 .agents/skills/,通过 config.yaml 的 skills.external_dirs 加扫描目录。
SKILL.md 完整格式
技能的核心是 SKILL.md,遵循 agentskills.io 开放标准(简报 §5b)。YAML frontmatter + Markdown 正文:
---
name: my-skill
description: Brief description of what this skill does # ≤60 字符,必需
version: 1.0.0
platforms: [macos, linux]
metadata:
hermes:
tags: [python, automation]
category: devops
fallback_for_toolsets: [web]
requires_toolsets: [terminal]
config:
- key: my.setting
description: "What this controls"
default: "value"
prompt: "Prompt for setup"
required_environment_variables:
- TENOR_API_KEY
---
# Skill Title
## When to Use
Trigger conditions for this skill.
## Procedure
1. Step one
2. Step two
## Pitfalls
- Known failure modes and fixes
## Verification
How to confirm it worked.frontmatter 字段说明:
name:技能名,小写连字符。description:≤60 字符,必需,是 Agent 判断”要不要触发这个技能”的唯一依据,写清楚触发条件。version:语义版本。platforms:适用平台[macos, linux, windows]。metadata.hermes.tags:标签,用于检索和路由。metadata.hermes.category:分类(devops / coding / research…)。metadata.hermes.requires_toolsets:这个技能依赖哪些工具集(比如 terminal、web)。metadata.hermes.config:技能自己的配置项,安装时可交互问。required_environment_variables:运行前必须存在的环境变量(如 API key)。
正文四个固定章节:When to Use(什么时候该用)、Procedure(步骤)、Pitfalls(已知坑和绕过办法)、Verification(怎么确认成功了)。这结构就是给”下次复用”用的——不只是给人看,也是给 Agent 自己看的执行说明书。
自进化闭环:干完活,它自己写技能
最反直觉的地方在这:技能不是你手写的(当然你也可以写),而是 Agent 在完成任务后自动生成的(简报 §5c)。
闭环是这样的:
你下达任务
│
▼
Agent 执行(可能踩坑、找路)
│
▼
任务完成 ──值得沉淀?──是──▶ 写/更新 SKILL.md(程序性记忆)
│ │
│ ▼
│ 下次同类任务:自动触发复用
│ 复用中再改进 → 技能自迭代
▼
日常干活(技能库越来越大、越来越准)自动创建的触发时机(满足任一即写):
- 理清了一个值得重复的多步工作流;
- 遇到死胡同并找到了正确路径(这个坑值得记);
- 你纠正了它的方法(用户纠正 = 高价值信号);
- 系统提示要求沉淀某个非平凡流程。
换句话说,你正常用就行,它会自己”复盘”。你不需要像训狗一样手动教。
写批准门控:skills.write_approval
默认情况下(skills.write_approval: false),Agent 自由创建/更新技能,不烦你。
但如果你想要控制权——比如生产环境、或者你就是不放心它乱写——把开关打开:
skills:
write_approval: true开启后,新技能先 staged 到 ~/.hermes/pending/skills/,等你审查。审查命令:
/skills # 浏览/审查技能
/skills approve <id> # 批准某个待审技能不批准就一直躺着,不会进正式技能库。个人使用建议保持 false 享受自动化;团队/生产建议 true 加一道门。
Curator:后台审查,但碰不了你的本地技能
有个后台组件叫 Curator(简报 §5c),负责自动审查技能的使用频率、标记过期、归档、合并重复技能。
关键约束:Curator 永不修改项目本地技能目录。 它只在自己的管辖范围内做整理,不会动你 ~/.hermes/skills/ 下实际在用的文件。所以你不用担心”它半夜把我的技能改坏了”——它没这个权限。
复利效应:第 1 周 vs 第 8 周
自进化最狠的地方是复利。技能库不是线性增长,而是复利增长——每个新技能都让后续任务更快,更快又产出更多技能。
简报 §17 给了真实数据佐证这个效应:
- 夜间”梦境”自我改进约 $0.014/晚(用 Haiku 或本地模型,几乎免费地持续学习);
- Modal serverless + 自创技能,研究提速 40%;
- RTK 集成省 60–90% 上下文 token;
- 社区案例:单笔记本 4 个 Agent 24/7 运行、34 个工具、5 个 MCP;12 实例并行构建;有人 297 天连续使用、累计 5e9+ token。
第 1 周:技能库空,Agent 像个生手,每步都探路。 第 8 周:几十个技能沉淀下来,常见任务直接走 SOP,踩过的坑自动规避,新任务也更少卡壳。
代价?基本只有那点 API 费。技能是写在磁盘上的资产,离职不走、升级不丢、可发布可共享(agentskills.io,这个留到第 19 章讲)。
⚠️ 避坑提示
- description 别写虚话。它 ≤60 字符,是触发判断的唯一依据。写”部署前跑 lint 和类型检查”而非”帮助代码质量”。虚的描述 = 永远不被触发 = 白写。
- Pitfalls 章节最值钱。死胡同里找到的路,不写进 Pitfalls,下次还会再踩一遍。
- 写批准门控和生产环境。给不信任的上下文全自动写技能,等于让外部输入参与塑造你的 Agent 行为,该加门就得加。
- Curator 不动本地技能,但会归档”看起来没人用”的技能——真有用的技能多触发几次,别让它误判过期。
本节能造出什么数字员工
- 自带 SOP 的运维助手:部署、回滚、排障流程沉淀成技能,新人(和下次的它)照着走。
- 踩坑不二的代码搭档:死胡同里找到的路写进 Pitfalls,同样的坑绝不踩第二次。
- 越带越顺手的项目专家:8 周后,常见任务全自动走最优路径,你只需要定方向。
记忆(第 05 章)让它”懂事”,技能(本章)让它”会干”。下一章讲”换脑子”——模型无关架构,让你不被任何一家厂商绑架。
下篇预告
第 07 章《拒绝被厂商绑架:模型无关架构与多模型配置实战》——Claude、GPT、Gemini、DeepSeek、Ollama 随便换,无供应商锁定。你会学到辅助模型 11 槽分层怎么把成本砍到 1/50,以及那个”会话中切模型会重置缓存前缀”的隐形烧钱陷阱。
延伸阅读
- 官方文档(技能系统):https://hermes-agent.nousresearch.com/docs
- 中文社区:https://hermesagent.org.cn/docs
- agentskills.io 开放标准:https://agentskills.io/specification
- 参考调研简报 §5(技能系统)、§17(复利效应真实数据)