分散システムとポエム

AI Agentを活用したソフトウェア開発でGitが置き換わる可能性

AI Agentの登場によってソフトウェア開発のあり方が変わりつつある。なかでも、ソースコードのバージョン管理に広く利用されてきたGitも、見直す時期に来ているのではないかと考えている。

AI Agentによって増加するソースコードの変更

AI Agentによってソースコードの生成や修正が自動化され、短時間で大量の変更を行えるようになった。GitHubが2026年6月に公開したGitHub availability report: May 2026では、AI Agentを活用した開発ワークフローによってGitHubへのトラフィックが急増していると報告されている。GitHubはこの負荷に対応するため、Azureへの移行やサービスの分離など、インフラストラクチャの刷新を進めている。この報告はコミット数そのものの増加を定量化したものではないが、AI Agentの普及がソフトウェア開発基盤のスケーラビリティに影響を与えていることを示している。

また、Cursorが2026年8月に公開した「Cursor – あらゆる規模のGit」では、大規模なGitホスティングの技術的な難しさが説明されている。Gitでは、コミットやファイルなどのオブジェクトをpackfileに格納する。packfileはローカル環境では効率的な一方、大規模な分散ストレージでは課題となる。例えば、Gitのオブジェクトは有向非巡回グラフ(DAG)を構成しており、参照関係をたどるたびに分散ストレージへのアクセスが必要になるため、レイテンシが増加する。また、Gitのネットワークプロトコルではpackfileの送受信が必要となり、ストレージを分散させるだけでは問題を解決できない。つまり、Gitのホスティング事業者は、Gitの設計に起因する制約を解決するために複雑なインフラストラクチャを構築する必要がある。

AnthropicによるGitの置き換え

Anthropicは2026年10月、Gitから独自のバージョン管理システムScionへ移行したことを発表した。Anthropicでは、2026年5月に1日あたり約2,500件だったコードのマージ数が、9月には30,000件以上に増加した。AI Agentによる開発が進んだ結果、ソースコードの生成よりも、バージョン管理やCIなどの開発基盤がボトルネックとなった。さらに、Anthropicのモノレポではmainブランチの履歴だけで約100 GBに達し、CIによるチェックアウトは1日あたり約2,500万回に及んでいた。Gitの負荷を分散するために数百台のミラーを運用していたが、変更頻度の増加によって運用が難しくなっていた。

そこでAnthropicは、Gitの分散型の設計そのものを見直した。Gitは、開発者がリポジトリを複製し、オフラインでもコミットや履歴の参照ができるように設計されている。しかし、Anthropicの開発環境ではクライアントの多くが常時オンラインのAI AgentやCIジョブであり、リポジトリ全体を保持する必要性が低い。Scionでは、この前提を変更し、クライアント・サーバー型のアーキテクチャを採用した。コミットやマージはサーバー側で処理し、クライアントは必要なデータだけを取得する。また、変更量に応じた処理コストとなるように設計し、水平スケーラビリティを確保している。その結果、従来のGitミラー基盤と比較してCPU・メモリ使用量を約200分の1に削減し、CIなどのチェックアウトを分単位から秒単位に短縮したと報告している。

Gitの代替を模索する取り組みは以前から存在

Gitの制約を解決するために独自のバージョン管理システムを開発する取り組みは、AI Agentの登場以前から存在していた。Googleは巨大なモノレポを管理するため、独自のバージョン管理システムのPiperを開発した。Googleが解決しようとしたのは、数万人の開発者が膨大なソースコードを共有し、統一されたコードベースを効率的に開発するという課題である。巨大なコードベース全体を各開発者のローカル環境に複製するのは非効率的であり、組織全体で共通のコードを管理するには、変更の一貫性や高速な検索、依存関係を横断する変更への対応も必要になる。Piperは中央集約型のバージョン管理システムとして、巨大なコードベースの一部を必要に応じて利用できる仕組みを提供する。これにより、開発者が共通のコードベースを利用しながら、大規模な変更やリファクタリングを行えるようにしている。

Metaも大規模なソースコードの管理に伴う問題を解決するため、Saplingとよばれるバージョン管理システムを開発している。SaplingはGitとの相互運用性を備えつつ、巨大なリポジトリに対する操作性能や開発者の使いやすさを改善している。SapingはGitの相互運用性を維持しつつ問題の解決を試みている。

おわりに

Gitは2005年にLinuxカーネルの開発を目的として登場した。分散した開発者が各自のリポジトリで作業できるという設計は、Gitが普及した大きな理由の一つである。AI Agentが大量の変更を短時間に生成し、CIやレビューを経て統合していく開発モデルでは、これまでとは異なる性質が求められる。

GoogleのPiperやMetaのSaplingは、大規模なソースコードを効率的に管理するためにGitとは異なる設計や実装が必要となることを示した。そしてAnthropicのScionは、AI Agentの登場によってバージョン管理に求められる要件そのものが変化しつつあることを示している。

もちろん、すべての開発環境でGitを置き換える必要があるわけではない。しかし、今後AI Agentがソフトウェア開発の中心的な役割を担うようになれば、バージョン管理だけでなく、コードレビューやCI/CDを含む開発基盤全体の再設計が進むのではないだろうか。かつてSubversionからGitへの移行が進んだように、AI Agentの普及によってGitに代わる新たなバージョン管理システムが広く使われるようになる可能性があると考えている。

人気の投稿

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です