powered by TechFeed
表示モード
Anthropic

AnthropicがモノレポのGitを置き換えた — AIエージェントが1日3万回マージする時代、独自バージョン管理「Scion」を7人・5ヶ月で作り上げた理由

10月14日、Analytics India Magazineが「Anthropic Ditches Git In Its Monorepo, Builds In-House Version Control System」と題した記事を公開した。この記事では、AnthropicがメインのモノレポにおいてGitを独自バージョン管理システム「Scion」に移行した経緯と、そのアーキテクチャ上の判断について詳しく紹介されている。なぜGitでは限界だったのかAnthropicのメインリポジトリへのコードマージ数は、2024年5月の約2,500件/日から9月には30,000件超/日へと、わずか5ヶ月で10倍以上に膨れ上がった。リポジトリの全履歴は約100GB、圧縮後の作業コピーですら25GBを超える規模だ。さらに開発者環境やエージェントのサンドボックスを除いた継続的インテグレーション(CI)だけで、1日に約2,500万回のコードチェックアウトが発生している。Gitをそのまま使い続けた場合、この負荷は1日あたり600ペタバイト超のGitトラフィックを生み出す計算になると、同社は説明している。Git...

10月14日、Analytics India Magazineが「Anthropic Ditches Git In Its Monorepo, Builds In-House Version Control System」と題した記事を公開した。この記事では、AnthropicがメインのモノレポにおいてGitを独自バージョン管理システム「Scion」に移行した経緯と、そのアーキテクチャ上の判断について詳しく紹介されている。

なぜGitでは限界だったのか

Anthropicのメインリポジトリへのコードマージ数は、2024年5月の約2,500件/日から9月には30,000件超/日へと、わずか5ヶ月で10倍以上に膨れ上がった。リポジトリの全履歴は約100GB、圧縮後の作業コピーですら25GBを超える規模だ。

さらに開発者環境やエージェントのサンドボックスを除いた継続的インテグレーション(CI)だけで、1日に約2,500万回のコードチェックアウトが発生している。Gitをそのまま使い続けた場合、この負荷は1日あたり600ペタバイト超のGitトラフィックを生み出す計算になると、同社は説明している。

Gitが分散型設計を前提としていること——すなわちクローンごとにリポジトリ全体を保持するアーキテクチャ——が、このワークロードと根本的に相性が悪い。Anthropicのクライアントの大部分はAIエージェントや自動化ジョブであり、常時サーバーに接続した状態で動作する。オフラインで使える完全な複製を持つ必要がない環境に、Gitの設計思想はミスマッチだった。

同様の課題は業界全体でも認識されている。GoogleはGitではなく独自の中央集権型VCS「Piper」を大規模モノレポで運用し、MetaはMercurialをベースに大幅な改造を加えた独自フォーク(およびソース管理ツール「Sapling」)で対処してきた。これらの先例と共通するのは、「大量の自動化ジョブや膨大なコードベースを抱える組織では、Gitの分散型モデルがボトルネックになりやすい」という構造的な問題だ。Anthropicの判断は、こうした文脈の延長線上にある。

同社はそれまでに数百の内部Gitミラーを運用し、シャロークローン(履歴を浅くしたクローン)やスパースチェックアウト(必要なファイルだけを取得する手法)といったワークアラウンドで対処していたが、マージ速度が加速するにつれて維持が困難になっていった。

Scionのアーキテクチャ:クライアントをとことん軽くする

Scionは、コミット・マージ・リベース・履歴クエリといった処理をすべてサーバー側に移した設計が核心だ。クライアントは必要なデータだけをリクエストし、自動化ジョブに至ってはファイルをチェックアウトすることなくAPIでリポジトリのメタデータを取得できる。

結果として:

  • インフラのフットプリントは、以前のGitミラーリング構成と比べてCPU・メモリともに200分の1に削減
  • CIや研究ジョブのコードチェックアウトが数分から数秒に短縮
  • CI単体でのCPU使用量が25%削減

このScionは、7人のエンジニアチームが5ヶ月で構築・移行を完了させた。内部コードレビューツール「Antique」を含む関連システムも同時に開発している。

AIがコードを書く時代のテスト戦略も変わる

Scionの構築と並行して、Anthropicは開発プロセスそのものも見直している。

従来のマージキュー(コードをマージ前にテストしてから統合するしくみ)は、何百・何千ものコード変更が同時並行で走る環境では機能しにくい。テストがまだ走っている間に次々とマージが発生するからだ。

同社は代わりに、マージ後・デプロイ前の自動テストに投資することで、競合が生じても変更を並行して進められる体制を整えた。競合の解決にはClaudeが支援する。

Claudeの活用はインフラ監視にも及んでいる。「superfans」と呼ばれるClaudeエージェントがテレメトリやログを通じてインフラコンポーネントを監視し、従来のアラートシステムを補完している。

また、初期のGit→Scionの取り込みパイプラインは、内部の早期プレビューバージョン「Claude Mythos Preview」(※Claudeモデルの社内向け先行評価版)が書き直した。その結果、メモリ使用量を20分の1に削減し、処理速度は4倍に向上したという。

Scionの外部展開は想定していない

Anthropicは、Scionを汎用のGit代替として公開するつもりはないと明言している。同システムは「大規模なエンジニアリングチームや多数のコーディングエージェントが使う巨大リポジトリ」向けに設計されたものだとしている。

ただし、AIが生成するコードの増加がソース管理・テスト・デプロイインフラに与える圧力について、アーキテクチャ上の知見をGitプラットフォームと共有していく方針だ。GitHubやGitLabといった既存プラットフォームがこの教訓をどう取り込むかは、業界全体の課題になっていく。

「ボトルネックを一つ解消するたびに、コード生成がさらに加速する」という同社のコメントは、AIコーディング時代のインフラ設計が終わりなき追いかけっこであることを端的に示している。

詳細はAnthropic Ditches Git In Its Monorepo, Builds In-House Version Control Systemを参照していただきたい。