Databricks Certified Generative AI Engineer Associate 教科書
第1章 生成AIアプリケーション設計(Design Applications, 14%)
🎯 この節の学習目標
チェーン(Chain)とは、生成AIアプリケーションを構成する複数のコンポーネントを連結したパイプラインです。1回のLLM呼び出しで完結しない処理を、部品の直列・分岐の組み合わせとして設計します。主な部品は次のとおりです。
| コンポーネント | 役割 |
|---|---|
| プロンプトテンプレート | 入力変数を差し込んでプロンプトを組み立てる(1-4) |
| LLM | 推論・生成を実行する。ステージごとに異なるモデルでよい(1-2) |
| リトリーバー(検索) | Databricks AI Search(旧 Vector Search) などで外部知識から関連文書を取得する |
| パーサー | LLM出力を構造化データ(JSONなど)に変換・検証する |
| ツール | 外部API呼び出し、計算、データベース照会などLLM以外の処理 |
1-1で行った「要件→タスク分解」の結果を、実行可能な部品の列に落とし込んだものがチェーンです。試験ガイドの目標「望ましい入出力に合わせて適切なチェーンコンポーネントを選ぶ」「マルチステージ推論に必要なツールを定義し順序付ける」は、まさにこの設計作業を指しています。
RAGアプリの基本形です。
まず入力を分類し、結果に応じて後段の処理を切り替えるパターンです。例:問い合わせを「技術質問/請求質問/雑談」に分類し、技術質問は技術文書のRAGへ、請求質問は請求システム照会へ、雑談は軽量モデルの直接応答へ振り分ける。段ごとに専用のプロンプト・データソース・モデルを使えるため、単一の巨大プロンプトより品質と効率が上がります。
コンテキストウィンドウに収まらない長文を扱うパターンです。文書をチャンクに分割し、チャンクごとに要約 → 部分要約を統合してさらに要約、と段階的に圧縮します。「検索では拾いきれない文書全体の総括が必要」な場合に、RAGではなくこちらを使います。
💼 例:問い合わせ対応チェーンの全体像
「顧客メールに、社内ナレッジを根拠とした返信案を作る」要件のチェーン設計:
順序に注意してください。検索は生成の前(根拠を文脈に入れるため)、検証は生成の後(出力を確かめるため)です。試験ではこの「正しい順序の選択」がそのまま設問になります。
| 欠点 | 内容 | 対策 |
|---|---|---|
| レイテンシの積み上げ | 各ステージの処理時間が合算される | 各段を小型・高速モデルにする、独立した処理は並列化、不要な段の削減 |
| コストの積み上げ | LLM呼び出し回数が増える | LLMが不要な段はルールベース処理に置き換える、小型モデルの活用 |
| エラー伝播 | 前段の誤り(誤分類・検索ミス)が後段に波及し、最終出力を壊す | ステージ間の検証、信頼度が低い場合のフォールバック(人間へのエスカレーション等) |
| 複雑性の増加 | 構成要素が増え、管理・デバッグ対象が増える | 要件を満たす最小のステージ数にとどめる。トレーシングで可観測性を確保 |
原則はモデル選定(1-2)と同じで、「要件を満たす最小の構成」です。1回の呼び出しで品質要件を満たせるなら、チェーンにする必要はありません。
本節で学んだのは設計思想です。実装は第3章で扱います。
📝 試験のポイント
試験では「この要件のパイプラインに必要なコンポーネントと順序はどれか」という並べ替え型の設問がよく問われます。鉄則は3つ:(1)検索(retrieval)は生成の前、(2)検証・ガードレールは生成の後(または各ステージ間)、(3)分類でルーティングするなら分類は分岐の前。また「単純なタスクに多段チェーンを組む」選択肢は過剰設計として誤答になります。
✅ この節のまとめ
問1. 「社内規程に基づいて質問に答え、回答前に機密情報が含まれていないか確認する」チェーンを設計する。コンポーネントの順序として最も適切なのはどれか。
正解:B
検索は生成の前(検索結果を根拠として文脈に入れるため)、出力の検証は生成の後(生成された回答を確かめるため)という2つの鉄則どおりの順序はBだけです。A・Dは生成後に検索しており根拠を文脈に使えません。Cは存在しない出力を先にチェックしようとしており成立しません。
問2. 問い合わせボットで、技術的な質問には技術文書のRAGを、料金の質問には料金データベースの照会を使いたい。この分岐を実現するチェーン設計として最も適切なのはどれか。
正解:B
入力の種類によって後段処理を切り替える要件は、分類→ルーティングのパターンそのものです。Aは毎回両方を照会するため不要なコスト・レイテンシが発生し、無関係な文脈が品質を下げる恐れもあります。Cはユーザー体験を損ない、そもそも分類はLLMが得意とするタスクです。Dは要件を満たしません。
問3. マルチステージチェーンの導入を検討する際の説明として、最も適切なのはどれか。
正解:B
マルチステージの利点(段ごとの最適化・途中検証・デバッグ容易性)と欠点(レイテンシ・コスト積み上げ、エラー伝播)を正しくまとめたのはBです。Aは過剰分割でコスト・複雑性が増すだけです。Cは逆で、呼び出し回数は通常増えます。Dも逆で、途中にガードレールを挿入できるのはチェーンの利点です。
問4. 500ページの年次報告書の「全体を通した総括サマリー」を作りたい。文書はモデルのコンテキストウィンドウに収まらない。最も適切なアプローチはどれか。
正解:B
「文書全体の総括」が必要な場合は、逐次要約(分割要約→統合)が適切です。Aの検索ベースの手法は特定の質問に関連する部分を拾うのには向きますが、上位数チャンクでは全体の網羅ができません。Cは大部分の情報を捨ててしまいます。Dのファインチューニングは知識の注入に不向きで、1文書の要約のためには過剰かつ不確実です(1-6で詳述)。