超越 Git:使用账本在仓库中协调人类、代理和自动化
本文探讨了现代软件仓库中人类与AI代理同时协作的挑战,提出Git仅记录状态变更,而需要一种操作账本(ledger)来记录决策、工具和上下文。通过结合工作树(worktrees)和操作账本,仓库可以成为协调分布式智能的基座。
Git 曾经完美地模拟了软件的历史版本演进,但如今仓库中不再只有人类。Claude Code 会话、Codex 循环、Hermes 运行时、MCP 工具、定时任务、webhook、验证器、远程工作者、后台代理、并行工作树……所有这些实体同时操作同一个仓库。Git 知道什么改变了、谁提交的、何时提交,但它不知道是哪个代理发起的变更、由什么提示词产生、背后经历了怎样的推理、使用了哪些工具、提交之间发生了什么上下文,以及操作是自主、计划还是人工监督的。
Git 看到的是差异,而非决策。
当多个系统同时触碰同一个仓库时,问题就凸显了。一个代理重构 API,另一个审查安全边界,定时循环生成测试,webhook 更新 schema,远程工作者验证部署,人类审查架构。Git 只存储结果,无法描述操作。
因此,我们需要两个额外的维度。第一个是空间维度。分支是逻辑概念,而工作树是操作层面的。工作树允许同一个仓库的多个活跃副本同时存在,为每个任务提供隔离的执行环境。在纯人协作时代,隔离是方便;在多代理时代,隔离是必需。
第二个是时间维度。工作树提供了空间,但缺乏连续性。连续性需要记忆——不是对话记忆,而是操作记忆。谁执行了操作、做了什么、用了哪些工具、留下了什么证据、哪些承诺仍未兑现——这些信息需要被记录。这就是账本的职责。
账本不是版本控制,而是操作历史。Git 回答“什么变了?”,账本回答“这里发生了什么智能操作,在什么条件下,结果如何?”。现代仓库中,越来越多的活动发生在两次提交之间:循环、挂钩、验证器、重试、审查、外部触发器、定时执行、远程编排。没有操作基座,这些事件就是不可见的盲点。
当系统在无监督下运行时,盲点变得危险。仓库不再是被动容器,而是人类、代理、自动化和编排之间的共享基础设施——一个分布式认知工作空间。
这就是为什么仅追加的操作账本至关重要。不是因为复杂,而是因为简单。仅追加账本创造了超越任何单一代理会话的连续性。每个操作都被记录,不被编辑或删除。状态通过重放历史计算,从不存储。
将 Git 与工作树、账本、代理、验证器、挂钩和远程执行结合起来,仓库就变得全新:不再是源代码控制,而是协作智能的协调基座。Git 模拟了软件的历史,下一层将模拟作用于软件的智能的历史。这正是 Mentu 协议正在构建的层——仅追加信号、机械信任、开源。