教 Claude 守規矩的七種方法 — 把指令放對地方,比寫得漂亮更重要
你寫了一條規矩想叫 Claude 遵守——比方說「改完程式碼一定要跑 lint」。問題來了:這句話到底該寫在哪?
寫進 CLAUDE.md?做成一個 skill?還是設一個 hook?大部分人卡住的地方不是「指令寫得好不好」,是根本沒意識到「放哪裡」本身就是一個決定,而且這個決定常常比措辭重要得多。同一句話,放對地方它每次都生效,放錯地方它可能整場對話都沒被讀到一次。
6 月 18 日 Anthropic 出了一篇官方文章,把引導 Claude 行為的方法整理成七種:CLAUDE.md、rules、skills、subagents、hooks、output styles,還有直接改系統提示。乍看像七個功能等你挑,其實不是——它們是七個抽屜,每個抽屜裝的東西、開的時機都不一樣。搞懂該往哪個抽屜放,這篇就值了。
先用一個比方把七個抽屜串起來
想像你開了一家公司,今天進來一個新員工,你要讓他照規矩做事。你會怎麼傳達?
最基本的,你給他一本員工手冊,放在桌上,每天上班都看得到——公司在幾樓、用什麼打卡系統、程式碼風格長怎樣。這就是 CLAUDE.md:它在每次對話一開始就載入,整場都待在那裡。凡是「每一輪都得成立」的事,就寫這。
但手冊不能什麼都塞。有些事是「平常用不到,特定狀況才要翻」的——像「處理退款的完整流程」。你不會把整套退款 SOP 印在員工手冊第一頁,你會做成一本獨立的 SOP 手冊,需要的時候才拿出來照著做。這就是 skill:它平常只露出一個名字跟簡短描述掛在那,等任務對上了才把完整內容拉進來。好處是它不佔你平常的腦容量,壞處是你得把觸發描述寫清楚,不然該用的時候它不會自己跳出來。
有些規矩你不能靠「希望他記得」——像「離開公司前一定要刷卡」。你不會在手冊寫一句「請記得刷卡」就放心,你會裝一道門禁,不刷就是出不去。這就是 hook:它綁在特定事件上(檔案被改、工具被呼叫、session 開始),時間到了就一定觸發,不靠 Claude 的自覺。前面那個「改完一定跑 lint」,答案就在這——它該是 hook,不是寫在 CLAUDE.md 裡的一句叮嚀。因為叮嚀會被忘記,門禁不會。
剩下幾個抽屜,差別更微妙
接著是 subagent。想像有件雜事——比方「把整個 repo 的依賴關係查一遍」——做起來會翻出一大堆中間資料,但你最後只想要一個結論。你不會讓新人在你面前一邊翻一邊念,把你的桌面堆滿,你會把這件事外包給一個專員,讓他自己關在另一個房間做完,只回來跟你報一句結論。這就是 subagent:它在獨立的 context 視窗裡跑,過程中那些檔案搜尋、log 翻找都留在它那邊,只有摘要回到你的主對話。
這裡有個很實用的判準,剛好把 skill 跟 subagent 分開:你想不想看到過程? 想邊看邊插手、邊跑邊調整的程序,做成 skill,讓它在主線上展開;只想要結果、過程看了只會礙眼的側任務,丟給 subagent。同一件事,這兩個抽屜的差別不在功能,在「你要不要在場」。
output style 更純粹——它只改 Claude「說話的方式」,不改它「知道什麼」。你想讓它回答得更簡潔、更像在教學、更正式,調的是這個。把它想成同一個員工換一套口吻講話,腦袋裡的知識一點沒變。
rules 是那種「永遠成立、不容商量」的硬規定,跟手冊裡的一般說明不同,它的份量更重、更接近不可違背。而直接改系統提示,是七個裡面最底層、最重的一招,通常出現在你用 SDK 自己搭東西、要從根上設定 Claude 性格的場景,日常用 Claude Code 的人多半碰不到。
反過來想:放錯抽屜會怎樣
判準光記「該放哪」還不夠牢,倒過來看「放錯會怎樣」會記得更死。
把一句「只有處理金流時才需要的檢查清單」硬塞進 CLAUDE.md,會發生什麼?它會在你每一次對話都被載入、每一輪都佔著 context,哪怕你今天根本在改 CSS。這就是把 SOP 手冊的內容印進員工手冊第一頁——不該常駐的東西常駐了,你寶貴的 context 空間被一堆當下用不到的字塞著。
反過來,把一句「每次 commit 前都必須跑測試」做成 skill 會怎樣?skill 是「Claude 覺得任務對上了才拉進來」的,它有判斷、就有判斷錯的可能——某次它沒覺得這個任務跟測試有關,這條規矩就靜悄悄地沒生效,而你還以為它每次都跑了。要「100% 發生」的事交給「會看狀況決定要不要做」的機制,這就是把門禁的工作交給了一句叮嚀。
一條指令該放哪,判準其實只有兩個問題:它是「每次都要成立」還是「偶爾才需要」?它是「必須強制發生」還是「可以靠判斷觸發」?每次都要、必須強制的,往 CLAUDE.md 和 hook 放;偶爾才要、靠判斷觸發的,往 skill 和 subagent 放。先答這兩題,七個抽屜大半就自己歸位了。
還有一個容易被忽略的好處
這套分法 6 月還補了一塊:同一個 skill 的資料夾格式,在 Claude.ai、在 Claude Code、在 Anthropic 的 Managed Agents 裡都能跑。寫一次,到處都能用。這件事的意義比聽起來大——它意味著你花力氣整理出來的那套「公司規矩」,不會綁死在某一個介面上,換個地方還是你的資產。
說到底,這七個抽屜真正在教的,不是 Claude 的功能列表,是一件更基本的事:指令的價值,一半在內容,一半在它被放在哪、什麼時候被讀到。 這跟你在寫程式時決定「這段邏輯該放哪一層、這個設定該放哪個檔」是同一門功課——一個變數放對 scope,比它取什麼名字重要;一條指令放對抽屜,比它寫得多漂亮重要。
下次你又想叫 Claude 「以後都要怎樣怎樣」的時候,先別急著打字。先停一秒問自己:這句話,是該擺在它每天都看得到的桌上,還是鎖進一道它逃不掉的門裡?答對這題,你才算真的會用它。
參考來源:Steering Claude Code: skills, hooks, rules, subagents and more(Anthropic 官方,2026-06-18)、Claude Code Docs。本文為整理官方框架後的判準說明,部分功能(如 output styles、subagents)筆者過去已實際使用,hook 的強制觸發行為以官方文件描述為準。










