Databricks Certified Generative AI Engineer Associate 教科書
第1章 生成AIアプリケーション設計(Design Applications, 14%)
🎯 この節の学習目標
生成AIアプリケーション開発の出発点は、モデル選びでもプロンプト書きでもなく、ビジネス要件をAIが実行可能なタスクの列に分解することです。試験でも第1セクション「Design Applications」の中心テーマであり、次のような形で問われます。
ビジネス側の要望は「顧客対応を効率化したい」「社内文書を活用したい」のように抽象的です。これをそのままLLMに投げても、期待する品質・形式の出力は得られません。分解とは、あいまいな要望を次の3点に落とし込む作業です。
分解の道具として、まず「LLMが得意とする代表的なタスクタイプ」を頭に入れます。要件を読んだら、この語彙で言い換えられないかを考えるのが分解の第一歩です。
| タスクタイプ | 内容 | ビジネス要件での言い回しの例 |
|---|---|---|
| 要約(Summarization) | 長いテキストを短くまとめる | 「会議録を1枚にまとめたい」「問い合わせ内容を一目で把握したい」 |
| 分類(Classification) | テキストにラベルを付ける | 「問い合わせを担当部署に振り分けたい」「レビューがポジティブか知りたい」 |
| 抽出(Extraction / NER) | テキストから構造化データを取り出す | 「契約書から金額と期日を取り出したい」「履歴書からスキルを一覧化したい」 |
| 質問応答(QA) | 質問に対して回答を返す | 「社内規程について質問に答えるボットが欲しい」 |
| 生成(Generation) | 新しいテキストを作る | 「商品説明文を自動で書きたい」「返信メールの下書きが欲しい」 |
| 書き換え(Transformation) | 文体変換・翻訳・整形 | 「専門用語を平易にしたい」「英語の問い合わせに日本語で対応したい」 |
| コード生成 | 自然言語からコード・SQLを作る | 「営業担当が自然言語でデータを検索できるようにしたい」 |
📝 試験のポイント
試験では「ビジネス要件 → 適切なモデルタスクの選択」という対応付けが直接問われます(公式試験ガイドの目標 “Select model tasks to accomplish a given business requirement”)。上の表の対応付けを、日本語・英語どちらの言い回しでも即座に判断できるようにしておきましょう。
「顧客対応を効率化したい」なら、効率化の実体を確認します。誰が(サポート担当者?顧客自身?)、何を受け取り(回答案?FAQへの誘導?)、どう使うのか(そのまま送信?編集して送信?)。この確認だけで、必要な出力形式と品質基準が大きく変わります。
試験ガイドの目標 “Translate business use case goals into a description of the desired inputs and outputs for the AI pipeline” に対応する中核ステップです。例:
入力:顧客からの問い合わせメール本文(日本語、平均300字、製品名を含むことが多い)
出力:①問い合わせカテゴリ(「返品」「故障」「請求」「その他」のいずれか)、②担当者向けの回答草案(丁寧語、社内ナレッジベースの記事を根拠として引用)
出力側から「これを作るには直前に何が必要か」を逆算すると、抜け漏れなくステージを列挙できます。上の例なら:
洗い出したタスクが1つのプロンプトで確実にこなせるなら単一呼び出しで済ませます(シンプル・低コスト・低レイテンシ)。次のいずれかに当てはまるなら、複数ステージのチェーン(1-5で詳述)に分割します。
💼 ケース1:カスタマーサポート支援ボット
要望:「サポートチームの返信作成を速くしたい」
分解結果:
入力:問い合わせ本文/出力:カテゴリ + 根拠付き回答草案。担当者が編集して送信する運用なので、多少の生成ミスは許容されるが引用元の明示が必須。
💼 ケース2:契約書レビューの一次スクリーニング
要望:「法務のレビュー負荷を下げたい」
分解結果:
ポイント:「抽出はJSONで厳密に」「要約は自然文で」と性質が異なるため、1プロンプトに同居させずステージを分けるのが定石。法務判断そのものはAIに任せず、人間のレビューを前提とした出力設計にする。
ここで決めた内容は、この後の章の判断の入力になります。分解が甘いと後工程がすべてブレるため、試験でも「最初にやるべきことは要件の明確化・入出力の定義」という趣旨の選択肢が正解になりやすいことを覚えておいてください。
| 分解で決まること | 影響する後続の設計判断 |
|---|---|
| タスクの複雑さ | モデル選定(1-2):小型で足りるか、大型が必要か |
| 外部知識の要否 | RAG/ファインチューニング/プロンプトのみの選択(1-6) |
| ステージ数と順序 | チェーン設計(1-5)、LangChainでの実装(3-1) |
| 出力形式の厳密さ | プロンプト設計(1-3)、出力パーサーやガードレール(3-6) |
| 入力データの種類 | データ準備・チャンキング戦略(第2章) |
✅ この節のまとめ
問1. 小売企業が「顧客レビューを活用して製品改善のインサイトを得たい」と考えている。生成AIエンジニアが最初に行うべきことはどれか。
正解:B
設計の出発点は常に「要件 → 入出力の定義 → タスク分解」です。モデル選定(A)、ファインチューニング(C)、インデックス構築(D)はいずれも、入出力とタスクが定義された後に行う判断です。試験では「まず要件と入出力を明確にする」タイプの選択肢が正解になるパターンがよく問われます。
問2. 「問い合わせメールを内容に応じて適切な部署に自動で振り分けたい」という要件は、どのモデルタスクに最も対応するか。
正解:B
「振り分ける」「ルーティングする」「カテゴリ分けする」という言い回しは分類タスクの典型シグナルです。出力は自由文ではなく、あらかじめ定義された部署ラベルの1つになります。
問3. 「社内規程PDFに基づいて従業員の質問に回答し、根拠となる規程の箇所も示すボット」を設計する。パイプラインの構成要素として最も適切な順序はどれか。
正解:B
外部知識(社内規程)に基づく根拠付きQAは、検索 → 拡張生成(RAG)パターンの典型です。Aは生成後に照合しており根拠の担保が困難、Cは文書が大きいとコンテキスト長とコストの面で非現実的、Dはそもそも要件(質問応答)を満たしません。
問4. 契約書から「金額・期日を厳密なJSONで抽出する」処理と「経営層向けの自然文サマリーを書く」処理を1つのアプリで提供したい。設計として最も適切なのはどれか。
正解:B
「厳密な構造化出力」と「自然な文章生成」は要求される出力特性が大きく異なり、1プロンプトに同居させると指示が競合して品質が下がります。性質の異なるタスクはステージ分割が定石です。Dのファインチューニングは、プロンプト設計で十分達成できるタスクに対しては過剰投資です(1-6で詳述)。