027 · 寫出好 skill 的四個檢查點
這場整理出一套判斷 skill 好壞的檢查清單,涵蓋觸發方式、內部結構到最後的精簡技巧,都是可以直接照做的具體做法。
原標題:Building Great Agent Skills: The Missing Manual
重點摘要
- user-invoked 與 model-invoked 的取捨skill 可以讓 agent 自己判斷要不要叫用,也可以完全交給使用者手動觸發。前者省使用者的力氣,卻會增加 agent 的 context 負擔,還多一分「agent 選擇不理你」的風險;後者把判斷的責任放回使用者身上,兩種都有代價。
- skill.md 越小越好一份 skill 由觸發用的描述、skill.md 主文件、外部參考資料組成。skill.md 寫得越精簡,越好維護、越省 token,讀起來的負擔也越低。
- 依分支拆出參考資料如果一份 skill 有好幾種用法(分支),只有某個分支才會用到的範本或說明,就該搬到外部檔案,靠一個指標串起來,不要塞滿主文件。
- leading words 引導 agent 行為挑一個精煉的詞彙寫進 skill 裡,agent 會在思考與輸出中反覆講出這個詞,進而真的照著做;比起長篇說明,這種寫法更容易讓行為穩定下來。
- 拆步驟增加 legwork把「先問清楚」跟「動手做」拆成兩個獨立 skill,agent 才不會因為看得到下一步而急著跳過提問,肯花更多力氣把前一步做完。
- 三種讓 skill 變臃腫的壞習慣內容重複、沒人敢刪的沉積物、看似有用其實不影響行為的無效段落,都是 skill 越養越大的原因,可以用「刪掉這段會怎樣」的測試抓出來。
時間軸
時碼點下去會跳到影片的那一段。
| 時碼 | 段落 | 重點 |
|---|---|---|
| 00:00 | 開場 | 講者因故無法到場,改用錄影分享《The Missing Manual》這場關於寫好 skill 的內容 |
| 00:55 | 命名「skill hell」 | 接續 tutorial hell、framework hell,指出大家拼湊各種 skill 卻拿不到承諾的效果 |
| 02:07 | 提出檢查清單 | 用 trigger、structure、steering、pruning 四個角度評估一份 skill 好不好 |
| 03:13 | Trigger:user-invoked 對照 model-invoked | 以 superpowers 為對照,說明兩種觸發方式的根本差異 |
| 05:10 | 選觸發方式的代價 | model-invoked 加重 agent 的 context 負擔,還有被忽略的風險;user-invoked 則把認知負擔轉嫁給使用者 |
| 07:40 | Structure:steps 與 reference | 以 2PRD 這個 skill 示範怎麼拆成步驟與支援資料兩個單位 |
| 08:51 | skill.md 越小越好 | 精簡的主文件好維護、好稽核,也省下每次呼叫的 token |
| 09:41 | 依分支判斷取捨 | 用 domain modeling 這個 skill 為例,只在特定分支用得到的資料就該移出主文件 |
| 10:47 | context pointer 技巧 | 把分支專用的參考資料抽成外部檔案,用一個指標串起來,不佔主文件篇幅 |
| 11:58 | Steering:leading words | 用精煉詞彙引導 agent,這個詞會在思考過程與輸出裡被反覆強化 |
| 13:24 | 範例:vertical slice | 用這個既有術語取代長篇說明,讓 agent 從逐層開發改成先做一小片能動的東西 |
| 14:51 | legwork:拆步驟避免偷工 | 以 plan mode 為例,把提問步驟獨立成 grill with docs,agent 才不會急著跳去做計畫 |
| 16:37 | Pruning:三種失敗模式 | 重複內容、逐漸堆積的沉積物、看似有用實則無效的段落,都會讓 skill 變臃腫 |
| 19:52 | 結語 | 建議直接下載 Writing Great Skills 這個 skill,拿來檢查自己或社群 skill 的品質,並附上個人電子報 |
值得記的話
名詞與人物
| Matt Pocock's Skills | 講者自己維護的工程 skill 套件庫,這場多次拿來當範例 |
|---|---|
| superpowers | 另一套熱門的工程 skill 集,多半走 model-invoked 路線,作為這場的對照組 |
| 2PRD | 講者的 skill,能把目前對話的內容整理成一份產品需求文件(PRD) |
| grill with docs | 講者把「提出釐清問題」獨立出來的 skill,避免這步驟被草率帶過 |
| domain modeling | 講者的 skill 範例,功能是更新詞彙表 context.md 或建立架構決策紀錄(ADR) |
| Writing Great Skills | 講者依這場的框架寫成的新 skill,可用來檢查自己或別人 skill 的品質 |
| aihero.dev | 講者的個人電子報網站,這場結尾提到 |
延伸
- 「light vert」這個文學理論詞彙,講者提到跟 leading words 的關聯,但沒有進一步展開。
- Matt Pocock's Skills 裡另有一個「grill me」skill,這場只用它示範 disable model invocation 的設定,沒有另外介紹用途。
- 講者提到自己因家庭因素無法出席這場研討會現場,改用錄影取代,但沒有多說細節。