上午9時,Slack訊息
昨天設定的夜間自動化工作沒有執行的通知來了。在Windows裝置和Mac mini兩個環境中,用Claude Code建構的機器人首次「拒絕」執行了。
比起「為什麼沒執行?」,先想到的是「這是正確的訊號嗎?」
問題的本質
我設定讓機器人在夜間(凌晨2點至5點)執行Google Sheets資料清理和多語言內容自動生成。結果撞上了Claude Code執行環境的資源限制。
限制條件:
• 連續執行時間限制(約30分鐘)
• 非同步作業排程不支援
• 記憶體累積問題(長時間運行會發生)
作為非開發者的我,原本認為「電腦做不了」,但實際上是「用這個方式做不了」。
解決方案:重新設計自動化
第1步:任務分割 (Chunking)
將一個龐大的夜間工作分成3個小任務,每個都在10分鐘內完成。
# 之前:耗時30分鐘以上的整合工作
process_all_data_and_generate_content()
# 之後:10分鐘單位的小任務
step_1_validate_sheet_data() # 5分鐘
step_2_generate_descriptions() # 7分鐘
step_3_update_translations() # 6分鐘
第2步:外部排程器整合
利用Windows工作排程器(Task Scheduler)設定3個工作按序執行。
• 凌晨2時10分:資料驗證
• 凌晨2時25分:內容生成
• 凌晨2時40分:多語言翻譯應用
第3步:故障備援邏輯
每個階段失敗時會自動回復到前一個階段。選擇「安全的自動化」而非「完美的自動化」。
try:
step_2_generate_descriptions()
except Exception as e:
rollback_to_step_1()
send_slack_alert("Step 2 failed, rolled back to Step 1")
學到的東西
自動化真正的限制不是技術,而是設計
一開始以為Claude Code不夠強大。其實是我試圖一次處理太多事務。
24小時運轉不代表是好機器人
夜間集中處理和全天分散處理各有優缺點。既然我們團隊適合夜間處理,就應該按此設計。
沒有監控的自動化就是放置不管
我們很晚才發現這個故障,原因是沒有每天早上檢查日誌。現在設定了Slack實時警報。
下一步
計畫為面臨類似問題的其他非開發者建立簡單範本。將與夢幻團隊分享「安全建構長時間自動化工作的5項檢查清單」。
機器人的拒絕不是失敗。這是系統傳給我們的訊息:「需要更聰明地設計」。