技術ノート2025年5月18日
OpenRouter でマルチ AI モデルルーティング実装 — コスト最適化戦略
執筆: Hiramise チーム
Hiramise はレイアウト生成、カタログ画像分析、法規検証など複数のAI処理を行います。すべての呼び出しに同じモデルを使うとコストが急増します。OpenRouterを活用してタスク別にモデルを分離した経験を共有します。
なぜOpenRouterか
OpenRouterはOpenAI互換APIの単一エンドポイントで数十のモデルにアクセスできます。プロバイダーを変更してもコード変更なしにモデルIDを入れ替えるだけで済みます。
- 単一APIキーでAnthropic、Google、Metaなどのモデルを統合管理
- フォールバックルーティング対応 — メインモデル過負荷時に自動切替
- トークン単位コスト監視ダッシュボード内蔵
タスク別モデル分離戦略
すべてのAI呼び出しを単一クライアントラッパー(app/ai/client.py)を通過するよう設計しました。モデルIDは別途定数(app/ai/models.py)に分離して切替コストを最小化しています。
- レイアウト生成(複雑な推論が必要):claude-opus-4.7 — 精度優先
- カタログ画像分析(Vision):claude-sonnet-4.6 — 速度+コストバランス
- 簡単なテキスト要約・タグ付け:claude-haiku(最低コスト)
- 法規チェック(キャッシュ可能な長いコンテキスト):Opus+プロンプトキャッシング
コスト最適化の結果
すべての呼び出しをOpusで処理した場合と比較して、月次AIコストが約40%削減されました。レイアウト生成品質はOpusを維持しながら、頻繁なVision呼び出しをSonnetに切り替えたことが奏功しました。
- Vision分析呼び出し:全体の65% → Sonnet切替で最大5倍コスト削減
- レイアウト生成:全体の20% → Opus維持(品質は妥協不可)
- キャッシュヒット率:法規コンテキスト約70%ヒット → 追加30%削減
OpenRouterのプロンプトキャッシングはClaude OpusとSonnetの両方で対応していますが、サポート状況と価格は時期によって異なる場合があります。大規模コンテキスト使用前に必ずOpenRouterダッシュボードで確認してください。