跳到內容

SOUL.md 版本控制與回滾

原子化人格更新與自動回滾:Agent 演化的安全網。


在軟體部署中,「金絲雀發布」是這樣運作的:先將新版本部署到 5% 的使用者,觀察指標 24 小時,確認一切正常後才推送到所有人。如果金絲雀死了(指標暴跌),立即回滾。

DuDuClaw 將相同原則應用於 Agent 人格更新。人格檔案(SOUL.md)是 Agent 的「已部署軟體」——每次更新都會經歷金絲雀流程。


當 GVU 迴圈產生新版人格檔案時,不會直接覆蓋舊檔。而是遵循多步驟的原子寫入流程:

GVU 產生候選人格檔案
|
v
步驟 1:寫入暫存檔
(一個獨立的檔案,不是正在使用的那個)
|
v
步驟 2:計算加密指紋
(內容的唯一雜湊——即使只改一個字元,
雜湊也完全不同)
|
v
步驟 3:原子 rename
(以單一檔案系統操作將暫存檔取代正式檔案——
不存在部分狀態)
|
v
步驟 4:記錄版本中繼資料
(時間戳、指紋、變更原因、
觸發此次變更的反饋連結)
|
v
步驟 5:啟動 24 小時觀察
(監控新版本下的效能指標)

考慮沒有原子寫入時會發生什麼:

危險方式:
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 人格如何隨時間演變

Agent 在人格更新期間永遠不會離線。原子 rename 確保無縫轉換。上一刻 Agent 用舊人格,下一刻用新的。不需要重啟,不會有間隙,不存在部分狀態。

每個改變都可以撤銷。這使演化可以安心嘗試,一次壞改變的代價是 24 小時輕微的效能退步,接著自動修正。不是永久性的錯誤。

指紋系統意味著任何未經授權的修改都可被偵測。搭配保護檔案免受直接存取的安全 hook,人格檔案具有與簽章軟體發行相同的完整性保證。

對受監管的產業,版本歷史提供了可審計的軌跡:Agent 行為的每次變更(何時發生、為什麼、影響為何)。


  • GVU 迴圈:產生此系統管理的候選版本
  • 安全 Hook:保護人格檔案免受未經授權的存取
  • 預測引擎:準確度指標回饋到觀察期的健康評估
  • 儀表板:版本歷史和觀察狀態可在 Web 介面中查看
  • CONTRACT.toml:行為契約定義人格檔案不能變成什麼

Agent 演化強大但有風險。SOUL.md 版本控制提供了使演化切實可行的安全基礎設施:原子更新防止損壞、觀察期攔截退步、自動回滾限制影響範圍、漂移偵測攔截未經授權的變更。沒有安全網的演化是魯莽的;有了此系統的演化是有條不紊的。