受験時に対策で自分用に作っていたメモを記事にして公開することにしました。
特にプロンプトエンジニアリングの整理が受験しない人でも業務で使えそうだったので共有します。
AIFでのプロンプトの整理:4つの要素
AIF試験ではプロンプトを4つの要素に分けて整理しています。
① 指示(Instruction)
モデルに何をさせるかを書く部分です。
❌ 「この文章をなんとかして」
✅ 「以下の文章を3行で要約し、箇条書きで出力してください」
② 入力データ(Input Data)
AIに処理してほしい対象の情報です。
「以下の会議メモを要約してください。\n\n[会議メモの内容]」
[会議メモの内容] の部分が入力データで、コードでいう引数の値そのもの。
③ 出力インジケータ(Output Indicator)
どんな形式・構造で返してほしいかを指定します。
「JSON形式で出力してください。キーは
summary、action_items、deadlineを含めること」
後段のコードでパースする必要があるとき、ここを省略するとフォーマットがバラバラになりがちです。
④ コンテキスト(Context)
モデルがタスクをこなす上で必要な背景情報や前提条件です。
「あなたは社内の新人向けに技術解説を書くエンジニアです。専門用語は使わず、具体例を交えてください」
ロールを与えたり、制約条件を伝えたりする部分がここに当たります。
⚠️ 「コンテキスト」と「コンテキストウィンドウ」は別物
| 用語 | 意味 |
|---|---|
| コンテキスト | プロンプトに含める背景情報・前提条件 |
| コンテキストウィンドウ | モデルが一度に扱えるトークン(文字・単語)の最大数 |
コンテキストウィンドウを超える量を渡すと、モデルは古い情報から順に「忘れ」始めます。
プロンプトのテクニック
試験範囲にも含まれていて、実務でもそのまま使えるテクニックが3つあります。
Zero-shot
例を一切与えずに指示だけで動かすパターン。
次の文章の感情を「ポジティブ」「ネガティブ」「中立」で分類してください。
文章:「今日の会議はとても有意義でした」
Few-shot
例を2〜5件見せてから本番を実行させるパターン。出力形式や判断基準を揃えたいときに使います。
以下のルールで分類してください。
例1)入力:「バグが多くて最悪」 → ネガティブ
例2)入力:「機能は普通」 → 中立
例3)入力:「レスポンスが速くて使いやすい」 → ポジティブ
入力:「ドキュメントが充実していて助かる」 →
Chain-of-Thought(思考連鎖)
「ステップバイステップで考えてください」と付けるだけで、複雑な推論の精度が上がります。
以下の問題を解いてください。途中の思考過程も示してください。
モデルに中間の推論ステップを出力させることで、最終回答の精度が向上するという仕組みです。数学・論理・多段階の判断が必要なタスクで効果が出やすいとされています。
AWSとの接続(Amazon Bedrock)
Bedrockにはプロンプト管理機能があって、チームで共通のプロンプトテンプレートを作成・保存・バージョン管理できます。プロンプト自体をアセットとして管理する考え方です。
また、同じプロンプトを繰り返し使う場合はプロンプトキャッシングでレイテンシとコストを下げることもできます。
AIF試験で押さえておきたいポイント
- コンテキスト ≠ コンテキストウィンドウ(混同しやすい)
- Zero-shot / Few-shot / Chain-of-Thoughtの使い分け
- 出力インジケータを省略すると後段のシステム連携で問題が起きやすい
- プロンプトを4要素(指示・入力データ・出力インジケータ・コンテキスト)に分解して考えると、「なんか思った通りに動かない」の原因が特定しやすくなります。