設想一家維修公司,AI 讀取客戶紀錄,準備補充服務摘要。同時,調度人員把預約改到下午。如果 AI 把整份舊紀錄寫回,摘要可能正確,預約卻變回上午。這是虛構的例子。 從讀取開始,就把內容和伺服器傳回的版本標記一起儲存。準備更新時,保留原件,並明確指出只想改動哪些欄位。版本不是讓模型猜出來的,也不能用本機時鐘代替。 支援條件更新的介面,可以要求伺服器在寫入時核對版本。HTTP 的 If Match 就是其中一種機制。先檢查,稍後再無條件儲存,仍然可能遇到新的修改。 遇到版本衝突,不要刪掉條件再試。不同介面可能使用不同的衝突代碼,應該查閱介面說明,而不是把它當成一般網路故障。 讀取目前的紀錄,把原件、擬議修改和新版本放在一起比較。如果雙方改了同一個欄位,應交給負責人判斷;不同欄位也可能互相依賴。 版本相符不等於取得授權,也不代表內容正確。權限和業務審核都不能省略。星號條件只檢查資源是否存在,無法保護原先讀到的確切版本。 上線前,用兩個視窗演練。一個視窗讀取紀錄,另一個修改並儲存,接著再提交舊版本。確認衝突被攔截,而且新修改沒有遺失。這是建議的測試,不是已經執行的測試結果。 問供應商,能否傳回版本、在伺服器執行條件、識別衝突,並且只改指定欄位。如果缺少可靠保護,就先讓 AI 提供建議。真正完成,是確認預期的變更已經儲存,同時保留同事的工作。