Brickverse
免費講座實戰班課程包班戰鬥營文章
首頁免費講座實戰班課程包班戰鬥營文章
合作信箱:[email protected]
官方 LINE
© 2026 Brickverse. All rights reserved.

Claude Code Hooks 教學:讓 AI 自動守規矩的 5 個實用配方

2026 年 3 月 12 日15 分鐘
Claude CodeHooksAI 工作流Vibe Coding自動化Claude Code 教學
  • 那句你每天都在說的話
  • 什麼是 Hooks?
  • Hooks 跟 Skill、Permission 有什麼不同?
  • 有 Hooks vs 沒有 Hooks:到底差在哪?
  • 改完程式碼要排版
  • 碰到敏感檔案
  • 做完想停下來
  • 四大應用場景
  • 場景一:改完自動排版(自動化)
  • 場景二:保護敏感檔案(守護)
  • 場景三:壓縮後重新提醒規矩(記憶補強)
  • 場景四:做完通知你一聲(不用盯螢幕)
  • 怎麼設定?
  • 設定放哪裡?三個層級
  • 兩種 Hook 的差別:「自動做」vs「先擋住」
  • 這就是我目前在用的設定
  • 從「提醒」到「自動」
  • 延伸閱讀

TL;DR

Claude Code Hooks 是一套自動化機制,讓你替 AI 設定「工作守則」。 改完程式碼自動排版、敏感檔案碰不得、做完自動跑測試——設定一次,永遠生效,再也不用重複提醒。

這篇文章適合:

  • 已在用 Claude Code,但發現自己重複說「幫我排版一下」「記得跑測試」的人
  • 想讓 AI 助理的行為更可預測、更符合專案規矩的人
  • 擔心 AI 改到密碼檔或環境設定的謹慎派
  • 用過 Agent Skill 或 MCP,想進一步把工作流自動化的 Vibe Coder

本文基於 Claude Code 2026 年版本。 詳細設定語法請參考 Claude Code 官方 Hooks 文件。

那句你每天都在說的話

小美用 Claude Code 半年了。

從一個簡單的部落格改版開始,她已經能叫 Claude 幫她重構整個元件、改完 API 路由、加上新功能。效率很好,成果也不錯。

但有一件事讓她很困擾。

每次 Claude 改完檔案,她都要補一句:「幫我跑一下 prettier。」

第一次說,正常。第二次說,好吧。第十次說的時候,她開始懷疑人生——「我雇了一個這麼強的助理,為什麼連整理桌面都要我提醒?」

第二十次說的時候,她才意識到:這句話她可能要說一輩子。

除非,有一個方法能把這件事變成「自動的」。

什麼是 Hooks?

Hooks 是你替 Claude 設定的「工作守則」。

你可以把它想像成這樣:你雇了一個很能幹的助理,但他有點隨性。做完事不一定會整理,偶爾會動到你說過不能動的東西,而且你不在旁邊的時候他不知道要叫你。

你有兩個選擇:

  1. 每次開口提醒他——「記得排版」「不要動 .env」「做完跑測試」
  2. 把規矩寫在牆上——設定一次,永遠生效

Hooks 就是第二種。

它不需要 AI 去「理解」你的意思——這是確定性的規則,觸發就執行,沒有例外。用流程圖來看,Hook 的運作方式是這樣的:

flowchart LR
    A[Claude 執行動作] --> B{Hook 檢查}
    B -->|條件符合| C[自動執行指令]
    B -->|條件不符| D[跳過]
    C --> E[繼續工作]
    D --> E

Claude Code 目前支援超過 15 種 Hook 事件,本文聚焦其中最實用的 4 種。

Hooks 跟 Skill、Permission 有什麼不同?

如果你用過 Claude Code 的其他功能,可能會好奇三者的差別:

功能 做什麼 像什麼
Permission 控制 Claude 能做什麼 門禁卡——「這扇門你不能進」
Skill 教 Claude 新的指令 新技能——「教你怎麼煮飯」
Hooks 自動執行特定動作 規矩——「飯煮好自動關火」

Permission 是靜態的限制,Skill 是要 AI 理解的指令,Hooks 則是確定性的自動化——觸發條件一滿足,不管 AI 當下在想什麼,指令一定執行。

有 Hooks vs 沒有 Hooks:到底差在哪?

最直覺的理解方式,是看同一件事在兩種狀態下會怎樣發展。

你現在每天重複說幾次同樣的提醒?數一下,可能比你想的多。

改完程式碼要排版

沒有 Hooks 的小美:

小美叫 Claude 改了首頁標題的樣式。Claude 改好了——但排版亂了。小美說:「幫我跑一下 prettier。」Claude 跑了。隔天,小美又叫 Claude 加一個 API 路由。Claude 加好了——排版又亂了。小美又說了同一句話。

有 Hooks 的小美:

小美叫 Claude 改了首頁標題。Claude 改好了,排版自動整齊——因為 Hook 在改完的那一瞬間就自動執行了 prettier。小美什麼都沒說。隔天加 API 路由,一樣。她再也不用開口提醒。

碰到敏感檔案

阿凱是個有安全意識的開發者。他在用 Claude 重構一個有金流的專案,.env 裡面放了 API key——非常敏感。

沒有 Hooks:Claude 在重構的過程中,順手改了 .env.local 裡的一個變數名稱。阿凱沒注意,直接 push。上線後金流掛了,花了兩小時才找到原因。

有 Hooks:Claude 想改 .env.local,Hook 直接擋掉。Claude 收到訊息:「此檔案受保護,不可修改。」阿凱什麼都不用做,因為保險箱本來就鎖著。

差別在哪裡? 不是 AI 變聰明了,是你把信任邊界用機制鎖住,而不是靠回憶和提醒。

做完想停下來

小陳想確保每次 Claude 停下來前都跑過測試。

沒有 Hooks:Claude 說「全部改完了!」就停了。小陳問:「有跑測試嗎?」Claude:「抱歉,有兩個失敗了。」小陳:「那先修好再停。」

有 Hooks:Claude 改完準備停止——Hook 自動跑測試——兩個失敗——Hook 不讓他停——Claude 繼續修——修完再跑——全過了——停止。全程不需要小陳開口。

差別在哪裡? 不是每次拜託他「記得跑測試」,而是用機制保證每次停止前都會經過同樣的檢查。

四大應用場景

場景一:改完自動排版(自動化)

這是最多人第一個用的 Hook,也是我自己每天都在用的。

flowchart LR
    A[Claude 改完檔案] --> B[Hook 自動觸發] --> C[執行 Prettier 排版] --> D[檔案自動整齊]

痛點:Claude 改完程式碼不會自動跑 formatter,你每次都要手動提醒。

怎麼做:在設定檔裡告訴 Claude:「每次你改完或寫入任何檔案之後,自動跑 prettier 排版。」

設定完之後,你再也不用說「幫我 prettier」。Claude 每次改完,排版自動整齊。

場景二:保護敏感檔案(守護)

flowchart LR
    A[Claude 要改檔案] --> B{是敏感檔案?}
    B -->|.env .pem .key| C[❌ 直接擋掉]
    B -->|一般檔案| D[✅ 允許修改]

痛點:Claude 不知道哪些檔案是禁區,可能在重構時順手改到 .env(放密碼的檔案)。

怎麼做:在設定檔裡告訴 Claude:「你在修改任何檔案之前,先檢查一下,如果是 .env、.pem、.key 這類敏感檔案,直接擋掉,不准動。」

這就像在保險箱上裝鎖——他想開都開不了。

場景三:壓縮後重新提醒規矩(記憶補強)

痛點:對話太長時,Claude Code 會自動壓縮上下文。壓縮後 Claude 可能忘記「這個專案用 Bun 不要 npm」這類規矩。

怎麼做:在設定檔裡告訴 Claude:「每次上下文被壓縮後,自動重新提醒以下規矩——本專案用 Bun、port 是 3004、部署前跑測試。」

這樣就算對話壓縮了,Claude 也不會忘記最關鍵的事。

場景四:做完通知你一聲(不用盯螢幕)

我自己也在用這個。叫 Claude 做耗時的任務,你去泡咖啡,做完後電腦會發出聲音通知你。

怎麼做:在設定檔裡告訴 Claude:「當你需要我注意的時候(做完了、需要確認),播放一個系統音效。」

macOS 上就是一聲清脆的玻璃聲;想要桌面彈窗通知也行。你不用一直盯著螢幕等。

怎麼設定?

好消息是,Hooks 的設定門檻很低。你需要做的只有一件事:

在你的專案裡,建立一個設定檔 .claude/settings.json。

這個檔案用來告訴 Claude:在什麼時間點、自動做什麼事。每個 Hook 就是一條規矩。

你也可以不手動建檔——直接在 Claude Code 裡輸入 /hooks 指令,它會帶你用互動方式一步步設定。

設定放哪裡?三個層級

位置 適用範圍 適合什麼時候用
專案裡的 .claude/settings.json 只有這個專案 專案特有規矩(如:「這個專案用 Bun」)
家目錄的 ~/.claude/settings.json 所有專案 通用規矩(如:自動排版、聲音通知)
在 Claude Code 輸入 /hooks 互動式設定 不想手動改檔案的時候

建議:自動排版和聲音通知放全域(所有專案都用),檔案保護和規矩提醒放專案層級。

兩種 Hook 的差別:「自動做」vs「先擋住」

Hook 只有兩種基本行為:

  • 自動做:Claude 完成動作後,自動執行你設定的指令(比如自動排版、播放音效)。不需要擋住任何東西。
  • 先擋住:Claude 準備做某件事之前,Hook 先檢查一下,不符合條件就阻止(比如保護敏感檔案、測試沒過不准停)。

大部分人最常用的是「自動做」——改完自動排版、做完叫你一聲。簡單、安全、不用想太多。

這就是我目前在用的設定

我自己每天在用的就兩個:改完自動排版和做完叫我一聲。

簡單、不花時間、每天都在幫我省事。不需要複雜的設定,也不需要懂什麼程式語法——打開 /hooks 指令,照著畫面點幾下就好。

從「提醒」到「自動」

設定了第一個 Hook 之後,小美再也沒說過「幫我跑 prettier」。改完檔案,自動整齊。

後來她又加了敏感檔案保護、壓縮後提醒、做完通知——四個 Hook,十分鐘設定完。

工具應該替你想,而不是等你提醒。

如果你現在想開始,打開 Claude Code,輸入 /hooks,先設定一個「改完自動排版」。設定完之後,你會馬上感受到那個「啊,我不用說了」的舒暢感。然後你會忍不住加第二個、第三個。

你會先設定哪個 Hook?


延伸閱讀

  • 我如何用 8 個 Agent Skill 打造 Blog 編輯流水線
  • Agent Skill 機制比較:Claude Code vs Cursor vs Antigravity
  • MCP(Model Context Protocol)是什麼?Vibe Coder 的完整入門指南
  • 用 Claude Code 的 /ship 指令一鍵部署到 Zeabur
Willy / 柏燁

Willy / 柏燁.Brickverse 創辦人

擁有超過 6 年程式教學經驗,專注於 Vibe Coding 教學,幫助非工程背景的初學者透過 AI 輔助開發掌握實戰技能。 致力於降低程式開發的門檻——讓每個人都能用自己的母語描述需求,把想法變成真正能用的產品。

最後更新:2026年3月12日

  • 那句你每天都在說的話
  • 什麼是 Hooks?
  • Hooks 跟 Skill、Permission 有什麼不同?
  • 有 Hooks vs 沒有 Hooks:到底差在哪?
  • 改完程式碼要排版
  • 碰到敏感檔案
  • 做完想停下來
  • 四大應用場景
  • 場景一:改完自動排版(自動化)
  • 場景二:保護敏感檔案(守護)
  • 場景三:壓縮後重新提醒規矩(記憶補強)
  • 場景四:做完通知你一聲(不用盯螢幕)
  • 怎麼設定?
  • 設定放哪裡?三個層級
  • 兩種 Hook 的差別:「自動做」vs「先擋住」
  • 這就是我目前在用的設定
  • 從「提醒」到「自動」
  • 延伸閱讀