概要
- Agents の登場により、ソース管理やファイルシステムの概念が変化
- Artifacts はエージェント向けに設計された分散・バージョン管理ファイルシステム
- Git互換 で、REST APIやWorkers APIも提供
- 大規模・高速なリポジトリ管理 と状態永続化を実現
- ArtifactFS で大規模リポジトリの即時マウントも可能
エージェント時代の新しいソース管理:「Artifacts」とは
- Agents の普及により、ソース管理・ファイルシステム・状態永続化の要求が激増
- 今後5年間で、これまでの歴史を上回る量のコード生成予測
- 従来のソース管理プラットフォームは 人間向け 設計で、エージェントの10倍以上の処理量に非対応
- 新たな基盤として「 分散・バージョン管理ファイルシステム」の必要性
- Artifacts はエージェントに最適化されたGit互換のバージョン管理ファイルシステム
- プログラムからリポジトリ作成、エージェントやサンドボックスごとに独立したリポジトリ割当可能
- REST APIやWorkers API経由でリポジトリ作成・認証情報発行・コミット操作
- 通常のGitクライアントからも利用可能
Artifactsの基本機能とユースケース
- 各エージェントセッションやサンドボックスごとに 独立したリポジトリ 割当
- 10,000個以上のフォークも即時作成可能
- 既存Gitリポジトリからのインポートや、独立した作業・変更のプッシュも容易
- Gitクライアント非対応環境(サーバレス関数等)でもREST APIやTypeScript SDKで操作可能
- 状態永続化 や セッション履歴管理 など、ソース管理以外の用途にも最適
- セッション状態や履歴をリポジトリ単位で保存・共有・タイムトラベル可能
- 特定時点からの フォーク で、他者との共同作業やデバッグも容易
Artifactsの技術基盤
- Cloudflare Durable Objects 上で構築
- 数百万単位の独立・状態保持型インスタンスを即時生成可能
- Gitサーバ実装 をZigで独自開発、WASMにコンパイル
- SHA-1、zlib、デルタエンコード、パック解析、GitスマートHTTPプロトコルを完全実装
- メモリ管理の柔軟性やWASM/ネイティブ両対応のビルドシステム
- Artifactsの内部構造
- ファイルはDurable ObjectのSQLite DBに保存
- 大型Gitオブジェクトは分割保存
- 認証トークン管理はKVストアで実現
- fetch/push時はWASM出力をストリーミングで返却
- Gitプロトコルv1/v2、shallow clone、ls-refs、インクリメンタルfetch等の機能対応
- git-notes対応で、メタデータやプロンプト履歴の保存も可能
大規模リポジトリへの対応:ArtifactFS
- ArtifactFS は大規模Gitリポジトリを即時マウント可能なファイルシステムドライバ
- サンドボックスやエージェント起動時のクローン時間を大幅短縮
- ファイルツリー・参照情報のみ先に取得、ファイル内容は必要時に非同期でダウンロード
- 主要ファイル(設定、ソースコード等)を優先ハイドレート
- 書き戻しは不要、Gitプロトコルでコミット&プッシュのみ
- GitHubやGitLabなど 任意のGitリモート にも対応
- 大規模リポジトリのクローン時間を10〜15秒に短縮可能
- 月間1万回のサンドボックス起動で数千時間のコスト削減効果
今後の展開
- 現在は プライベートベータ、5月初旬にパブリックベータ公開予定
- 近日中に メトリクス拡充 など新機能を追加予定
- ドキュメントや内部構造の詳細解説も順次公開
まとめ
- Artifacts はエージェント時代のソース管理・状態永続化の新基盤
- Git互換API・REST APIで多様な用途と大規模運用に対応
- ArtifactFS により大規模リポジトリの即時マウント・効率化も実現
- 今後の機能追加・公開に注目