Claude 不僅僅用於在您的編輯器中撰寫程式碼。它還可以監控您的生產應用程式,並在錯誤發生時自動修復。這創造了一個強大的自動化除錯工作流程,可以在問題影響您的使用者之前捕捉並解決這些問題。

問題所在:僅在生產環境中出現的錯誤
最令人沮喪的除錯情境之一,就是您的應用程式在開發環境中運作完美,但在生產環境中卻失敗。您可能在本地測試了所有功能,並滿懷信心地部署,結果卻發現某些功能在正式環境中無法運作。
想像一個簡單的聊天機器人應用程式,在本地測試時運作無誤。您可以提出問題、用假資料生成試算表,一切都如預期般回應。但當您將相同的程式碼部署到 AWS Amplify 並執行相同的測試時,試算表生成卻悄悄失敗——請求確實送出了,但沒有任何資料出現。
傳統除錯方法
通常,您需要:
- 在 CloudWatch 日誌中搜尋錯誤訊息
- 解析複雜的錯誤詳情和堆疊追蹤
- 手動除錯為何程式碼在生產環境中表現不同
- 修復問題並重新部署
這個過程可能相當耗時,尤其是當您需要在大量日誌輸出中,找出像「The provided model identifier is invalid」這種晦澀難懂的錯誤訊息時。
自動化錯誤偵測與修復
與手動除錯不同,您可以建立一個每天自動執行的 GitHub Action 來監控您的生產環境。這個工作流程將整個除錯過程委派給 Claude。

以下是這個自動化工作流程的運作方式:
- 設定:GitHub Action 會檢出您的儲存庫、安裝相依套件,並設定 Claude
- 日誌分析:使用 AWS CLI 擷取過去 24 小時的 CloudWatch 日誌
- 錯誤處理:Claude 分析日誌、移除重複項目,並識別出獨特的錯誤
- 修復實作:Claude 嘗試透過修改適當的程式碼來修復每個錯誤
- 建立 Pull Request:提交修復內容,並自動開啟一個 pull request 供審查
真實案例
在這個聊天機器人的範例中,Claude 發現生產環境使用了一個無效的模型識別碼。這個錯誤的發生,是因為模型 ID 中有一個打字錯誤,而這個錯誤只出現在生產環境的設定中。
Claude 識別出問題所在,找到正確的模型 ID 格式,並更新了設定檔。隨後,這個修復被提交,並附上清楚的說明,解釋問題出在哪裡以及如何解決。

自動化除錯的優點
- 主動監控:在您甚至還不知道問題存在之前就捕捉到錯誤
- 節省時間:省去手動搜尋日誌和除錯的過程
- 清楚的文件記錄:每個修復都附有詳細的說明
- 審查流程:Pull request 讓您可以在合併前驗證修復內容
- 持續改進:自動執行以捕捉新出現的問題
實作考量
在設定自動化除錯工作流程時:
- 為 CloudWatch 存取設定適當的 AWS 權限
- 設定合理的錯誤處理數量上限,以維持在上下文視窗範圍內
- 加入邏輯以去除重複的類似錯誤
- 確保工作流程具有適當的儲存庫寫入權限,以便建立 pull request
- 考慮在非高峰時段執行此工作流程
這種自動化方法將除錯從被動、手動的過程,轉變為主動、自動化的系統,讓您的應用程式以最少的人工介入持續順暢運作。