本文へスキップ
Best AI Service

Vercel Sandbox persistence が GA|default persistent化で今見直す4点

Vercel Sandbox persistence の GA で persistent default に変わった影響を整理。snapshot storage 課金、自動 resume、`--non-persistent` の見直しポイントをまとめます。

公開: 最終確認: 2026年5月27日
最終確認: 2026年5月27日 根拠: 6件の公開情報 確認メモを見る 編集方針
Vercel Sandbox persistence の GA と persistent default 化を整理するイメージ

先に結論

Vercel Sandbox を使っているなら、今回の GA で最初に確認すべきなのは新機能の数ではありません。何もしないと state が残る側へ default が変わったことです。

Sandbox.create()sandbox create は、いまや persistent が標準です。以前の感覚で one-off job を回すと、filesystem が snapshot され、停止後も再開前提の sandbox として残ります。

便利になったのは事実です。ただ、影響が大きいのは次の4点です。

  1. one-off job でも snapshot storage が増えうる
  2. stopped sandbox が自動 resume する前提になる
  3. 長寿命 workspace では retention 設計が必要になる
  4. secret や生成物の残置ポリシーを見直す必要がある

何が変わったのか

Vercel は 2026年5月26日、Sandbox persistence の GA を公開しました。今回から Sandbox.create()sandbox create は persistent default です。

persistent sandbox では、session を止めるたびに filesystem が自動 snapshot されます。次に runCommand()writeFiles() などを呼ぶと、最新 snapshot から新しい session が自動で立ち上がります。

つまり、従来の「job が終わったら環境も消える」という前提ではなくなりました。消したい場合に opt out を書く設計へ変わったわけです。

Vercel は changelog で Sandbox.getOrCreate()Sandbox.fork()Sandbox.delete()onCreate / onResume もあわせて前面に出しています。主語は単発実行ではなく、育てる workspace 寄りです。

一番先に効くのは Snapshot Storage の見直し

実務で最初に効くのは compute より storage です。

Vercel docs では、自動 snapshot は Snapshot Storage を消費し、compute とは別で課金されます。Hobby は 15GB の lifetime 枠、Pro / Enterprise は月額従量課金です。

そのため、以前と同じ job 数でも、persistent default のまま止めるだけで storage 側の請求や上限消費が増える可能性があります。npm install や build artifact を毎回作って捨てる job ほど、この差がそのまま乗ります。

one-off job で state を残す理由がないなら、Vercel が案内している通り persistent: false--non-persistent を明示した方が安全です。

one-off job と長寿命 workspace を分けて考えるべき

今回の update で一番まずいのは、両者を同じ設定で回すことです。

CI 的な job、検証用の build-and-discard workflow、短い eval は non-persistent の方が扱いやすいです。終了時に filesystem を捨てるので、storage 課金も残置データも読みやすくなります。

逆に、coding agent の workspace、preview を何度も開く sandbox、repo clone と依存解決をやり直したくない開発環境は persistent の恩恵が大きいです。Sandbox.getOrCreate()onResume を使うと、再起動時に dev server や cache を立て直す流れまで揃えやすくなります。

Vercel を agent runtime として比較したいなら、OpenAI Agents SDK sandbox provider 比較 もつながります。今回の記事は比較ではなく、Vercel の default 変更に絞っています。

長寿命 sandbox は4項目を決めてから使う

persistent を活かすなら、まず次の4項目を決めるべきです。

1. name

persistent sandbox は name が主キーです。同じ name をどう割り当てるかで、ユーザー単位の workspace なのか、job 単位の workspace なのかが決まります。

2. snapshotExpiration

snapshot は 30日で expire するのが標準です。短く切るのか、長く残すのかを決めないと、resume 前提の運用が急に崩れることがあります。

3. keepLastSnapshots

docs では count: 1 が推奨です。最新だけ残せば十分な sandbox まで複数世代を抱えると、storage が増える割に戻し先を使わないままになりがちです。

4. onResume

自動 resume は filesystem を戻してくれますが、background service までは勝手に整いません。dev server、watcher、キャッシュ再接続のような再起動処理は onResume でまとめた方が事故を減らせます。

stateful な sandbox を他社と比べたい読者には、AIエージェント向けSandbox比較 も補助になります。Vercel だけが persistent を持つわけではないので、長寿命 runtime を主役にするなら比較記事の方が向いています。

secret と生成物の残し方は再確認した方がいい

persistent default 化で見落としやすいのはここです。

以前は ephemeral 前提だったので、job 終了と一緒に依存物や生成物が消える設計でもそこまで困りませんでした。いまは stop 後の filesystem が snapshot されるので、token を書いた設定ファイル、生成した artifact、途中ダウンロードしたデータがそのまま次回へ残る可能性があります。

もちろん persistent 自体が危険という話ではありません。問題は、消える前提の運用メモのまま persistent を使い始めることです。

少なくとも次の点は見直した方がいいです。

  • secret を sandbox 内ファイルへ置かないか
  • 置くなら stop 前に消すか
  • build artifact や cache をどこまで残すか
  • user ごとの workspace を shared name にしていないか

いま見直すべき4点

1. Sandbox.create() を grep する

まずコードを見て、persistent を明示していない create を洗い出します。今回の変更は default 反転なので、未指定箇所がそのまま影響点です。

2. CLI job の sandbox create--non-persistent が必要か判定する

短命 job なら、毎回明示する方が読みやすいです。後から見た人も「これは state を残さない job だ」とすぐ分かります。

3. storage と compute を別で監視する

請求や使用量を見るとき、Active CPU と Provisioned Memory だけでは足りません。Snapshot Storage が別軸で増えるので、usage review も分けて追う必要があります。

4. resume 前提の初期化を onResume へ寄せる

persistent を採用するなら、起動処理を手動で散らさない方がいいです。resume 時に必要な再初期化を hook へ寄せると、workspace が増えても挙動を揃えやすくなります。

誰に強く関係する update なのか

全 Vercel 利用者に同じ重さで効く更新ではありません。

影響が大きいのは、Vercel Sandbox を app の裏側で継続利用しているチームです。特に、AI agent、coding workflow、preview 環境、自動 build job を混ぜて回しているほど、default の反転が運用へ刺さります。

逆に、sandbox をまだ触っていない人にとっては比較検討の材料です。その場合は、Vercel plugin vs MCPサーバー vs 素のcoding agent のように、Vercel をどのレイヤーで使うかから見た方が判断しやすいです。

まとめ

Vercel Sandbox persistence の GA は、便利機能の追加で終わる update ではありません。Sandbox.create()sandbox create の default が persistent に変わったことで、state、課金、resume、残置データの前提が一段変わりました。

  • one-off job は persistent: false--non-persistent を先に検討する
  • 長寿命 workspace は name、retention、onResume を設計してから使う
  • Snapshot Storage を compute と別で監視する
  • secret と artifact の残置ポリシーを見直す

この4点を押さえれば、今回の GA はコスト事故の種ではなく、agent workspace を安定させる追い風になります。

参照した一次情報

最後に確認すること

まず one-off job に `persistent: false` か `--non-persistent` を明示してください。長寿命 workspace は name、snapshotExpiration、keepLastSnapshots、onResume を先に設計した方が安全です。

向いている人

  • ・Vercel Sandbox を CI 的な one-off job と長寿命 agent workspace の両方で使っている開発チーム
  • ・persistent default 化で、課金や state 残置が意図せず変わらないかを今すぐ確認したい人
  • ・Vercel 上で coding agent や preview workflow を組んでいて、resume と snapshot retention を設計し直したい人

避けたい人

  • ・Vercel Sandbox を使っておらず、他社 sandbox 比較だけを探している人
  • ・長期保持や resume を使う予定がなく、単発の compute コストだけ見たい人
  • ・persistent sandbox ではなく、一般的な object storage や database の設計を知りたい人

確認メモ

根拠、確認日、まだ扱っていない範囲を本文の後ろにまとめています。

編集方針を見る

確認日

2026年5月27日

確認ソース数

6件

編集責任

@best-ai-service-editorial-review

研究責任 @best-ai-service-research / 編集責任 @best-ai-service-editorial-review

Verification links

まず開く公式リンク

公式発表、Docs、Pricing など、導入判断で先に見るリンクだけを残しています。

official page readinternal link consistency review

確認した公開情報

  • official changelog
  • official product docs
  • official pricing docs

比較観点

  • default の分かりやすさ
  • コスト事故の起きにくさ
  • 長寿命 workspace の設計しやすさ
  • agent workflow へのつなぎやすさ

まだ扱っていないこと

  • • 大規模 team での snapshot retention の実務標準
  • • `iad1` 固定が multi-region 運用へ与える影響