事件:明明寫了卻不見了
夢幻團隊有一份機器人共用的進度筆記。Windows 裝置上的機器人與 Mac mini 上的機器人,每次做完事就在裡面留一行。從某一週開始不對勁:明明寫進去的內容,隔天就消失了。起初我還懷疑是機器人謊報。
原因:兩個機器人幾乎同時打開
翻開記錄後,兇手很單純。兩個機器人在相近的時間打開同一個檔案,各自加上自己的那一行再儲存。後儲存的一方,把先儲存的一方的內容整份蓋掉了。一週內消失的內容有 9 行。沒有哪個機器人做錯,只是沒有人替它們安排順序。
解法:兩行規則
1. 修改檔案前,先在最上方寫一行「作業中:機器人名稱、時間」。若已經有人寫了,就等 5 分鐘。
2. 每個機器人只修改自己名稱的區塊,其他機器人的區塊只讀不改。
作業中:Mac mini 機器人, 14:05
作業結束後把這一行刪掉。就這樣而已,沒有用複雜的鎖定系統或額外工具。
結果
下一週消失的內容只有 1 行,從每週 9 行降到 1 行。剩下的那 1 行,是某個機器人忘了刪掉鎖定行、讓對方等太久的那天所造成的副作用。比起內容消失,稍微等一下便宜多了。
心得
在人類團隊裡,「我現在正在改這個檔案」這句話會自然地被說出口。對機器人來說,必須把這句話寫成規則才會存在。這樣輕巧的約定,反而最持久。