EXERCISE 80分

ストーリー

佐藤CTO
RAGの設計、ベクトルDB、プロンプト最適化、API統合 — ここまでの知識を総動員して、堅牢なLLMシステムを設計しよう

ミッション概要

ミッションテーマ目安時間
Mission 1リトライ・フォールバック戦略の設計20分
Mission 2ストリーミングアーキテクチャの設計20分
Mission 3コスト最適化計画の策定20分
Mission 4モニタリングダッシュボードの仕様設計20分

前提シナリオ

サービス: 社内ナレッジ検索チャットボット
ユーザー: 社員5,000名
月間リクエスト: 50万件
要件:
  - レスポンスタイム: p95 < 3秒(初回トークンまで)
  - 可用性: 99.9%
  - 月額予算: 50万円

Mission 1: リトライ・フォールバック戦略(20分)

要件

LLM API呼び出しのリトライ戦略とフォールバック設計を作成してください。

解答例

リトライ戦略

エラー種別リトライ間隔最大回数
429 Rate LimitありExponential backoff(1s, 2s, 4s)3回
500 Server ErrorありFixed 2秒2回
408 TimeoutありFixed 1秒1回
400 Bad Requestなし--

フォールバック戦略

graph TD
    P["Primary:
Claude Sonnet → Retry 3回"] F1["Fallback 1:
Claude Haiku
コスト低、品質やや低"] F2["Fallback 2:
キャッシュ済み類似回答を返却"] F3["Fallback 3:
現在応答に時間がかかっています"] P -->|"失敗"| F1 F1 -->|"失敗"| F2 F2 -->|"該当なし"| F3 style P fill:#dbeafe,stroke:#2563eb,stroke-width:2px,color:#1e40af style F1 fill:#d1fae5,stroke:#059669,color:#065f46 style F2 fill:#fef3c7,stroke:#d97706,stroke-width:2px,color:#92400e style F3 fill:#fee2e2,stroke:#dc2626,color:#991b1b

Mission 2: ストリーミングアーキテクチャ(20分)

要件

SSEベースのストリーミングアーキテクチャを設計してください。

解答例
graph LR
    LLM["LLM API"] -->|"Stream"| BFF["BFF
Node.js"] BFF -->|"SSE"| Client["Client
React"] BFF --> RAG["RAG Pipeline"] RAG --> R1["Query Embedding"] RAG --> R2["Vector Search"] RAG --> R3["Context Assembly"] Client --> UI["UI: チャンク単位で
リアルタイム表示"] style LLM fill:#f3e8ff,stroke:#7c3aed,color:#5b21b6 style BFF fill:#dbeafe,stroke:#2563eb,stroke-width:2px,color:#1e40af style Client fill:#d1fae5,stroke:#059669,color:#065f46 style RAG fill:#fef3c7,stroke:#d97706,stroke-width:2px,color:#92400e style R1,R2,R3 fill:#f3f4f6,stroke:#9ca3af,color:#374151 style UI fill:#f3f4f6,stroke:#9ca3af,color:#374151
コンポーネント設計
フロントエンドEventSource APIでSSE接続、チャンク受信ごとにUI更新
BFFLLM APIのストリームを受信し、SSEとしてクライアントに転送
タイムアウト初回トークン: 10秒、全体: 60秒
エラー処理ストリーム中断時は最後の完全な文で切断

Mission 3: コスト最適化計画(20分)

要件

月額50万円の予算内で50万リクエストを処理するコスト計画を作成してください。

解答例

モデルルーティング戦略

カテゴリ割合モデル単価/リクエスト月額
簡単(FAQ)50%Haiku¥2¥500,000→¥250,000×¥2=¥500K
普通(要約)35%Sonnet¥10¥175,000×¥10=¥1,750K
複雑(分析)15%Opus¥50¥75,000×¥50=¥3,750K

合計: ¥6,000K(600万円)→ 予算オーバー

最適化適用後

施策削減効果
セマンティックキャッシュ(ヒット率40%)-40%
プロンプト圧縮(30%トークン削減)-20%
簡単カテゴリの割合増加(LLM不要の直接回答)-15%

最適化後: 600万 × 0.6 × 0.8 × 0.85 = 約245万円 → まだオーバー

追加最適化: 簡単カテゴリの70%をルールベース(LLM不要)で直接回答 → 月額約48万円


Mission 4: モニタリングダッシュボード仕様(20分)

要件

LLMシステムのモニタリングダッシュボードの仕様を設計してください。

解答例
パネルメトリクスアラート閾値
レイテンシp50/p95/p99 TTFT、Totalp95 > 5秒
エラー率LLM APIエラー率、フォールバック率エラー率 > 5%
スループットリクエスト数/分、同時接続数同時接続 > 100
コスト日次/週次コスト、モデル別コスト日次 > 2万円
品質ユーザー評価(👍/👎率)、回答長👎率 > 20%
キャッシュヒット率、キャッシュサイズヒット率 < 20%
RAG検索ヒット数、関連度スコア分布平均スコア < 0.7

まとめ

ポイント内容
フォールバック段階的なフォールバックで可用性を確保
ストリーミングSSEで体感速度を改善
コストモデルルーティング+キャッシュで大幅削減
モニタリングレイテンシ・コスト・品質を統合監視

チェックリスト

  • リトライ・フォールバック戦略を設計できた
  • ストリーミングアーキテクチャを設計できた
  • コスト最適化計画を策定できた
  • モニタリングダッシュボードを設計できた

次のステップへ

次はチェックポイントクイズで理解度を確認します。


推定読了時間: 80分