変更点
開始前の準備
- 現在の Vercel AI Gateway のベース URL とキー設定。
- ローカル、ステージング、本番の各環境で
PHASEO_API_KEYを利用できること。 - 非ストリーミング、ストリーミング、利用中のツール呼び出しを網羅する小規模なプロンプトセットまたは統合テスト。
1) 現在の Gateway 接続箇所を記録する
モデルプロバイダーや API クライアントを作成する共通箇所を見つけ、そこを移行ポイントにします。- プロバイダーまたはクライアントのファクトリーを特定します。
- 本番で使用中のモデル ID を列挙します。
- リトライ、タイムアウト、フォールバックの既定値を記録します。
- edge とサーバーの両方で同じ設定変更が必要か確認します。
- AI SDK の各呼び出しに埋め込まず、Gateway のプリセットにする共有プロンプトやパラメーターの既定値を特定します。
2) エンドポイントとキーを切り替える
多くの OpenAI 互換クライアントでは、ベース URL とキーを置き換えるだけで済みます。3) 動作の同等性を確認する
同じプロンプトセットを旧経路と新経路で実行し、レイテンシ、出力形式、トークン使用量を比較します。- 非ストリーミングのテキスト生成を確認します。
- 本番と同じコード経路でストリーミングのチャンク処理を確認します。
- アプリが依存している場合はツール呼び出しも確認します。
- アプリのエラーマッピングに変更がないことを確認します。
- ルーティングの既定値とプロバイダー制限は、各モデルファクトリーで再実装せず、プリセット またはルーティングとフォールバックに移します。
4) Vercel AI SDK と Gateway のチェックリスト
トラフィックを増やす前に確認します。- ベース URL を
https://api.phaseo.app/v1に更新した。 - 以前 Vercel Gateway キーを使ったすべての実行環境に
PHASEO_API_KEYを設定した。 - Vercel AI SDK を直接使う場合、公式プロバイダー
@phaseo/ai-sdk-providerを組み込んだ。 - AI SDK の主要なテキスト生成経路がステージングで動作する。
- アプリレベルのストリーミングテストが変更なしで通る。
- 使用中のツール呼び出しと構造化出力を再確認した。
- 小規模なプロンプトセットで旧経路と新経路の出力を比較した。
- 設定変更または feature flag だけでロールバックできる。
- 共有プロンプトとルーティングの既定値を適切な箇所でプリセットに移した。
GET /v1/generations?id=<request_id>で生成を照会できることを再確認した。replay_supported=trueの場合、保存されたreplay_requestから失敗したリクエストを再実行できます。
5) 低リスクのリリース計画
- feature flag または段階的な割合指定でリリースします。
- 社内トラフィックか、ごく一部の本番トラフィックから始めます。
- レイテンシ、エラー率、トークン使用量とコストの変動を監視します。
- 少なくとも 1 回のリリース期間は両方の設定を利用できる状態にします。
検証コマンド
- アプリの主要なテキスト生成統合テストを実行します。
- ステージングでストリーミングテストを実行します。
- 完全に切り替える前に、主要なプロンプトの旧経路と新経路の出力を比較します。