Anthropic、社内リポジトリをScionへ移行
- •Anthropicは5カ月でGitからScionへ移行し、2026年9月までに1日3万件超のマージに対応
- •メインブランチの履歴は約100 GB、CIでは1日約2,500万回のコード取得
- •キャッシュヒット率99%超、基盤規模を200分の1に縮小し、CIのCPU容量を25%増加と発表
Anthropicによると、コードのマージ件数は2026年5月の1日約2,500件から、9月までに3万件超へ増え、ソース管理が開発のボトルネックになりました。同社は社内でバージョン管理システム「Scion」を開発し、5カ月で単一リポジトリをGitから移行しました。Anthropicは、Claudeによってシステムへの需要が増え、エンジニアによる開発も進んだとしています。
単一リポジトリのメインブランチの履歴は約100 GBで、圧縮した作業用コピーも25 GBを超えます。AnthropicはCI向けに1日約2,500万回のコード取得を行っており、開発者環境、エージェント用サンドボックス、研究作業はこの数に含みません。単純に取得すると、Gitの通信量は1日600 PBを超える計算です。同社は数百台の社内Gitミラーを運用していましたが、マージの増加に伴い保守が難しくなっていました。
Scionは常時オンラインのクライアント向けに設計されています。サーバーはファイル履歴の照会、コミット、マージ、リベースなどを処理し、クライアントは上限のあるローカルキャッシュを保持して必要なデータだけを要求します。APIを使えば、ジョブはリポジトリのローカルコピーを持たずにソース管理へ照会できます。また、スパースまたは仮想化されたチェックアウトでは、指定ディレクトリや必要に応じて要求したファイルだけを取得します。
Scionは作業を変更セットとして記録します。変更セットには親から変更されたファイルが列挙され、圧縮ファイルの内容を保存するブロブストレージへの参照が含まれます。Anthropicによると、この設計では変更セットを受け入れる際にパックファイルやロック、サーバー間の調整が不要です。ファイルの責任者を示す情報やパス履歴などの派生データは変更セットから生成し、先に計算することも後回しにすることもできます。サーバーはリポジトリのデータを配信し、内容を識別子に使う不変オブジェクトをキャッシュします。
Scionのクライアントは特定のツリーやブロブを再帰的に要求するため、転送を再開でき、キャッシュから要求に応じることもできます。各サーバー群のノードにあるデーモンはジョブ間でオブジェクトを再利用します。地域別キャッシュサーバーは、Spannerまたはクラウドストレージを基盤とする権威サーバーから不足分を取得します。Anthropicは各階層でキャッシュヒット率が99%を超え、従来のGitミラー構成に比べてScionのCPU・メモリー使用規模を200分の1にしたと発表しました。CIと研究ジョブのコード取得は2桁速くなり、CI単独でCPU容量が25%増えました。
AnthropicはClaude Mythos PreviewとClaude Tagが社内で利用可能になった時期に、Scionの開発を始めました。同社は両者によってScionの必要性が高まり、開発も加速したと説明しています。その年の前半には、Claude Mythos Previewの初期社内版がGitからScionへの取り込み処理の試作を作り直しました。暗黙の順序付けとデータ構造の不変条件を保ちながら、メモリー使用量を20分の1にし、処理速度を4倍にしたとしています。