SKILL.md · Skill Bundles · 條件啟動 · Tap 發佈 · GEPA + DSPy · 遠端 Mac 驗收
誰會需要這篇?你已讀過 Hermes 安裝教學,卻仍在每次對話裡重複貼上部署、PR、稽核流程——Token 被佔滿,Agent 卻記不住「怎麼做」。結論:Nous Research 的 Hermes Agent 兩個月內 GitHub Star 突破 16 萬,核心不是更大模型,而是 "the agent that grows with you"——底層正是可標準化、可進化、跨工作階段持久的 Skills 技能系統。本文結構:概念對照 → SKILL.md 與漸進載入 → Skill Bundles → 條件啟動 → 開源生態與 Tap 發佈 → GEPA 五階段自進化 → Plugin 與撰寫技巧 → 部落格工作流案例 → FAQ;涉及 macOS 腳本驗收時可結合 VNCMac 遠端 Mac 圖形工作階段。
2026 年初,Nous Research 發布 Hermes Agent,成為 AI Agent 領域成長最快的開源專案之一。與傳統「一次性 Prompt」不同,Hermes 技能體系是有標準、可進化、跨工作階段持久的程序性記憶層——教 Agent「如何做某件事」,而非「記住某個事實」。
本文跳過基礎入門,直接進入進階區域:
漸進載入(Progressive Disclosure):如何在啟動前零 Token 消耗,按需展開完整 SKILL.md?
條件啟動(Conditional Activation):根據工具可用性自動顯示/隱藏技能,免費與付費 API 智能切換。
Skill Bundles:一條斜線指令同時載入多技能,複雜工作流一鍵觸發。
DSPy + GEPA:不碰模型權重,讓 Skills 文字自動進化、越跑越好(每次約 $2–10 API 成本)。
開源生態:awesome-hermes-skills、hermeshub、kevinnft/ai-agent-skills 等可直接 Tap 訂閱。
混淆這三者是新手最常踩的坑。核心記憶口訣:Prompt = 便利貼(當次有效);Memory = 便簽本(永久筆記,隨時在手邊);Skill = SOP 手冊(步驟化流程,需要時翻閱)。
| 維度 | 普通 Prompt | Memory(記憶) | Skills(技能) |
|---|---|---|---|
| 持久性 | 當前對話 | 跨工作階段,永久 | 跨工作階段,永久 |
| 載入時機 | 每次都在上下文中 | 每次工作階段自動注入 | 按需載入 |
| Token 成本 | 每次消耗 | 小而穩定 | 啟動前零消耗 |
| 內容類型 | 任意意圖描述 | 使用者偏好/事實 | 程序性步驟 |
| 誰來維護 | 使用者手動 | Agent 自動 | 使用者 + Agent 均可 |
| 可共享性 | 不方便 | 私有 | 可發佈為社群 Tap |
所有 Hermes Skills 遵循 agentskills.io 開放標準,可在 Hermes、Claude Code、Cursor 之間跨平台移植。
---
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 Checklistmy-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 是 Hermes 2026 新增特性,也是目前最被低估的功能之一。Bundle 是輕量 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.
進階場景:AI 研究員工作流可打包 arxiv + deep-research + plan + excalidraw;MLOps 部署可打包 vllm + llama-cpp + github-pr-workflow + systematic-debugging。
| 規則 | 行為 |
|---|---|
| 同名衝突 | Bundle 優先於單個 Skill |
| 未安裝技能 | 跳過而不報錯,載入時提示缺失 |
| Prompt Cache | Bundle 不修改系統提示,Token 友善 |
hermes bundles create backend-dev \ --skills github-code-review,test-driven-development,github-pr-workflow \ --instruction "Always write failing tests first"
在 metadata.hermes 下設定四種啟動規則,讓技能根據當前工作階段工具可用性自動顯示或隱藏:
| 欄位 | 行為邏輯 |
|---|---|
| requires_toolsets | 列出的工具集不存在時,隱藏此技能 |
| requires_tools | 列出的工具不存在時,隱藏此技能 |
| fallback_for_toolsets | 列出的工具集存在時,隱藏(作為備選) |
| fallback_for_tools | 列出的工具存在時,隱藏(作為備選) |
經典場景——免費/付費工具智能切換:當使用者設定了 FIRECRAWL_KEY / BRAVE_SEARCH_KEY 時,付費 web_search 啟動,DuckDuckGo 技能自動從提示詞中消失,節省 Token;API 不可用時,備選方案自動浮現。
metadata:
hermes:
fallback_for_tools: [web_search] # 有付費 web_search 時自動隱藏透過 hermes skills TUI,還可為 CLI、Telegram、Discord 等平台獨立開關某個技能。
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
| 儲存庫 | 亮點 | Stars |
|---|---|---|
| awesome-hermes-skills | 生產級合集,含 Deep Research、MLOps、Apple 整合 | 67 |
| hermeshub | 社群註冊中心,安全掃描認證 | 166 |
| ai-agent-skills | 191 個技能,28 分類,跨 Hermes/Claude/Cursor | 10 |
| hermes-agent | 官方儲存庫,權威來源與撰寫規範 | — |
agentskills.io 開放標準意味著技能資產不綁定單一平台;可用 skills-ref validate ./my-skill 驗證格式合規性。
建立 GitHub 儲存庫作為 Tap,讓整個團隊甚至社群訂閱你的技能集:
my-skills-tap/ ├── skills.sh.json ├── mlops/vllm-deploy/SKILL.md └── research/paper-summarizer/SKILL.md # 團隊成員一鍵訂閱 hermes skills tap add github:your-org/your-skills-tap hermes skills tap add github:your-org/private-skills --token $GH_TOKEN hermes skills tap update hermes skills tap list
版本管理建議:將 ~/.hermes/skills/ 納入 Git 版本控制,跨裝置 git pull && hermes skills reset 同步後重建內建技能。
GEPA(Genetic-Pareto Prompt Evolution) 是 2026 年 ICLR Oral 成果,整合於 hermes-agent-self-evolution。核心思路:不微調模型權重,只透過分析執行軌跡、產生變體、多目標帕累托最佳化來改進技能文字本身。每次最佳化約 $2–10(純 API,無需 GPU)。
執行軌跡收集:從 SQLite 讀取全量推理軌跡(工具呼叫、分支、錯誤)。
反思式失敗分析:LLM 產生「可操作側資訊」——不是「失敗了」,而是「為什麼失敗」。
靶向變異:針對失敗原因,產生 10–20 個 SKILL.md 變體。
多目標帕累托評估:同時最佳化成功率 × Token 效率 × 速度。
人工審查 PR:最優變體 → 產生 PR → 人工核准後上線。
git clone https://github.com/NousResearch/hermes-agent-self-evolution
cd hermes-agent-self-evolution && pip install -r requirements.txt
export HERMES_AGENT_PATH=~/.hermes
# 合成資料入門
python -m evolution.skills.evolve_skill \
--skill github-code-review --iterations 10 --eval-source synthetic
# 真實工作階段資料(效果更好)
python -m evolution.skills.evolve_skill \
--skill github-code-review --iterations 10 --eval-source sessiondb全量測試套件 pytest tests/ -q 必須 100% 通過
大小限制:Skills ≤ 15KB,工具描述 ≤ 500 字元
Prompt 快取相容性:不能在工作階段中途修改導致快取失效
語義保留檢查:不能偏離技能的原始核心目的
| 階段 | 最佳化目標 | 引擎 | 狀態 |
|---|---|---|---|
| Phase 1 | Skill 檔案(SKILL.md) | DSPy + GEPA | ✅ 已實作 |
| Phase 2 | 工具描述 | DSPy + GEPA | 🔲 計畫中 |
| Phase 3 | 系統提示片段 | DSPy + GEPA | 🔲 計畫中 |
| Phase 4 | 工具實作程式碼 | Darwinian Evolver | 🔲 計畫中 |
| Phase 5 | 持續改進循環 | 自動化流水線 | 🔲 計畫中 |
由於 Skills 遵循 agentskills.io 標準,可將 Claude Code 或 Gemini CLI 的執行軌跡也餵給 GEPA:--eval-source mixed --trace-dirs ~/.claude/traces,~/.hermes/sessions
外掛將技能打包成命名空間(plugin:skill):不出現在預設 skills_list(減少雜訊);只在使用者明確呼叫時啟動(Opt-in);外掛內技能可相互引用。
name: my-hermes-plugin
skills:
- name: writing-plans
path: skills/writing-plans/SKILL.md
- name: editing
path: skills/editing/SKILL.md
# 載入:skill_view("superpowers:writing-plans")description 決定啟動精度:避免 Helps with code. 這類模糊描述;應寫清觸發條件、處理範圍與明確排除場景(Do NOT use for...)。
Pitfalls 是品質分水嶺:每個失敗模式需包含根因分析與可操作修復步驟,而非泛泛而談。
| 技能大小 | 建議 |
|---|---|
| < 500 行 | 全部放在 SKILL.md |
| 500–1000 行 | 詳細資料移至 references/ |
| > 1000 行 | 強烈建議拆分;考慮是否是兩個技能 |
| > 15KB | 超過 GEPA 大小限制,必須拆分 |
skill_manage 讓 Agent 自我維護技能:支援 patch / create 動作;在 config.yaml 設定 skills.agent_writes_require_approval: true 開啟人工審批門。
建構 blog-workflow Bundle,打包 SEO 調研、大綱產生、程式碼驗證、雙語檢查與發佈技能:
name: blog-workflow description: Full tech blog writing workflow. skills: - seo-keyword-research - outline-generator - code-example-validator - bilingual-checker - publish-to-platform instruction: | Always research SEO keywords before writing. Ensure all code examples are tested and runnable. Generate both Chinese and English title options.
自訂 seo-keyword-research 技能可在 Procedure 中規定:中文長尾用「X 怎麼用」「X 教學」;英文用「X tutorial」「how to X」「X vs Y」;交叉參考掘金熱榜與 Dev.to trending,輸出 3–5 主詞 + 10–15 長尾矩陣。
Hermes Agent 需要 7×24 常駐 與本地軌跡累積才能讓 GEPA 進化生效(參見 三層記憶架構文)。在 Windows/Linux 主力機上寫 Skill,macOS 專屬 scripts/ 與 Telegram Gateway 驗收則建議在遠端 Mac 完成。
| 場景 | 僅 SSH | SSH + VNC | 推薦 |
|---|---|---|---|
| 編輯 SKILL.md / Bundle YAML | ✅ | ✅ | SSH 即可 |
| 執行 bash 腳本驗收 | ✅ | ✅ | SSH 即可 |
| Telegram / Discord 掃碼配對 | ❌ | ✅ | 必須 VNC |
| GEPA 進化 + 人工審 PR | ✅ | 可選 | SSH + 本地審 diff |
| macOS 鑰匙串 / TCC 權限 | ❌ | ✅ | 必須 VNC |
租用 Mac Mini M4 月租節點,SSH 安裝 Hermes(見安裝教學)。
在 ~/.hermes/skills/ 建立首個 SKILL.md,skills-ref validate 校驗格式。
建立 Skill Bundle,/bundle-name 驗證多技能同時載入。
VNC 工作階段中完成 Telegram Gateway 掃碼與 hermes doctor 健康檢查。
累積工作階段軌跡後,在遠端節點執行 GEPA evolve_skill,審閱產生的 PR。
官方中文版權威參考。
閱讀 →hermes-agent-self-evolution 儲存庫。
閱讀 →Cursor / Claude Code 通用 SKILL.md 規範。
閱讀 →Skills 是程序性知識文件(教 Agent 怎麼做某事),MCP 是工具介面(給 Agent 額外的工具呼叫能力)。兩者互補:MCP 提供資料庫存取,Skill 教 Agent 如何正確執行資料庫遷移。
Skill 修改在當前工作階段不生效,需要 /reset 開啟新工作階段,或安裝時加 --now 參數強制重新整理(會導致 Prompt Cache 失效,消耗更多 Token)。
透過四大護欄約束(全量測試、大小限制、語義保留、人工 PR 審查),且語義漂移偵測確保技能不會偏離原始目的。但仍建議人工 review 每個 PR diff。
複製 SKILL.md 到 ~/.claude/skills/,或使用 kevinnft/ai-agent-skills 等支援多 Agent 的安裝腳本,一次安裝多端可用。
中文字元在大多數 tokenizer 中每字約 1–1.5 token,與英文相近。但 description 欄位建議保留英文(或中英雙語),因為底層 LLM 對英文 description 的理解和匹配更精確。
Hermes Agent Skills 把「越用越強」從口號變成了可工程化的路徑:agentskills.io 標準保證跨平台可移植,Progressive Disclosure 控制 Token,Bundles 與條件啟動 讓複雜工作流可編排,GEPA 則讓技能文字本身可持續進化——而這一切的前提是有一台7×24 在線、能累積工作階段軌跡的執行環境。
在 Windows/Linux 主力機上寫 Skill 沒問題,但 Telegram 掃碼、macOS 權限彈窗與長期軌跡累積,往往卡在「沒有一台常開的 Mac」——自購 Mac mini 要面對折舊與電費,VPS 跑不了原生 Hermes Gateway 的完整工具鏈。相較之下,按月租用 VNCMac 的 Mac Mini M4 把在線率與基礎映像交給專業服務商,你專注 Skills 撰寫與 GEPA 進化,用 VNC 完成圖形化驗收即可。
若你準備把 Hermes 從「裝通」推進到「技能體系化」,可先透過下方按鈕開通遠端 Mac 節點,再對照本文第十二節的五步驗收清單與站內 選型文、安裝教學 串聯落地。