超越 Git:使用賬本在倉庫中協調人類、代理和自動化
本文探討了現代軟體倉庫中人類與AI代理同時協作的挑戰,提出Git僅記錄狀態變更,而需要一種操作賬本(ledger)來記錄決策、工具和上下文。透過結合工作樹(worktrees)和操作賬本,倉庫可以成為協調分散式智慧的基座。
Git 曾經完美地模擬了軟體的歷史版本演進,但如今倉庫中不再只有人類。Claude Code 會話、Codex 迴圈、Hermes 執行時、MCP 工具、定時任務、webhook、驗證器、遠端工作者、後臺代理、並行工作樹……所有這些實體同時操作同一個倉庫。Git 知道什麼改變了、誰提交的、何時提交,但它不知道是哪個代理發起的變更、由什麼提示詞產生、背後經歷了怎樣的推理、使用了哪些工具、提交之間發生了什麼上下文,以及操作是自主、計劃還是人工監督的。
Git 看到的是差異,而非決策。
當多個系統同時觸碰同一個倉庫時,問題就凸顯了。一個代理重構 API,另一個審查安全邊界,定時迴圈生成測試,webhook 更新 schema,遠端工作者驗證部署,人類審查架構。Git 只儲存結果,無法描述操作。
因此,我們需要兩個額外的維度。第一個是空間維度。分支是邏輯概念,而工作樹是操作層面的。工作樹允許同一個倉庫的多個活躍副本同時存在,為每個任務提供隔離的執行環境。在純人協作時代,隔離是方便;在多代理時代,隔離是必需。
第二個是時間維度。工作樹提供了空間,但缺乏連續性。連續性需要記憶——不是對話記憶,而是操作記憶。誰執行了操作、做了什麼、用了哪些工具、留下了什麼證據、哪些承諾仍未兌現——這些資訊需要被記錄。這就是賬本的職責。
賬本不是版本控制,而是操作歷史。Git 回答“什麼變了?”,賬本回答“這裡發生了什麼智慧操作,在什麼條件下,結果如何?”。現代倉庫中,越來越多的活動發生在兩次提交之間:迴圈、掛鉤、驗證器、重試、審查、外部觸發器、定時執行、遠端編排。沒有操作基座,這些事件就是不可見的盲點。
當系統在無監督下執行時,盲點變得危險。倉庫不再是被動容器,而是人類、代理、自動化和編排之間的共享基礎設施——一個分散式認知工作空間。
這就是為什麼僅追加的操作賬本至關重要。不是因為複雜,而是因為簡單。僅追加賬本創造了超越任何單一代理會話的連續性。每個操作都被記錄,不被編輯或刪除。狀態透過重放歷史計算,從不儲存。
將 Git 與工作樹、賬本、代理、驗證器、掛鉤和遠端執行結合起來,倉庫就變得全新:不再是原始碼控制,而是協作智慧的協調基座。Git 模擬了軟體的歷史,下一層將模擬作用於軟體的智慧的歷史。這正是 Mentu 協議正在構建的層——僅追加訊號、機械信任、開源。