(更新: 2026.03.21)

Claude/OpenAI/Geminiを切り替え可能にした設計判断

Claude/OpenAI/Geminiを切り替え可能にした設計判断

求人原稿AIツールを開発するにあたって、AIプロバイダーをClaude・OpenAI・Geminiの3つから選べる仕組みを入れた。「どうせClaudeだけでいいでしょ」と思う人もいるかもしれないが、これには明確な理由がある。

なぜ複数プロバイダー対応したのか

1. コストと速度のバランス

Claudeは高精度だけど、バッチ処理で100件の求人原稿を改善するときはコストがかさむ。OpenAIのGPT-4o-miniやGemini 2.0 Flashなら速度とコストを抑えつつ、そこそこの品質を維持できる。

2. 障害時の冗長性

APIが落ちることはある。特にClaudeは2024-2025年にかけて何度か障害を起こした。メインプロバイダーが落ちても、別のプロバイダーに切り替えられるのは大きい。

3. 用途による使い分け

  • 法令チェック:正確性が命。Claude Opus推奨
  • 改善提案(軽め):GPT-4o-miniで十分
  • スコアリング:Gemini 2.0 Flashで高速処理

実装のポイント

プロバイダー抽象化

各プロバイダーを統一インターフェースでラップした。

// src/lib/ai/providers.ts
interface AIProvider {
  analyze(text: string): Promise<AnalysisResult>;
  improve(text: string, prompt: string): Promise<string>;
}

これでどのプロバイダーを使っても、呼び出し側のコードは変わらない。

環境変数での切り替え

デフォルトはClaudeだが、設定画面またはユーザーごとの設定でプロバイダーを変更できる。

ANTHROPIC_API_KEY=sk-ant-xxxxx  # 必須
OPENAI_API_KEY=sk-xxxxx         # 任意
GEMINI_API_KEY=xxxxx            # 任意

フォールバック機能

メインプロバイダーがエラーを返したら、自動で別プロバイダーにフォールバックする仕組みも組み込んだ(現在は未実装だが、今後追加予定)。

実際のコスト比較

100件の求人原稿(1件あたり平均1000トークン)を改善した場合:

プロバイダー コスト概算 処理時間
Claude Sonnet 3.5 $15-20 8分
GPT-4o $10-15 5分
Gemini 2.0 Flash $2-5 3分

運用コストを考えると、普段はGemini/GPT-4o、重要案件だけClaudeという使い分けがベスト。

まとめ

複数プロバイダー対応は「保険」でもあり「最適化手段」でもある。AIツールを作るなら、最初から設計に組み込んでおくと後が楽。

タグ: #AI活用 #開発実績 #設計判断