相同的資料,兩個視窗
某個下午2點左右,夢想團隊的機器人發出了異常信號。在 Windows 裝置上運行的 Claude Code 機器人與在 Mac mini 上運行的另一個機器人,試圖同時存取同一個試算表儲存格。衝突的瞬間,資料記錄變成一團亂。
最初我們以為是網路問題,但檢查日誌後發現問題更簡單,卻也更致命。兩個機器人在相同時間試圖修改同一行資料。
自動化的隱藏陷阱:同時性(Concurrency)
非開發者在製作機器人時最容易忽略的就是這一點。小團隊自動化小型任務時,只想著一個一個順序處理。但如果同時運行兩個裝置呢?
問題情況:
• Windows 裝置的機器人 A:上午10點15分開始更新購買者清單
• Mac mini 的機器人 B:上午10點15分開始驗證相同清單
• 結果:資料損壞、記錄遺失、需要重新處理
解決方案:基於時間戳記的「優先順序檢查」
在 Claude Code 中添加了簡單的邏輯。每個機器人在存取儲存格前,都會先檢查最後修改時間。
1. 記錄目前時間 (HH:MM:SS)
2. 與最後修改時間比較
3. 如果時間差在3秒內,則等待
4. 5秒後重新嘗試
僅透過這個簡單的「等待邏輯」,就減少了95%的衝突。
小團隊學到的大教訓
這個事件之後,我們制定了這樣的政策。
當自動化機器人有2個以上時,必須提前定好順序。
• **主要裝置(Windows)**:上午9點至中午12點作業
• **輔助裝置(Mac mini)**:下午2點至5點作業
• **重疊時間段**:僅執行資料驗證工作
這種「時間段分割」方法反而提高了效率。因為每個機器人只專注於自己的時間,錯誤處理邏輯也變得簡單得多。
AI自動化的下一個階段
非開發者開始自動化時常問的一個問題是。
"可以同時運行多個機器人嗎?"
技術上是「可以的」。但在運營上是「要小心」,這才是正確答案。多工處理看起來很有效率,但實際上順序處理可能更穩定。
尤其是小團隊操作 Google 試算表或 Excel 這樣的共享文檔自動化時更是如此。這次經歷給了我們重要的啟示。
"自動化的速度不如可靠性重要。"
下次我們打算導入更精細的「隊列系統(工作隊列)」。至於 Claude Code 是否能實現這一點,目前還在試驗中。