概要
- Anthropic はAIによる自律的なコーディングで、従来の開発インフラがボトルネックに
- Scion という独自のバージョン管理システムを開発し、gitから全面移行
- 分散型から常時オンライン前提の設計 へ転換し、スケーラビリティと効率性を追求
- Derived Data による柔軟なデータ構造とAPI中心の運用
- 未来のAI時代 に適したソース管理の新たな標準を提案
AnthropicにおけるAIコーディングと開発インフラの限界
- Claude による自律的な研究・開発ループの自動化
- コードマージ数の爆発的増加 (2026年5月:2,500件/日→9月:30,000件/日超)
- 既存の開発インフラ (git・CI/CD等)がAIスケールに対応不能
- ボトルネックの本質 :人間規模を前提とした従来ツールの限界
Scionの開発と移行
- Scion :Anthropicが独自開発した新バージョン管理システム
- 5か月でgitから全面移行、同時期にレビューUI(Antique)、コード検索、IAMなども構築
- Google Piper、Meta Sapling など大規模モノレポ運用の知見を活用
- AIによるコード生成能力 が新システム構築の原動力
モノレポ成長とgitの課題
- メインブランチの履歴が100GB超、圧縮ワーキングコピー25GB超
- 1日2,500万回以上のチェックアウト がCI等で発生
- gitの分散・オフライン設計 が大規模化で逆に障害に
- 内部ミラーやスナップショット運用 も限界、運用コスト増大
Scion設計の基本原則
- 常時オンライン前提のクライアント設計
- クライアントは必要な時だけサーバからデータ取得
- クライアント・サーバ非対称性
- サーバが履歴管理・マージ等を担当、クライアントは最小限のローカルキャッシュのみ
- API中心のソース管理
- すべての操作・クエリをAPI経由で実現、ローカルリポジトリ不要
- 水平スケーラビリティ
- データは分散管理、どのサーバもキャッシュ可能、パックファイル不要
- コミットは高速・インクリメンタル・ロックフリー
- 変更単位でのみコスト発生、グローバルな参照管理は最小限
- ワーキングコピーは任意・スパース設計
- 必要なディレクトリだけ取得、API経由で差分・履歴クエリ可能
Scionのデータ構造と運用
- 変更単位(changeset) :WAL(Write-Ahead Log)形式で管理
- 各changesetは親との差分ファイルと圧縮内容のポインタを持つ
- Derived Data :履歴・blame・検索用インデックス等を再帰的に生成
- 新しいデータ構造の追加や最適化が容易
- クライアントは内部構造を意識せず利用可能
- サーバ群によるAPI提供
- すべての操作(diff・マージ・blame等)をAPIで実行
- データは不変・キャッシュ可能、サーバ間の協調最小化
Scionクライアント・チェックアウトの特徴
- scnクライアント :gitとは異なるfetchプロトコル
- クライアントは欲しいツリー・blobのみリクエスト
- オブジェクト単位で取得、キャッシュ層構造で効率化
- スパース・仮想化チェックアウト
- 必要なファイル・ディレクトリのみオンデマンドで取得
- 巨大なパックファイル不要、効率的なリジュームが可能
Scionのスケーラビリティと運用面での利点
- CI・ツール側でローカルリポジトリ不要
- ソース管理クエリのAPI化で運用負担を大幅軽減
- サーバキャッシュによる高速化
- どのサーバもオブジェクト単位でキャッシュ、協調不要
- 運用コスト・複雑性の削減
- 大規模モノレポでも安定運用が容易
まとめ:AI時代の新しいソース管理像
- AIによる自律的な開発・研究 が常態化する時代の新標準
- 従来の分散・オフライン前提設計からの脱却
- API駆動・スパース設計・水平スケーラビリティ による持続可能な拡張性
- Scion は今後のAI時代のソース管理のベストプラクティスとなる可能性