大多数 AI Agent 记住结果却忘记方法。下次遇到同样的任务,从头摸索。
Hermes 不一样。它不只保存对话历史,还能在需要时精确加载可复用的操作知识,不需要时完全排除在上下文之外——甚至可以把辛苦摸索出来的工作流直接变成可复用的 Skill,留到以后用。
这改变了 Agent 随着时间变强的方式。
Skills 是什么
Hermes 的 Skill 不是提示片段。
它是一个按需加载的知识文档,教会 Hermes 如何处理某一类任务:工作流、工具特定流程、故障排查模式、格式规范,或者运营 playbook。
核心区分:Skills 是程序记忆(procedural memory)
- Memory 存持久事实
- Sessions 存发生了什么
- Skills 存如何把事情做好
这个区分很关键——它让 Hermes 可以保留可复用的方法,而不会在每次对话里塞进成百上千页的指令。
没有 Skill 系统会怎样
Agent 通常只有两个糟糕的选择:
把一切都塞进 Prompt:成本快速膨胀,上下文塞满了对当前任务无关的指令。
指望模型记住正确的模式:有时管用,但任务需要精确命令、已知坑、特定步骤或特定输出格式时就会断裂。
Hermes 的解法是按需加载。
不把所有工作流一直带着跑,Hermes 只维护一个紧凑的 Skills 索引,只有任务真正需要时才加载完整 Skill。Agent 变得更能干,而每次对话不一定更重。
渐进式披露模型
Hermes 对 Skills 使用三层渐进式披露:
Level 0 — skills_list():Hermes 看到 Skills 名称、描述和分类的紧凑索引。
Level 1 — skill_view(name):加载相关 Skill 的完整 SKILL.md。
Level 2 — skill_view(name, file_path):只在需要更多细节时,加载 Skill 内部某个具体的参考文件、模板或脚本。
这意味着 Agent 不会在每次会话里拖入所有 Skill 的完整内容。只在任务值得这个成本时,才加载更深的上下文。
Skill 文件结构
Skills 的事实来源:~/.hermes/skills/
该目录包含:
- 安装时打包进来的 Skills
- 从 Hub 安装的 Skills
- Agent 自己创建的 Skills
- Agent 自己更新的 Skills
典型结构:
~/.hermes/skills/<category>/<skill-name>/SKILL.md
一个 Skill 还可以包含:
references/(参考文件)templates/(模板)scripts/(脚本)assets/(资产)
强 Skill 的构成要素
Hermes Skill 通常是一个 Markdown 文档,带 YAML frontmatter 和结构化指令。一个真正有用的 Skill 包括:
- 这个 Skill 做什么
- 何时使用
- 精确的操作步骤
- 命令示例
- 已知坑
- 验证步骤
这就是 Skill 比泛泛的「专家模式提示」更有价值的原因。
好 Skill 不是只告诉模型「你很擅长 GitHub PR」,而是:
- 何时使用这个工作流
- 首先检查什么
- 运行哪些命令
- 检查哪些失败模式
- 完成前如何验证结果
Skills 的调用方式
Slash 命令(在对话中直接调用):
/plan Design a rollout for migrating our auth provider
/github-pr-workflow Create a PR for the auth refactor
/excalidraw
CLI:
hermes skills list
hermes skills search docker
hermes skills install official/research/arxiv
hermes skills inspect openai/skills/k8s
自然对话中自动加载:当任务匹配时,Hermes 自己决定加载相关 Skill。这是重要部分——Skills 不只是手动快捷键,也是 Hermes 在真实工作中更智能运作的方式。
Skills 给 Agent 带来的具体优势
把 Skills 做好,Agent 就从「一个尽力而为的聪明模型」变成「拥有可复用操作程序的 Agent」:
-
更好的稳定性:如果一个工作流有经过验证的序列,Hermes 可以重复它,而不是每次都重新摸索。
-
更少的 token 浪费:完整指令在需要之前不出现在上下文里。
-
更好的专业化:Hermes 可以承载更多能力,而不膨胀普通对话。
-
更好的迭代:工作流改进了,Skill 可以直接更新,而不用指望模型记住新版本。
-
更好的积累:一旦有用方法变成 Skill,以后的会话立即受益。
三层存储的正确区分
这是最容易混淆的地方:
| 存什么 | 例子 |
|---|---|
| Skills 存可复用流程 | 如何 review GitHub PR、如何起草 X 帖子、如何验证本地安装 |
| Memory 存持久事实 | 用户偏好、环境细节、约定俗成、反复纠正的事项 |
| Sessions 存对话历史 | 某个项目 thread 里发生了什么、尝试过什么、什么有用什么没用 |
一个简单规则:
- Hermes 应该记住一个事实 → 存 Memory
- Hermes 应该回想起一段过去对话 → 存 Sessions
- Hermes 应该复用一套方法 → 存 Skill
Skills 是真正的自我进化机制
Hermes 最强的地方之一:Skills 不是预装好的静态文档。Hermes 可以通过 Skill 管理流程创建和更新 Skills。
这意味着:完成一个复杂任务、搞定一个棘手 Bug、摸索出一个不明显的工作流之后,Agent 可以把学到的东西直接变成一个可复用的 Skill,留到以后用。
很多 Agent 系统说「能学习」,但实际上只是存更多上下文。Hermes 的模型更干净:
- 事实 → Memory
- 历史 → Sessions
- 方法论 → Skills
这种分离让系统更可维护,也更可复用。
总结:Skills 是 Hermes 能随时间变得更有用、而不是随时间变得更臃肿的核心机制之一。它让 Agent 把专业流程放在一边,只在相关时才加载,把成功的工作流变成可复用的操作知识。
三层分离(Memory/Sessions/Skills)是 Hermes 设计最干净的部分。大多数 Agent 说自己能「学习」,其实只是塞更多上下文。Hermes 这个模型更诚实——事实、历史、方法论各走各的存储路径,不混淆。