自動化腳本失敗要當場記錄狀態

問題

讓 Claude 寫自動化腳本(例如定時任務、UI 自動操作)時,它的錯誤處理通常是「失敗就重試」。但如果重試邏輯和第一次一模一樣,重試 100 次結果也一樣。

真實案例:我有一個 Zoom 自動加入會議的腳本,連續三週失敗。每次失敗後,腳本盲目重試 3 輪共 180 秒。Log 裡只記了空字串,完全無法事後診斷。

後來發現原因超簡單:Zoom 更新後按鈕文字從「解除靜音」變成「取消靜音」,腳本找不到按鈕。如果第一次失敗就把按鈕文字記進 log,一秒就能找到問題。

原因

Claude 寫 retry 邏輯時,習慣用 while 迴圈重複同樣的操作。它不會自動在失敗時記錄「當時的環境長什麼樣」。

解決方案

要求 Claude 在寫自動化腳本時,偵測失敗的第一步不是重試,而是記錄當時的實際狀態。

可複用的 CLAUDE.md 規則

### 自動化腳本的錯誤處理
- 偵測/驗證步驟失敗後,MUST 先記錄實際狀態(UI 元素文字、程序輸出、環境變數)到 log
- 記錄完後才決定是否重試
- NEVER 用同樣的邏輯盲目 retry
- Log 要記錄「期望找到什麼」和「實際找到什麼」,方便事後比對

回到頂部