2025年末まで、私たちはすべてのチャット関連をOpenAIを通じて直接運用していました。1つのアカウント、1つのキー、1つの請求書。2026年1月にマルチモデルアグリゲーターに移行しました。実際に何が起こったのかをご紹介します。
私たちが持っていたもの
- OpenAIエンタープライズティア — 月額約8,000ドル
- すべてのチャット完了は
gpt-4oまたはgpt-4o-miniで - 1つの埋め込みモデル、1つの画像モデル(DALL-E 3)
- 4つのサービスでの直接SDK統合
移行のきっかけ
- Claude Opus 4.6が私たちのエージェントコーディング評価で顕著に良いスコアを出していた
- Gemini 3 Proが長文コンテキスト文書分析で明確な勝者となった
- オープンソースモデル(DeepSeek, Llama 4)を推論インフラなしでテストしたかった
- 5つのプロバイダーを運用することは、5つの契約、5つの請求サイクル、5つのレート制限ダッシュボードを意味していた
移行
OpenAI互換のアグリゲーターに切り替えました(実際にはこれです — 私たちは自社製品を本番環境で使用しています)。変更はSDKのbaseURLとapiKeyを置き換えるだけでした。コードの差分は4つのサービスで8行でした。
// Before
const openai = new OpenAI({ apiKey: process.env.OPENAI_KEY });
// After
const openai = new OpenAI({
apiKey: process.env.AIGEN_KEY,
baseURL: 'https://aimarcus.eu/aigenerate/api/v1',
});
請求書での変化
- チャット(GPT-4o → タスクに基づくGPT-4o + Claude Sonnetの混合):-22%
- エージェントコーディング(Claude Opusに移行):+8%、しかし評価は15ポイント改善
- 長文コンテキスト分析(Gemini 3 Proに移行):-40%
- 画像生成(DALL-E 3からNano Bananaに移行):-65%
月額請求への純効果:-28%。各サーフェスでのより良いモデル選択 + 直接交渉する必要のない上流アグリゲーターからの低いトークン単価。
うまくいかなかった3つのこと
- ストリーミングSSEフォーマットの違い。ClaudeはOpenAIとは少し異なるストリーミングを行います。クライアント側のバッファロジックが約10分間壊れ、互換性シムを追加するまで続きました。
- トークンカウント。異なるモデルは異なる方法でトークン化します。内部の「会話ごとに使用されたトークン」メトリックはモデルごとに再校正が必要でした。
- モデル名をキーとしたキャッシング。プロンプトキャッシュは
gpt-4oをキーとして使用していました。Claudeにいくつかのリクエストをルーティングし始めたとき、古いキャッシュヒットを受け取りました。教訓:常にキャッシュキーにモデルを含めること。
もう一度やるか?
はい — コストとは無関係の3つの理由から。
- オプショナリティ。4月3日にOpenAIが40分間の停止をしたとき、トラフィックがAnthropicとGeminiに自動的にフェイルオーバーしたため、チャットサーフェスは動き続けました。それだけでも移行の価値があります。
- モデルのパリティは終わった。2026年には「最高のモデル」は存在しません。各タスクに最適なモデルがあります。アグリゲーションはその事実を実際に利用する方法です。
- 1つの請求書。財務部門はエンジニアリング部門よりもこれを望んでいました。1つの請求書、1つのベンダー関係、12のプロバイダーに対する1つの契約。
単一プロバイダーで意味のあるボリュームを運用している場合、切り替えは最初の月で元が取れます。