# 影片筆記:ClaudeCode的自动化开发检测员-Hooks详解【第七讲】 ## 一句話總結 本影片介紹如何在 Cloud Code 中使用 Hooks(鉤子)作為自動檢查員,透過定義觸發事件與行為(Command、Prompt、Agent),實現攔截危險操作、自動存檔、代碼審查及自動測試,從而提升開發效率並減少返工。 ## 核心重點 1. **Hooks 的定義與價值**: * Hooks 被定義為「自動檢查員」,用於監控 Cloud Code 的行為,確保其嚴格執行設定命令。 * 主要效益是減少不必要的返工,據稱可將開發效率提升至少一倍。 2. **Hooks 的四大應用場景**: * **攔截危險操作**:保護核心文件(如特定副檔名文件)不被直接改動或刪除。 * **自動存檔**:確保每次提交代碼時,自動記錄迭代改動點(即使 Cloud Code 可能忽略 `cloud.md` 的要求)。 * **代碼審查(Code Review)**:防止 Cloud Code 在大型改版時出現「戰術性偷懶」,確保所有模組確實完成。 * **自動測試**:針對高頻改動的 UI 或後端邏輯,執行自動化測試。 3. **Hooks 的結構與行為類型**: * 結構由兩部分組成:觸發事件(Trigger,逐字稿提及為 Metra)與行為(Behavior)。 * 行為分為三種類型: * **Command(命令)**:適用於簡單規則,無需語義判斷或複雜操作(例如攔截特定副檔名)。 * **Prompt(提示)**:適用於簡單判斷,僅需審查對話歷史,不需執行額外操作。 * **Agent(代理)**:適用於複雜的多步驟行為,涉及多步驟判斷或行為(例如執行自動化測試、檢查 UI 實現與點擊事件)。 4. **建立與管理方式**: * **建立**:透過向 Cloud Code 提出自然語言指令(例如:「每次 UI 重構都進行自動化測試,且僅在當前專案生效」),由 Cloud Code 協助生成。 * **生效**:建立完成後,下次啟動專案時自動生效。 * **驗證**:透過故意引入錯誤或 Bug,確認 Hooks 能檢測出問題。 * **管理**:在輸入框輸入 `-hooks`,選擇選項並點擊 `continue terminal`,於終端機介面進行刪除、編輯或禁用操作。 ## 詳細大綱 ### 1. Hooks 的概念與價值 * **定義**:自動檢查員,監控 Cloud Code 並確保嚴格執行命令。 * **效益**:減少大量的不必要反攻(返工),提升開發效率至少一倍。 ### 2. Hooks 的應用場景 * **攔截危險操作**: * 保護核心文件不被直接改動或刪除。 * 範例:碰到 `.enb` 後綴的文件時進行攔截。 * **自動存檔**: * 確保每次提交代碼時,自動記錄迭代改動點。 * 解決 Cloud Code 可能忽略 `cloud.md` 要求的情況。 * **代碼審查**: * 防止 Cloud Code 在大型改版時「戰術性偷懶」。 * 確保所有模組確實完成。 * 方法:早描(審查)Cloud Code 工作過程中的對話歷史。 * **自動測試**: * 針對高頻改動的 UI 或後端邏輯,執行自動化測試。 * 範例:檢查 UI 實現與點擊事件。 ### 3. Hooks 的結構與類型 * **結構組成**: * Trigger(觸發事件,逐字稿提及為 Metra)。 * Behavior(行為)。 * **行為類型**: * **Command**:簡單規則,無需語義判斷或複雜操作。 * **Prom(Prompt)**:簡單判斷,僅需審查對話歷史,不需執行額外操作。 * **Agent**:複雜行為,涉及多步驟判斷或行為。 ### 4. 建立與管理 Hooks * **建立方式**: * 透過向 Cloud Code 提出自然語言要求。 * 範例:「每次 UI 重構都進行自動化測試,且僅在當前專案生效」。 * **生效機制**: * 建立完成後,下次啟動這個繪畫(專案)時自動生效。 * **驗證方式**: * 故意引入錯誤或 Bug。 * 確認 Hooks 能檢測出問題,沒有看到 Hooks 的檢測和報鎖(報錯)的痕跡。 * **管理方式**: * 在輸入框輸入 `-hooks`。 * 選擇選項並點擊 `continue terminal`。 * 在中端(終端)裡面進行管理,打開一個中端的界面。 * 進行刪除、編輯或禁用操作。 ### 5. 結語與下期預告 * 預告內容:Subagent、MCP、CloudSkills、Agent Team 等進階玩法。 ## 工具 / 模型 / 名詞整理 * **Cloud Code**:影片主要介紹的開發工具/環境。 * **Hooks**:自動檢查員,用於監控 Cloud Code 行為。 * **Trigger / Metra**:Hooks 結構中的觸發事件部分。 * **Behavior**:Hooks 結構中的行為部分。 * **Command**:Hooks 的行為類型之一,適用於簡單規則。 * **Prom / Prompt**:Hooks 的行為類型之一,適用於簡單判斷。 * **Agent**:Hooks 的行為類型之一,適用於複雜行為。 * **cloud.md**:Cloud Code 可能忽略要求的設定文件。 * **Github**:提及的相關平台。 * **Subagent**:下期預告內容。 * **MCP**:下期預告內容。 * **CloudSkills**:下期預告內容。 * **Agent Team**:下期預告內容。 * **Thinking**:提及從模型的 Thinking 裡面獲取資訊。 ## 操作流程整理 1. **定義需求**:確定需要 Hooks 監控的場景(如攔截危險操作、自動存檔、代碼審查、自動測試)。 2. **自然語言指令**:向 Cloud Code 輸入自然語言指令,描述 Hooks 的觸發條件與預期行為。 * *範例*:「每次 UI 重構都進行自動化測試,且僅在當前專案生效」。 3. **生成 Hooks**:Cloud Code 根據指令生成 Hooks 配置。 4. **驗證生效**: * 下次啟動專案時,Hooks 自動生效。 * 故意引入錯誤或 Bug。 * 確認 Hooks 能檢測出問題(檢查是否有報鎖/報錯痕跡)。 5. **管理 Hooks**: * 在輸入框輸入 `-hooks`。 * 選擇相關選項。 * 點擊 `continue terminal` 打開終端界面。 * 在終端中進行刪除、編輯或禁用操作。 ## 值得注意的限制或風險 * **Cloud Code 的潛在忽略**:影片提到 Cloud Code 可能會忽略 `cloud.md` 的要求,因此需要 Hooks 來強制執行自動存檔等動作。 * **戰術性偷懶**:Cloud Code 在進行大型改版時可能會出現「戰術性偷懶」,導致部分模組未完成,需透過 Hooks 進行代碼審查來防止。 * **辨識錯誤風險**:逐字稿中存在多個疑似聽寫錯誤的名詞(如 Metra、Prom、中端、報鎖等),實際操作時需確認正確術語,以免指令失效。 ## 逐字稿辨識疑點 * **Metra**:逐字稿中將 Hooks 結構的第一部分稱為「Metra」,並解釋為代表觸發事件(Trigger)。此名稱在常見技術文獻中較少見,疑似為聽寫錯誤或特定內部術語。 * **Prom**:逐字稿中將行為類型之一稱為「Prom」,並解釋為適用於簡單判斷(如審查對話歷史)。此名稱疑似為「Prompt」的聽寫錯誤或縮寫。 * **反攻**:逐字稿中提到「減少大量的不必要反攻」,語意上較不通順,疑似為「返工」的聽寫錯誤。 * **早描**:逐字稿中提到「早描 Cloud Code 工作過程中的對話歷史」,語意不明,疑似為「描繪」、「查看」或「審查」等詞的聽寫錯誤。 * **報鎖**:逐字稿中提到「沒有看到 Hooks 的檢測和報鎖的痕跡」,語意不明,疑似為「報錯」或「報警」等詞的聽寫錯誤。 * **中端**:逐字稿中提到「就是在中端裡面進行管理」及「打開一個中端的界面」,疑似為「終端」(Terminal)的聽寫錯誤。 * **enb 后坠**:逐字稿中提到「碰到.enb 后坠的文件」,疑似為「enb 後綴」的聽寫錯誤。 * **繪畫**:逐字稿中提到「下一次啟動這個繪畫」,語意不明,疑似為「專案」或「環境」等詞的聽寫錯誤。 * **Thinking**:逐字稿中提到「從他的 Thinking 里面」,疑似指代模型的思考過程(Chain of Thought),但保留原文。 ## 可延伸追問 1. 如何具體撰寫自然語言指令來定義複雜的 Agent 類型 Hooks? 2. 在終端界面管理 Hooks 時,具體的刪除或禁用命令語法為何? 3. 如何區分何時應使用 Command、Prompt 還是 Agent 類型? 4. 下期預告的 Subagent、MCP、CloudSkills 與 Agent Team 具體功能為何? 5. 如何確保 Hooks 不會過度干擾正常的開發流程?