SOUL.md 版本控制與回滾
原子化人格更新與自動回滾:Agent 演化的安全網。
比喻:軟體的金絲雀發布
Section titled “比喻:軟體的金絲雀發布”在軟體部署中,「金絲雀發布」是這樣運作的:先將新版本部署到 5% 的使用者,觀察指標 24 小時,確認一切正常後才推送到所有人。如果金絲雀死了(指標暴跌),立即回滾。
DuDuClaw 將相同原則應用於 Agent 人格更新。人格檔案(SOUL.md)是 Agent 的「已部署軟體」——每次更新都會經歷金絲雀流程。
當 GVU 迴圈產生新版人格檔案時,不會直接覆蓋舊檔。而是遵循多步驟的原子寫入流程:
GVU 產生候選人格檔案 | v步驟 1:寫入暫存檔 (一個獨立的檔案,不是正在使用的那個) | v步驟 2:計算加密指紋 (內容的唯一雜湊——即使只改一個字元, 雜湊也完全不同) | v步驟 3:原子 rename (以單一檔案系統操作將暫存檔取代正式檔案—— 不存在部分狀態) | v步驟 4:記錄版本中繼資料 (時間戳、指紋、變更原因、 觸發此次變更的反饋連結) | v步驟 5:啟動 24 小時觀察 (監控新版本下的效能指標)為什麼原子寫入很重要
Section titled “為什麼原子寫入很重要”考慮沒有原子寫入時會發生什麼:
危險方式: 1. 開啟正式檔案 2. 清空內容 3. 寫入新內容 4. 關閉檔案
如果系統在步驟 2 和 3 之間崩潰,人格檔案就是空的。Agent 沒有人格。對話失敗。使用原子寫入(暫存檔 + rename):
安全方式: 1. 將完整新內容寫入暫存檔 2. 將暫存檔 rename 到正式路徑(單一操作)
如果系統在步驟 1 崩潰: → 暫存檔不完整,但正式檔案不受影響。如果系統在步驟 2 崩潰: → Rename 是原子的——要嘛發生了,要嘛沒有。 正式檔案要嘛完全是舊的,要嘛完全是新的。永遠不會是部分的。新版本上線後,系統監控一組指標:
24 小時觀察窗口 | v 監控: +--------------------------------------------+ | - 使用者滿意度訊號 | | (使用者的反應是正面的嗎?) | | | | - 預測引擎準確度 | | (Agent 的行為可預測嗎?) | | | | - 錯誤率 | | (Agent 犯的錯是否增加了?) | | | | - 對話完成率 | | (使用者是否在對話中途離開?) | +--------------------------------------------+ | v +------+------+ | |穩定/ 退步改善 | | v v 自動回滾:確認新 使用儲存的指紋版本 恢復前一版本回滾同樣是原子的;系統保留前一版本的內容(以其指紋索引),恢復它也是相同的暫存檔 + rename 流程。
即使在演化週期之外,系統也會定期檢查人格檔案的完整性:
定期完整性檢查(每 N 分鐘) | v計算目前指紋 | v與預期指紋比對 | +--+--+ | |符合 不符合 | | v v正常 警報: 「人格檔案在演化管線之外被修改!」這能攔截以下情境:
- 人類手動編輯檔案並引入錯誤
- 其他程式意外覆寫它
- 惡意行為者嘗試注入內容
警報被記錄並顯示在儀表板。根據設定,系統可以自動恢復到預期版本。
每個人格檔案版本都帶有中繼資料記錄:
版本歷史: v12(目前)- 2026-04-07T10:30:00Z 指紋:a3f8c1... 原因:「根據使用者反饋改善問候的溫暖度」 狀態:觀察中(剩餘 18 小時)
v11 - 2026-04-06T14:00:00Z 指紋:b7d2e9... 原因:「新增錯誤恢復語句」 狀態:已確認(觀察通過)
v10 - 2026-04-05T09:15:00Z 指紋:c1a4f6... 原因:「降低技術說明的正式程度」 狀態:已確認此歷史服務多重目的:
- 除錯:若 Agent 行為改變,營運人員可追溯到特定版本
- 回滾目標:任何先前版本都可恢復,不只是上一個
- 演化審計:顯示 Agent 人格如何隨時間演變
這為什麼重要
Section titled “這為什麼重要”Agent 在人格更新期間永遠不會離線。原子 rename 確保無縫轉換。上一刻 Agent 用舊人格,下一刻用新的。不需要重啟,不會有間隙,不存在部分狀態。
每個改變都可以撤銷。這使演化可以安心嘗試,一次壞改變的代價是 24 小時輕微的效能退步,接著自動修正。不是永久性的錯誤。
指紋系統意味著任何未經授權的修改都可被偵測。搭配保護檔案免受直接存取的安全 hook,人格檔案具有與簽章軟體發行相同的完整性保證。
對受監管的產業,版本歷史提供了可審計的軌跡:Agent 行為的每次變更(何時發生、為什麼、影響為何)。
與其他系統的互動
Section titled “與其他系統的互動”- GVU 迴圈:產生此系統管理的候選版本
- 安全 Hook:保護人格檔案免受未經授權的存取
- 預測引擎:準確度指標回饋到觀察期的健康評估
- 儀表板:版本歷史和觀察狀態可在 Web 介面中查看
- CONTRACT.toml:行為契約定義人格檔案不能變成什麼
Agent 演化強大但有風險。SOUL.md 版本控制提供了使演化切實可行的安全基礎設施:原子更新防止損壞、觀察期攔截退步、自動回滾限制影響範圍、漂移偵測攔截未經授權的變更。沒有安全網的演化是魯莽的;有了此系統的演化是有條不紊的。