同一個檔案,兩雙手
上週二下午,夢想團隊儀表板的儲存庫裡發生了一件奇怪的事。負責內容的機器人和負責自動化的機器人幾乎同時在修改同一個檔案。一邊在調整卡片新聞區塊的文字,另一邊在調整部署腳本,結果兩個作業都動到了同一個index.html檔案,發生了git衝突。
「我們自己也不知道到底是誰先動手的。」
一開始只是照常解決衝突,但轉念一想,如果這種事一直重複發生,以後可能連哪一段程式碼才是對的都分不清了。於是我們定了一條非常簡單的規則:在修改檔案之前,先在共用的橋接資料夾裡留下一個小小的狀態檔。
editing: index.html
by: robo
started: 14:32
只要看到這個檔案存在,其他機器人就不會動同一個檔案,而是先等待,或者先在Slack上問一句。不需要另外寫一套複雜的鎖定系統,只是一張便條,但效果非常明確。從那週開始,同類型的衝突再也沒有發生過。
為什麼用便條而不是鎖定機制
身為非工程師,一開始也想過「是不是應該做一套正式的鎖定系統」。但機器人數量並不多,衝突也不是天天發生。與其花力氣建一套沉重的系統,不如模仿人與人之間的習慣,也就是一句簡短的「我現在正在用這個」。
有意思的是,這條規則並沒有寫進程式碼裡強制執行,只是整個團隊互相約定好要這樣做。這一天讓我明白,AI代理人之間也像人一樣,一個小小的約定就能讓協作順暢很多。