自我改善技能
這是什麼
將重複的經驗教訓轉化為更好的可重複使用指令的實踐。
白話解釋
想像一位教練,當一個花招戰術第三次險些出錯時,他直接在那本戰術手冊的該頁上鉛筆修正,讓下一場比賽從修正版開始,而不是從空白的場邊草稿重新來過。自我改善技能對 Hermes 來說也是如此:一旦找到更好的修正方法,已儲存的程序會直接在原地被修改,而不是每次對話都要重新解決同樣的錯誤。
為什麼重要
一個在實踐中不斷以同樣方式失敗的技能是一個信號,而自我改善技能正是將那個信號——一個被修正的錯誤、一個被發現的邊界情況——轉化回指令,讓失敗不再重複。這就是 Hermes 與靜態提示庫的區別:在長時間 VPS 託管對話中使用的技能,應該隨著使用而變得更好,而不是一成不變地累積。這取決於技能生命週期中的起草、測試、使用、優化循環是否真正被執行,而不是技能被寫一次就放在那裡不管。
How it works
Skills load in layers — an index entry first, full content only when needed, reference files only if asked — with discovery and frontmatter parsing handled centrally (agent/skill_utils.py). When the agent works through a hard multi-step task, hits a dead end, or gets corrected, it can call skill_manage to patch, edit, or create a SKILL.md instead of relying on one-off memory of the fix (tools/skill_manager_tool.py); patching is preferred because only the changed text has to be resent to the model, unlike a full rewrite. A separate background process, the curator, tracks usage and can move skills through active, stale, and archived states based on inactivity — 30 days unused makes a skill stale, 90 days archives it into a recoverable folder rather than deleting it. Pinned skills are exempt from every automatic transition. The refining half of the loop runs through the same skill_manage tool that created the skill in the first place, using its patch action to fold in fixes as gaps surface.
A concrete example
Hermes solves a gnarly Kubernetes rollout problem after a few failed attempts, then saves the working steps as a new skill.
- You reuse that skill successfully several times over the next month, and its usage count climbs.
- Six months pass without another Kubernetes problem, and the curator marks the skill stale.
- A colleague eventually hits a similar issue, but the skill’s steps assume an older CLI version; they correct it mid-task.
- Hermes applies that correction as a patch to the skill file rather than leaving the fix as one-off conversation memory.