ストーリー
田
田中VPoE
クエリ変換、Reranking、Self-RAG、高度なパターン — 最適化の引き出しは揃った。ここで実際のシナリオに適用して、検索精度を向上させる計画を立ててもらう
田
田中VPoE
Phase 1のベースライン(Naive RAG + Reranking)でPrecision@5が60%だった場合、Phase 2で85%以上を目指す。各最適化手法の効果を見積もり、最もコスト効率の良い改善計画を立ててくれ
田
田中VPoE
予算とレイテンシの制約がある。無制限にLLMを呼べるわけじゃない。限られたリソースでどの手法の組み合わせが最も効果的かを見極めるのが腕の見せどころだ
ミッション概要
| 項目 | 内容 |
|---|
| 演習タイトル | 検索精度の最適化計画 |
| 想定時間 | 90分 |
| 成果物 | 最適化計画書(手法選定 + 効果見積もり + 実装計画) |
前提条件
現在のベースライン(Phase 1)
| 指標 | 現状値 | 目標値(Phase 2) |
|---|
| Precision@5 | 0.60 | 0.85以上 |
| Recall@20 | 0.70 | 0.85以上 |
| MRR | 0.65 | 0.85以上 |
| Faithfulness | 0.75 | 0.90以上 |
| レイテンシ P95 | 3.5秒 | 5秒以内 |
| 月額コスト | 21万円 | 30万円以内 |
既知の課題
| 課題ID | 内容 | 影響する指標 |
|---|
| P-01 | 曖昧なクエリで関連度の低い結果が返る | Precision |
| P-02 | チケット番号やコード名での検索精度が低い | Recall(キーワード検索) |
| P-03 | 古いドキュメントが上位に来ることがある | Precision |
| P-04 | LLMが検索結果にない情報で回答することがある | Faithfulness |
| P-05 | 複数のドキュメントを横断する質問に回答できない | 複合的 |
Mission 1: 最適化手法の選定
要件
既知の課題に対して、以下を設計してください。
- 各課題に対する最適化手法の選定
- 各手法の精度向上効果の見積もり
- 各手法のレイテンシ・コストへの影響
- 手法の優先順位付け(費用対効果順)
解答例
課題と最適化手法のマッピング
| 課題ID | 課題 | 適用手法 | 精度効果(見積もり) | レイテンシ増 | コスト増 |
|---|
| P-01 | 曖昧クエリ | Query Rewriting | Precision +10% | +300ms | +2万円/月 |
| P-02 | キーワード検索 | ハイブリッド検索重み調整(動的alpha) | Recall +15% | +50ms | +0.5万円/月 |
| P-03 | 古いドキュメント | 日付ベースのブースティング + freshness score | Precision +5% | +10ms | 0円 |
| P-04 | ハルシネーション | 軽量版Self-RAG(忠実性チェック) | Faithfulness +15% | +500ms | +3万円/月 |
| P-05 | 複合質問 | Multi-Query + ステップ分解 | 全体 +5% | +800ms | +2万円/月 |
優先順位
| 優先度 | 手法 | 理由 |
|---|
| 1 | ハイブリッド検索重み調整 | コスト最小、Recall向上効果が大きい |
| 2 | Query Rewriting | 多くのクエリに効果、実装が容易 |
| 3 | 日付ブースティング | コスト0、即座に適用可能 |
| 4 | 軽量版Self-RAG | Faithfulness改善は信頼性に直結 |
| 5 | Multi-Query | 複合質問は件数が少なく、費用対効果は低め |
効果の積み上げ
| フェーズ | 適用手法 | Precision@5 | Recall@20 | MRR | Faithfulness | レイテンシ | コスト |
|---|
| 現状 | ベースライン | 0.60 | 0.70 | 0.65 | 0.75 | 3.5s | 21万 |
| +手法1 | 重み調整 | 0.63 | 0.82 | 0.70 | 0.75 | 3.55s | 21.5万 |
| +手法2 | Query Rewriting | 0.72 | 0.85 | 0.78 | 0.76 | 3.85s | 23.5万 |
| +手法3 | 日付ブースティング | 0.76 | 0.85 | 0.82 | 0.76 | 3.86s | 23.5万 |
| +手法4 | 軽量Self-RAG | 0.78 | 0.85 | 0.84 | 0.90 | 4.36s | 26.5万 |
| +手法5 | Multi-Query | 0.85 | 0.88 | 0.88 | 0.91 | 4.8s | 28.5万 |
→ 目標(Precision 0.85, Faithfulness 0.90)をレイテンシ5秒以内、コスト30万円以内で達成。
Mission 2: A/Bテスト計画
要件
最適化手法の効果を検証するためのA/Bテスト計画を設計してください。
- 評価データセットの設計(テスト質問100件)
- 評価指標の定義
- A/Bテストの実施計画
- 成功基準の定義
解答例
評価データセット
| カテゴリ | 件数 | クエリ例 |
|---|
| 意味的クエリ(一般) | 30件 | 「RAGの検索精度を上げるには?」 |
| キーワード的クエリ | 20件 | 「ECS-2847のステータス」 |
| 曖昧なクエリ | 15件 | 「最近のインフラ変更って何?」 |
| 複合的なクエリ | 15件 | 「AチームのPRが原因の障害の経緯」 |
| フィルタが必要なクエリ | 10件 | 「開発部の先月の議事録」 |
| 回答不可能なクエリ | 10件 | 「来年の売上予測」(社内文書に情報なし) |
A/Bテスト計画
| テスト | A群(対照) | B群(実験) | 期間 | 対象ユーザー |
|---|
| Test 1 | ベースライン | + 重み調整 + Query Rewriting | 1週間 | 50%ランダム |
| Test 2 | Test 1のB群 | + 日付ブースティング + Self-RAG | 1週間 | 50%ランダム |
成功基準
| 指標 | 基準 | 判定方法 |
|---|
| Precision@5 | B群がA群より10%以上向上 | 評価データセットで自動計測 |
| ユーザー満足度 | B群のThumbsUp率がA群より5%以上向上 | ユーザーフィードバック |
| レイテンシ | P95が5秒以内を維持 | パフォーマンスモニタリング |
Mission 3: クエリ分析とルーティング設計
要件
クエリの特性を自動判定し、最適な検索戦略にルーティングする仕組みを設計してください。
- クエリ分類の定義(3〜5カテゴリ)
- 分類ごとの検索戦略
- ルーティングの実装方法
解答例
クエリ分類
| カテゴリ | 特徴 | 判定基準 | 検索戦略 |
|---|
| 事実検索 | 「Xとは何か」「Xの手順」 | 質問形式、具体的なキーワード | 標準RAG(ベクトル検索主体) |
| ID/コード検索 | チケット番号、型番 | 正規表現マッチ | BM25主体(alpha=0.2) |
| 時系列検索 | 「先月の」「最近の」 | 時間表現を含む | 日付フィルタ + ベクトル検索 |
| 複合質問 | 「AとBの関係」「原因の経緯」 | 複数の主語/目的語 | Multi-Query + Multi-hop |
| 比較質問 | 「AとBの違い」 | 比較表現を含む | Multi-Query(A用、B用) |
ルーティング実装
Query Router:
ユーザーのクエリ
↓
[Step 1: ルールベース判定]
├── 正規表現で ID/コードを検出 → ID/コード検索
├── 時間表現を検出 → 時系列検索
└── マッチしない → Step 2へ
↓
[Step 2: LLM分類]
├── LLM(Haiku)でカテゴリ判定
└── JSON出力: {"category": "事実検索", "confidence": 0.9}
↓
[Step 3: 検索戦略の適用]
カテゴリに応じたパラメータセットで検索実行
達成度チェック
| 観点 | 達成基準 |
|---|
| 手法選定 | 各課題に対して適切な最適化手法が選定されている |
| 効果見積もり | 精度向上、レイテンシ、コストの見積もりが具体的 |
| 優先順位 | 費用対効果に基づいた合理的な優先順位付けがされている |
| A/Bテスト | 評価データセット、成功基準が定義されている |
| ルーティング | クエリ特性に応じた検索戦略の使い分けが設計されている |
| 制約遵守 | レイテンシ5秒以内、コスト30万円以内の制約を満たしている |
推定所要時間: 90分