AN-02 L0 符合性等級: Files 概念組: 工作
Agent Branch 智能體分支
每次執行在寫時複製的分支裡工作,經審閱的合併才進入主線。
定義
Agent Branch(智能體分支) 讓每次執行在寫時複製的分支裡工作;變更只有透過一次經審閱的合併(Agent PR)才能進入受保護的主線;隨時可以打檢查點並恢復。
要解決的問題
智能體以機器的速度犯錯,而共享資料沒有「試一試、看差異、審閱、撤銷」的機制。並行的智能體還會互相踩踏。
2026 年 4 月的一次事故裡,一個智能體用一枚權限過寬的權杖,在 9 秒內刪除了生產卷和同卷的備份。如果它只能寫一個分支,如果刪除是軟刪除,如果快照不在它的權限之內,這件事會小得多。
工作方式
- 分支建立廉價(取決於引擎,理想情況接近 O(1))。租約只授予分支內的寫入,以及向目標的
propose。 - 受保護樹。 主線只能經合併更新:即使憑據洩露,也不能直接寫。
- Agent PR。 差異、意圖、來源(讀清單摘要)、檢查結果與標籤摘要。檢查通過且策略允許時自動合併,否則交給 Human Gate。
- 軟刪除。 受保護樹中的刪除進入回收區,預設保留 7 天;快照由所有者持有,不在任何租約的權限之內。
- 檢查點。 命名的快照;
restore把檔案回退到檢查點。 - 合併。 文本用三方合併,其他檔案按檔案粒度。有衝突就停下,絕不靜默覆蓋;結構化資料需要註冊的合併器,或者交給人。
- TTL 與配額, 防止「分支炸彈」。
- 並行嘗試。 同一個任務可以開 N 個分支,擇優合併,其餘回收。
從小處開始
- Git 分支加 worktree,再加上 Forgejo、Gitea 或 GitHub 的受保護 main。
- 大目錄用 btrfs 或 ZFS 的快照與複製;物件儲存可以用 Tigris 或 lakeFS 的分叉。
- 先把「刪除進回收區」和「快照歸所有者」做對。這兩條最便宜,也最能防住事故。
介面草圖
僅作示意。欄位名在規範 v0.3 之前可能調整。
nas branch create cleo/release-notes --from main --ttl 48h
nas checkpoint create before-refactor
nas propose --into main --checks links,schema
nas restore before-refactor
nas trash list # recycle area, kept 7 days by default
nas trash restore <path> 規範的要求
- 受保護樹必須只能經合併更新,任何憑據都不能直接寫入。
- 合併必須產生帶來源(執行、租約、主體)的提交。
- 任何租約不得允許刪除快照或備份。
- 受保護樹中的刪除必須是軟刪除,並在配置的視窗內(預設 7 天)可恢復。
- 衝突不得被靜默解決;合併必須停止並報告。
- 分支必須有 TTL 與配額。
借鑑與區別
下面這些都是現成的做法。真正新的部分: 把分支綁定到執行與租約,讓分支成為授權的單位,合併成為審閱的單位。分支和快照本身並不新。
坦誠的侷限
- 分支只保護 NAS 裡的資料,不會撤銷外部副作用:已經發出的郵件、已經呼叫的介面。
- 大型二進位檔檔案和資料庫檔案很難合併。
- 審閱疲勞仍可能發生,所以低風險的路徑允許自動合併,並度量批准率。
開放問題
- 語義合併器如何註冊並被信任?
- 二進位檔衝突的互動應當怎麼做?
常見問題
這和 Git 分支有什麼不同?
機制上並不神奇:在 Git 上就能搭出來。不同的是它把分支與一次執行、一張租約綁在一起,讓「只能寫自己的分支」成為授權規則,而合併成為唯一的審閱點。
分支能防住所有事故嗎?
不能。它只保護 NAS 裡的資料:智能體已經發出的郵件、已經呼叫的外部介面,不會因為回滾分支而撤銷。這類動作應當經過租約裡的 egress 和 Human Gate。
每次合併都要人批准嗎?
不是。檢查通過、沒有讀過外部內容、不涉及刪除或共享的合併可以自動進行;需要人的只有少數情形,見 Human Gate。
相關概念
- Human Gate (人類閘門) 只在不可逆、對外或提權的動作之前出現,展示真實的差異。
- Agent Home (智能體之家) 按角色劃分、帶歷史的目錄,全是普通檔案,可以帶走。
- Flight Recorder (飛行記錄器) 以執行為單位、雜湊連結的記錄,包括這次執行讀過什麼。
引用本頁
為讀者、搜尋引擎和智能體提供穩定的網址與建議的引用格式。
- 建議引用格式
- Agent NAS project. “Agent Branch (智能體分支).” agentnas.com, 2026-11-11. https://agentnas.com/zh-tw/concepts/agent-branch/