Anthropic Scion: エージェント規模に向けたソース管理の再設計

エージェント規模のソース管理への移行

Anthropicは、社内のモノレポ全体をGitから、Scionという自作のソース管理システムに移行しました。この動きは、AI駆動のコード生成の爆発的な増加によって引き起こされました。同社の1日あたりのコードマージ数は、2026年5月の2,500件から、2026年9月には30,000件以上に増加しました。AIエージェントが研究ループ、マイクロ最適化、サービス作成をますます処理するようになるにつれ、従来の開発者インフラストラクチャ(特にGit)は、その分散型でクライアント中心のアーキテクチャにより、重大なボトルネックとなりました。

GitがAnthropicの規模で失敗した理由

Gitは分散型のオフライン作業用に設計されており、クライアントがリポジトリの完全で自己完結型のコピーを維持する必要があります。Anthropicの規模では、このモデルは崩壊しました。メインブランチの履歴だけで約100GBに達し、圧縮された作業コピーは25GBを超えました。毎日数千万回のCIチェックアウトが発生する中、単純なGit実装では、1日あたり600PBを超えるトラフィックが必要になるはずでした。チームは以前、数百の内部Gitミラーとリポジトリスナップショットを利用していましたが、マージ率が加速するにつれて、これらの回避策は維持がますます困難になりました。

Scionの基本原則

Scionは、クライアントが常にオンラインであるという前提に基づいて構築されており、Gitの分散設計からの根本的な脱却を可能にしています。このシステムは、いくつかの主要な原則に基づいて動作します。

  • クライアント・サーバー非対称性: すべてのクライアントが潜在的なサーバーであるGitとは異なり、Scionはロジックを集中化します。サーバーが履歴、blame、マージ、リベースを処理し、クライアントは境界のあるローカルキャッシュと仮想化された作業コピーのみを維持します。
  • APIファーストアクセス: Scionはすべてのソース管理クエリをAPI経由で公開するため、多くのCIジョブや内部ツールはローカルリポジトリのクローンを必要としなくなり、リソース消費が大幅に削減されます。
  • 水平スケーラビリティ: Scionは、パックファイルやリポジトリメンテナンスの必要性を排除します。データは分散され、コンテンツアドレス方式で保存されるため、フリート内の任意のサーバーが、サーバー間の調整なしにデータをキャッシュして提供できます。
  • 安価でインクリメンタルなコミット: コミット、マージ、リベースはサーバー側で発生します。これらの操作のコストは、リポジトリ全体のサイズではなく、変更のサイズに応じてスケーリングされます。
  • スパースおよび仮想化されたチェックアウト: クライアントは、必要な特定のディレクトリとファイルのみをフェッチしてマテリアライズするため、リポジトリ全体のチェックアウトのオーバーヘッドを回避できます。

実装とパフォーマンス

Scionは、作業の主要単位として、書き込み先行ログに保存される「チェンジセット」を使用します。これらのチェンジセットは、親に対する変更を記録し、ファイルblobにコンテンツアドレス方式のストレージを利用します。パフォーマンスを維持するために、Scionはこれらのチェンジセットから「派生データ」(blameやパス履歴など)を再帰的に計算し、クライアントに影響を与えることなくインデックスを最適化できるようにします。

階層型キャッシュアーキテクチャ(scion-daemon、リージョナルscion-cacheサーバー、および権威あるscion-serversで構成)を実装することにより、Anthropicは99%のキャッシュヒット率を達成しました。このインフラストラクチャは、以前のGitミラーリング設定と比較して、CPUとメモリの点で200倍効率的であり、CIジョブは数分ではなく数秒で完了するようになりました。

インフラストラクチャ開発におけるAIの役割

Anthropicは、わずか5か月で7人のチームによって完了したScionの迅速な開発を、Claudeの使用によるものとしています。ある注目すべき例では、Claudeはプロトタイプの取り込みパイプラインを書き直し、20倍少ないメモリ消費で4倍高速にしました。

ただし、チームは人間の監視が依然として重要であることを強調しています。Claudeはコードの記述に優れていますが、エンジニアは高レベルのシステム制約を定義し、過剰エンジニアリングやアーキテクチャ上の不変条件の違反からAIを導くために不可欠です。チームは現在、すべての行を読むのではなく、変更の意図に基づいてコードをレビューしています。

コミュニティの視点と業界への影響

開発者コミュニティ内での議論は賛否両論です。多くの人が印象的なエンジニアリングの偉業を認めていますが、一部のオブザーバーは、このような高いコードチャーンの持続可能性に疑問を投げかけています。

「コードをマージする潜在的な需要は事実上無限であり、私たちがボトルネックを取り除くたびに、すぐに私たちが生産するコード量のさらなる増加につながります。」

批評家は、オープンソースとしての利用可能性の欠如について懸念を表明しており、一部はScionをSubversionやPerforceのようなレガシーシステムと比較しています。他の人々は、Anthropicの規模は独特ですが、AIエージェントをサポートするためにカスタムインフラストラクチャを構築する傾向は、他の組織にとって共通の課題になる可能性があると指摘しています。Anthropicは、ScionがGitの汎用的な代替品ではないと述べていますが、設計原則を共有することで、業界がGitのサーバー側機能を進化させ、エージェント中心のワークフローをよりよくサポートすることを期待しています。

Sources

関連