Gitの先へ:台帳を用いてリポジトリ内の人間、エージェント、自動化を調整する
現代のソフトウェアリポジトリでは、人間とAIエージェントが同時に作業しているが、Gitは状態の変更しか記録しない。本稿では、ワークツリー(空間的分離)と追記専用台帳(時間的一貫性)を追加し、協調インテリジェンスのための調整基盤を構築する必要性を論じる。
Gitはソフトウェアの歴史をモデル化した。次のレイヤーは、ソフトウェア上で動作するインテリジェンスの歴史をモデル化する。
Gitは一人の人間、一台のマシン、一つのソースツリーのために構築された。そのモデルは長く続いたが、今や前提が崩れている。現代のリポジトリは人間だけで運用されていない。Claude Codeセッション、Codexループ、Hermesランタイム、MCPツール、cronジョブ、webhook、バリデーター、リモートワーカー、バックグラウンドエージェント、並行ワークツリー、そして人間が混在している。それらは順次ではなく、同時に動作する。リポジトリはもはや場所ではなく、プロセスである。
Gitは状態をモデル化する。何が変わったか、誰がコミットしたか、いつかを知っている。しかし、どのエージェントが変更を開始したか、どのプロンプトが生成したか、どのような推論が先行したか、どのツールが参加したか、コミット間にどのような文脈があったか、アクションが自律的かスケジュール済みか監視下かを知らない。Gitは差分を見るが、意思決定を見ない。
古いモデルでは、リポジトリはソフトウェアが存在する場所だった。新しいモデルでは、リポジトリはインテリジェンスが動作する場所である。複数のシステムが同時に同じリポジトリに触れるとき、その違いが重要になる。
二つのレイヤーが重要になる。一つは空間的:ワークツリーは同じリポジトリの複数のアクティブな現実を同時に存在させ、孤立したコンテキスト、タスク、実行面を提供する。人間だけの世界では孤立は便利だったが、マルチエージェント世界では必須である。もう一つは時間的:ワークツリーは空間を与えるが連続性は与えない。連続性には記憶が必要であり、それは会話記憶ではなく操作記憶である。誰が行動し、何をし、どのツールが参加し、どの証拠が残り、どのコミットメントが未解決かを記録する。これが台帳の役割である。
台帳はソース管理ではなく、操作履歴である。Gitは「何が変わったか」に答え、台帳は「ここでどのインテリジェンスが、どの条件で、どの結果とともに操作したか」に答える。現代のリポジトリはコミット間の活動で構成されることが増えている。ループ、フック、バリデーター、リトライ、レビュー、外部トリガー、スケジュール実行、リモートオーケストレーション。操作基盤がなければ、これらのイベントは不可視であり、リポジトリは盲点を抱える。盲点は、システムが監視なしで動作する瞬間に危険になる。
この時点で、リポジトリは受動的な容器ではなく、人間、エージェント、自動化、オーケストレーション間の共有インフラ、すなわち分散認知ワークスペースになる。これが追記専用操作台帳が重要である理由である。洗練されているからではなく、単純だからだ。追記専用台帳は、単一のエージェントセッションを超える連続性を生み出す。すべての操作が記録され、編集も削除もされない。状態は歴史の再生によって計算され、記憶されることはない。
Gitとワークツリー、台帳、エージェント、バリデーター、フック、リモート実行を組み合わせると、リポジトリは新しいものになる。ソース管理ではなく、協調インテリジェンスのための調整基盤である。Gitはソフトウェアの歴史をモデル化した。次のレイヤーはソフトウェア上で動作するインテリジェンスの歴史をモデル化する。これが私たちが構築しているレイヤーであり、Mentu Protocolはその一実装である。追記専用シグナル、機械的信用、オープンソース。