アプリやコーディングエージェントが渡す model 文字列を、AI Gateway 上の保存済み設定に束ねる仕組み。タスクごとにスラッグを切り、実モデルとルーティングを中央で更新する利用者向け。コードの再デプロイや各開発者のエージェント設定の手直しなしにモデル切替が可能。
呼び出し ID
- 識別子は
vmc/<slug>。例:vmc/coding-agent、vmc/abc-123。 - AI SDK では
model: 'vmc/coding-agent'、Chat Completions / Responses / Messages ではmodelフィールドに同じ文字列。ベース URL はhttps://ai-gateway.vercel.sh/v1(Messages はhttps://ai-gateway.vercel.sh)。 - 埋め込み・画像・動画・TTS・STT・rerank・decision などカタログ上の各モダリティでも同じ slug を渡す。slug の背後モデルと API 種別が一致しないと
400。 - Claude Code は
/modelにclaude-code/vmc/<slug>、Codex はvmc/<slug>または~/.codex/config.tomlのmodel。vercel ai-gateway setupでエージェントを Gateway 経由にしたうえで slug を選ぶ。
CLI での作成・更新
bash
vercel ai-gateway virtual-models create coding-agent \
--model anthropic/claude-opus-5.5 \
--config '{"speed":"fast","zeroDataRetention":true}'
vercel ai-gateway virtual-models edit coding-agent --model openai/gpt-6.1-solcreate/editは--model、--provider-order、--provider-only、--display-name、--descriptionと--configJSON を併用。同一キーはフラグが--configより優先。--configで渡す主なキー:modelSlug、providerOrder、providerOnly、inferenceRegion(例{ "scope": "zone", "geoRegion": "eu" })、models(モデルフォールバック配列)、speed("fast")、allowFallbackFromFast、sort、serviceTier、caching、providerTimeouts、has(必須能力)、zeroDataRetention、disallowPromptTraining、providerOptions、observabilityTags。- 一覧・詳細・削除・復元:
virtual-models list、inspect、remove、restore。vercel ai-gateway models ls --virtualでカタログと併記。
ルーティングとリクエスト上書き
Virtual Models 側で値を持つ項目はリクエストより優先。プロバイダ順(order)、プロバイダ限定(only)、モデルフォールバック(models)、fast モード、ソート、サービスティア、プロンプトキャッシュ、プロバイダタイムアウト、推論リージョン(システム資格情報の試行のみ)、必須能力(has)、観測タグは Virtual Models が設定していれば呼び出し側の同名オプションは無視。
providerOptionsはキー単位でマージ。Virtual Models がanthropic.effortを置いていればその値が残り、未設定キーだけリクエストから入る。- コンプライアンス(ZDR・プロンプト学習拒否)はどちらかが on なら on。どちらも off に戻せない。
- Virtual Models が未設定の
sort/serviceTier/caching/providerTimeoutsはリクエストまたはシステム既定。Virtual Models が"@default"を指定すると呼び出し側の値を捨ててシステム既定に固定。 - チームのモデル許可リスト・プロバイダ許可リスト・ルーティングルール・チーム全体 ZDR・予算は Virtual Models 経由でもそのまま適用。許可リスト外の背後モデルは slug 経由でも拒否。
運用
- 作成後の slug 変更不可。設定変更・アーカイブ・復元は新規リクエストに数分以内で反映。アーカイブ中の slug は
404。 - 本番切替前は
vmc/coding-agent-candidateなど別 slug で候補モデルを向け、評価後に本番 slug の--modelを更新する流れを推奨。 - チーム全員が Virtual Models を呼び出し可能。作成・編集・アーカイブは作成者か Owner(Member は作成可、編集は作成者か Owner)。