ブラウザのAIモデル重複保存を解消する新API提案

課題

オリジン分離でキャッシュ非共有
同一モデルの重複ダウンロード
Wasm実行環境の二重保存
ディスク容量と通信の浪費

提案するAPI

ハッシュでファイル識別
navigator.crossOriginStorage導入
オリジン横断の単一キャッシュ
書き込み時のハッシュ検証
詳細を読む

Hugging Faceは2026年6月23日、ブラウザ向けAIライブラリTransformers.jsで提案中のCross-Origin Storage(COS)APIを試した結果をブログで公開しました。COSは、複数のサイト間でAIモデルやWebAssemblyの実行環境を重複なく共有することを狙う初期段階の仕様提案です。

問題の背景は、ブラウザのキャッシュがオリジンごとに分離されている点にあります。同じモデルでも別ドメインのアプリを開くと再ダウンロードが必要で、記事の例では177MBもの重複ダウンロードと保存が発生します。これはセキュリティプライバシー保護のため、キャッシュをサイト単位で隔離している設計に由来します。

さらに、利用するモデルが異なるアプリ同士でも、土台となるONNX Runtimeの共通Wasmファイルを別々に取得・保存してしまいます。最終的なCDNのURLが同一でも、ネットワーク分離キーが一致しないためキャッシュは再利用されません。

COSは、ファイルをURLやオリジンではなく暗号学的ハッシュで識別する仕組みです。navigator.crossOriginStorageというインターフェースを通じ、ハッシュが一致すれば取得元を問わず同一ファイルとして認識し、一度の保存を全サイトで使い回せます。

公開範囲は開発者が制御できます。AIモデルやWasmのように広く共有したい資源はすべてのオリジンに開放し、社内専用モデルは特定オリジンに限定できます。可視性は拡大はできても縮小はできないため、公開資源を悪意ある第三者が制限し直す攻撃を防ぎます。

加えてCOSは書き込み時にハッシュを検証するため、宣言と異なるデータは保存に失敗します。これによりモデルの重みが正しいバイト列かを自動で整合性確認でき、公式CDNでも有志のミラーでも信頼して利用できる点が利点です。