Hermes Agent Skills 系統:讓 AI Agent 在對的時候做對的事

Hermes Agent Skills 系統:讓 AI Agent 在對的時候做對的事

9 min read

你用 AI 工具踩過這個坑嗎:同樣的問題,每次叫 AI 做都會走不一樣的路——有時候直接動手改,有時候先問你確認,有時候跳過某個步驟然後後來出問題。

這不一定是模型的問題。更多時候是:沒有給代理一個一致的「這種情境應該照哪個流程走」的機制。

Hermes Agent 的 Skills 系統就是在解這件事。


Skill 到底是什麼

最簡單的理解:一份告訴代理「遇到這種情境,照這個流程走」的 Markdown 文件。

它不是 prompt engineering 的技巧,不是一段要你貼進去的系統提示,也不是 API 插件。它是一個獨立存在的知識文件,住在 ~/.hermes/skills/,可以用版本管理、可以分享給別人、可以從 Skills Hub 安裝、而且可以由代理自己在執行任務後創建。

每個 skill 會自動變成一個 slash command:

/plan design a rollout plan for auth migration
/arxiv find papers on diffusion models from last month
/github-pr-workflow create a PR for the auth refactor

背後的邏輯是:代理看到你打 /plan,就去讀 plan 這個 skill 的內容——什麼情境適用、應該走哪些步驟、有哪些已知的坑——然後按照那份文件的指引來回應你。


Progressive Disclosure:為什麼 token 不會爆

你可能想到一個問題:如果所有 skill 都在 system prompt 裡,光是索引就把 context window 燒光了。

Hermes 的解法是 Progressive Disclosure——三層載入:

Level 0: skills_list()         → 只顯示名稱、描述、分類(約 3k tokens)
Level 1: skill_view(name)      → 完整 skill 內容(按需載入)
Level 2: skill_view(name, path) → 特定參考檔案(按需載入)

Startup 時只載入索引,代理判斷需要哪個 skill 時才載入完整內容。你有一百個 skill 也不影響 baseline 的 token 消耗。

這個設計的副作用是:你可以安裝很多 skill 而不用擔心讓代理變慢——只要你的 skill 描述寫得夠清楚,代理才能在 Level 0 判斷「這個情境需要哪個 skill」。


Skill 的文件格式

---
name: my-skill
description: 簡短描述,這是 Level 0 代理看到的東西
version: 1.0.0
platforms: [macos, linux]   # 可選:限制作業系統
metadata:
  hermes:
    tags: [python, automation]
    category: devops
    requires_toolsets: [terminal]  # 可選:只在 terminal toolset 可用時顯示
---
 
# Skill 名稱
 
## 什麼時候用
什麼情境觸發這個 skill。
 
## 步驟
1. 第一步
2. 第二步
 
## 已知的坑
- 坑一:描述 + 修法
- 坑二:描述 + 修法
 
## 驗證
怎麼確認做對了。

前面的 YAML frontmatter 決定代理怎麼發現這個 skill;正文告訴代理怎麼執行。

Conditional Activation:只在對的時候出現

有個特別有用的設計:fallback_for_toolsets。

Hermes 內建一個 duckduckgo-search skill,它的設定是 fallback_for_toolsets: [web]——意思是:當你有 web toolset(有 Firecrawl API key)的時候,這個 skill 自動隱藏,代理直接用 web_search 工具。當你沒有 API key 時,DuckDuckGo skill 才自動出現,代理改走免費路線。

skill 的可見性會根據工具可用性自動調整。 不需要你手動管。


從 Hub 安裝現成 Skill

Hermes 整合了幾個 skill 生態系:

# 瀏覽所有 skill
hermes skills browse
 
# 搜尋特定主題
hermes skills search kubernetes
hermes skills search react --source skills-sh
 
# 安裝前預覽
hermes skills inspect openai/skills/k8s
 
# 安裝
hermes skills install openai/skills/k8s
hermes skills install official/security/1password

支援的來源包括:

  • official:Hermes 官方維護的 optional skills
  • skills.sh:Vercel 的公開 skill 目錄
  • well-known:任何發布 /.well-known/skills/index.json 的網站(例如 Mintlify 的文件站)
  • github:直接從 GitHub repo 安裝
  • clawhub、lobehub:第三方社群 marketplace

所有來自 hub 的 skill 在安裝前都會過一道安全掃描——資料外洩、prompt injection、供應鏈風險都會被檢查。--force 可以覆蓋「警告」等級的阻擋,但 dangerous 等級的不行。


代理自己創建 Skill:skill_manage

這是 Hermes 設計裡最有趣的一個決定:代理可以把它自己發現的工作流存成 skill。

當代理完成一個複雜任務(5 個以上工具調用)、踩到坑找到出路、或者被你糾正過做法,它會自動評估「這個流程值不值得存下來」,然後用 skill_manage 工具創建或更新 skill。

# 代理在內部調用
skill_manage(action="create", name="deploy-staging", 
             content="...", category="devops")
 
# 後續更新用 patch 而不是整個重寫(token 更省)
skill_manage(action="patch", name="deploy-staging",
             old_string="old step", new_string="corrected step")

結果是:你跟 Hermes 用的時間越長,它自己累積的工作流知識就越多——而且這些知識是你的 skill,存在你自己的 ~/.hermes/skills/,不是鎖在某個雲端服務裡。


自己寫一個 Skill:5 分鐘實作

假設你常跑一個固定的 Docker 部署流程:

mkdir -p ~/.hermes/skills/devops/deploy-docker

然後建一個 SKILL.md:

---
name: deploy-docker
description: 部署服務到 Docker 環境,包含健康檢查和 rollback 邏輯
version: 1.0.0
metadata:
  hermes:
    tags: [docker, deploy, devops]
    category: devops
    requires_toolsets: [terminal]
---
 
# Deploy Docker
 
## 什麼時候用
需要部署或更新 Docker 服務時。
 
## 步驟
1. 確認 docker-compose.yml 存在且最新
2. 執行 `docker compose pull` 更新 image
3. 執行 `docker compose up -d` 啟動服務
4. 等 15 秒,確認容器健康狀態:`docker compose ps`
5. 如果有容器 unhealthy,執行 rollback:`docker compose down && docker compose up -d --no-pull`
 
## 已知的坑
- 如果 volume 路徑不存在,容器會起不來——先確認 volume 目錄存在
- 某些 image 的健康檢查設定需要等超過 30 秒才會 healthy,不要太早判定失敗
 
## 驗證
`docker compose ps` 所有服務狀態都顯示 `running`,無 `unhealthy`。

存檔,然後在 Hermes 裡:

/deploy-docker deploy my api service

代理讀到你的 skill,照步驟走。每次都一樣,不會忘記健康檢查,不會跳過 rollback 邏輯。


Skills 是 Hermes 的記憶核心

要說 Hermes 跟其他 AI Agent 框架的最大差異,Skills 系統應該排第一位——不是因為有 slash command 很酷,而是因為它把代理的行為從「靠模型即興發揮」轉移到「有明確程序性知識可以遵循」。

這跟 Superpowers 的 skill 機制概念相近,但 Hermes 把它做成原生功能而不是外掛,加上 Progressive Disclosure 的 token 效率設計和 Hub 的生態系,讓 skill 的整個生命週期(安裝、使用、更新、由代理自創)都在一套系統裡閉環。


延伸閱讀