第十九章:技能最佳實務 — 命名規範、單一職責、可測試性、避坑指南
寫出一個能動的技能很棒,但寫出一個「好維護、不會突然發瘋」的技能才是真正的大師境界!🧙♂️
上一章我們體驗了造物主的快樂,但你也可能發現了:如果你的提示詞寫得太模糊,管家可能會跑偏,甚至開始胡言亂語。為了避免你的魔法反噬,今天我們要來傳授幾招「防坑心法」,這都是無數先烈用血淚換來的最佳實務!
🛡️ 防坑心法四大原則
1. 命名規範:別叫它 “test” 或 “my-skill”
技能的名稱和資料夾必須是小寫英文字母,並用連字號分隔(例如:daily-news-summary)。請給它一個能「望文生義」的名字!不要叫它 do-stuff,管家會很困惑。
2. 單一職責:不要讓管家又掃地又煮飯
這點最重要!一個好的技能應該只專注做「一件事情」。 如果你想要管家「查新聞、寫報告、翻譯成法文、再發到推特」,請把這拆成 4 個不同的技能(或讓它變成一個大的任務計畫,我們後面會教)。塞太多步驟在同一個 SKILL.md 裡,管家很容易忘記中間的步驟,或是把步驟搞混。
3. 明確的邊界與可測試性:給它範例
不要對 AI 的理解能力有不切實際的幻想。如果希望它輸出的表格有三欄,請在 SKILL.md 裡明確寫出: > 「請輸出包含『日期』、『標題』、『連結』三個欄位的 Markdown 表格,例如:…」
提供參考範本(Examples)是減少管家犯錯的最有效方法!
4. 避坑指南:小心死迴圈與危險指令
如果你在技能裡賦予了管家終端機(terminal)的權限,請一定要在提示詞裡加上限制條件,例如:「在執行任何危險指令前,必須先請求使用者同意。」否則哪天它為了清理硬碟空間,把你的系統檔給刪了,那可不是開玩笑的!
🛠️ 指令教學:測試與除錯你的技能
就算遵守了所有原則,魔法還是有失敗的時候。這時你需要學會如何測試它。
介紹指令:使用 hermes run 的 --dry-run 與 --debug 參數
💡 應用練習例子
練習 1:演習不開火 (--dry-run) 如果你剛寫好一個會刪除檔案的技能,心裡有點怕怕的,可以先用 --dry-run(演習模式)跑跑看:
hermes run --skill your-skill-name --dry-run幽默小提示:在這個模式下,管家只會「假裝」執行那些會改變系統狀態的工具。你可以看著它說「我現在要刪除這些檔案囉」,但實際上它什麼都沒做。非常安全!
練習 2:戴上 X 光眼鏡看底層 (--debug) 如果技能跑到一半卡住了,你想知道它腦袋裡到底在想什麼,加上 --debug:
hermes run --skill morning-briefing --debug這會印出海量的底層日誌(Logs)。雖然看起來像亂碼,但你可以從中發現它是不是卡在某個網路請求,或是提示詞哪裡出錯了。
練習 3:針對特定步驟驗證 (單點測試) 如果你的技能很長,不要一次跑完。可以先寫一半,然後測試:
# 假設修改了 SKILL.md,只保留第一步「搜尋新聞」,然後執行:
hermes run --skill morning-briefing確認第一步完美運作後,再把第二步加進去。這就是工程師常說的「迭代開發」,步步為營才不會摔得鼻青臉腫。
🎉 恭喜你獲得了防護罩!
掌握了這些最佳實務,你寫出來的技能將會又穩又快。現在你已經是個可以獨當一面的技能開發者了!
獨樂樂不如眾樂樂,寫出這麼好的技能,當然要跟全世界炫耀一下啊!下一章《技能發佈與分享》,我們將教你如何把你的得意之作打包,分享給其他 Hermes 玩家!我們第二十章見!🚀