自動化與 Agent
讓兩個 AI 工具安全共用同一批檔案:三件套「寫入租約」協議完整教學
不是誰比較聰明,而是同一時間只有一方能寫。把規則寫在一份大家開工前都會先讀的檔案裡,比找更聰明的裁判管用。
一個核心觀念
多個 AI(或多個人)共用同一批檔案時,最危險的不是「誰比較笨」,而是「同時間有兩個人在寫,誰也不知道對方在做什麼」。解法不是找一個更聰明的裁判,而是把「誰現在能寫、誰只能看」變成一份大家都會先讀的檔案,規則寫在紙上,不靠默契。
按步驟做
Step 1:建一個共同的交接資料夾
在專案或雲端硬碟裡建一個資料夾,例如 handoff,放三份純文字或 Markdown 檔案:
目前狀態.md(或CURRENT-HANDOFF.md)寫入租約.md(或WRITE-LEASE.md)異動紀錄.md(或CHANGE-LOG.md)
Step 2:寫入租約.md 只放一張表
| 欄位 | 目前值 |
|---|---|
| 狀態 | 四選一:A 方在寫/B 方在寫/雙方都只能看/閒置 |
| 目前寫入方 | |
| 目前唯讀方 | |
| 本輪允許修改的檔案清單 | 明確列出,沒列到的一律不准動 |
任何一方動手前,先讀這份檔案,確認現在輪到自己寫,而且要改的檔案在允許清單裡。
Step 3:目前狀態.md 每次交接更新四件事
- 這輪的目標是什麼
- 實際做了什麼異動
- 明確寫「沒有動過」的東西(這一條最重要,讓對方不用猜)
- 請對方核對什麼、通過的標準是什麼
Step 4:訂下唯一的鐵律,寫在三份檔案最上面
同一時間,同一批檔案只能有一方在寫;另一方只能唯讀檢查,回覆「通過」或列出具體問題,不可以自己動手修。
重點不是技術上鎖住檔案(純文字本來就鎖不住),而是雙方都同意遵守,所以每一方動手前都要先讀,把它當開工前的簽到。
Step 5:唯讀方複驗時,新舊逐句比對
如果這輪異動是修改既有的規則文件,唯讀方不能只檢查新增的東西寫得對不對,要把新舊版本逐句對照,特別注意「舊版有、新版卻不見了」的句子。這種被默默刪掉的規則最容易被忽略,也最容易出事,例如安全底線、免責條款。
Step 6:每次異動先記進 異動紀錄.md
格式很簡單:日期|動作|舊路徑|新路徑|誰改的|怎麼回復。出事時(檔案不見、行為跟預期不同),能快速回溯是哪一輪改的。
Step 7:處理敏感資訊時,額外加一條規則
任何一方發現需要核對的東西可能是敏感資料時,只回報「存不存在」的布林結果,絕對不要把值印出來或貼進共用檔案。
你一定會踩的坑
-
用會「全部列出來」的指令做存在性檢查。想確認某個環境變數或設定還在不在,直覺會用「列出全部設定」,但容器裡若混了敏感資料,會連帶印出不該看的東西,而且一旦印出來就收不回。解法:永遠用「只問這一個名字存不存在」的方式查。請 AI 做時明確說:「只確認這個名字存不存在,不要列出其他內容。」
我要確認某個設定值(例如環境變數、登錄檔項目)目前存不存在,但我不想看到任何實際內容,只要回覆有沒有這個名字就好。請問我應該用哪個指令,才不會不小心把整個清單或其他敏感內容一起印出來?
-
複驗方順手就把問題改掉了。另一方完全不知道發生什麼變化,交接資訊就斷了。就算覺得是小事也要忍住,只回報問題,讓寫入方自己決定怎麼修。
-
只看「新增了什麼」,沒看「少了什麼」。精簡或重構規則文件時,最容易在簡化措辭的過程中把一條規則整句刪掉。改動前後逐句對照,而不是只看 diff 的新增行。
-
真的不小心印出敏感資訊了,選擇淡化或不提。最正確的做法是立刻、完整地說清楚印出了哪一類東西、在哪裡發生,讓對方判斷要不要去源頭撤銷或更換。拖延只會讓風險視窗開得更久。
一句話總結
多個 AI 或多個人共用同一批檔案時,別指望大家自動有默契。寫一份「誰現在能寫、誰只能看」的檔案,逼大家開工前都先讀一遍,比找更聰明的工具管用。
萬用救援:卡住怎麼問 AI
我正在設定一套多 AI 工具共用檔案的協作協議,目前卡在 [具體卡住的步驟],出現的錯誤或現象是:[貼上實際錯誤訊息或描述]。我用的工具是 [工具名稱與版本,不確定就寫「不確定版本」]。請一步一步教我怎麼排查,並在動手前先跟我確認每一步會不會修改到我不希望被動到的檔案。
這是踩坑實錄與 AI 工具實測系列的一部分。想收到後續完整 SOP,訂閱電子報。
支持這裡的內容:前往 Ko-fi 斗內