本記事では、LLM(大規模言語モデル)を業務で活用する際に精度と再現性を高めるためのプロンプトエンジニアリング実践テクニックを解説します。代表的な手法であるFew-shotプロンプティング、Chain-of-Thought(CoT)、System Promptの設計パターンを取り上げ、それぞれの具体的な実装例と注意点を紹介します。プロンプト設計はモデルの出力品質を左右する重要な要素であり、開発者やプロダクトマネージャーが押さえておくべき基礎から応用まで整理しました。

プロンプトエンジニアリングとは

プロンプトエンジニアリングとは、LLMに対する入力(プロンプト)を工夫することで、モデルの推論精度や出力の一貫性を向上させる技術です。モデル自体をファインチューニングせずとも、指示の与え方や例示の工夫だけで出力品質を大きく改善できるため、実務では最初に検討すべきアプローチとなっています。

Few-shotプロンプティングの設計パターン

Few-shotプロンプティングは、タスクの入出力例をいくつか提示してからモデルに実際の入力を渡す手法です。ゼロショットでは出力形式が安定しない場合でも、Few-shotによって期待するフォーマットや粒度をモデルに学習させることができます。

基本パターン

以下の例に従って、入力文の感情を「positive」「negative」「neutral」で分類してください。

入力: この製品は最高です!
出力: positive

入力: 対応が遅くてがっかりしました。
出力: negative

入力: 明日は会議があります。
出力: neutral

入力: {ユーザー入力}
出力:

設計のポイント

Few-shotは「タスクの説明」よりも「模範解答の提示」に近く、特に分類・変換・抽出タスクで効果を発揮します。

Chain-of-Thought(CoT)による推論精度の向上

Chain-of-Thoughtは、モデルに最終的な答えだけでなく、途中の思考過程を段階的に出力させる手法です。数学的推論や複雑な条件分岐を伴うタスクにおいて、直接回答を求めるより正解率が向上することが多数報告されています。

ゼロショットCoT

次の問題を解いてください。ステップごとに考えてから、最後に答えを出してください。

問題: あるショップで定価1000円の商品が20%引きで販売されている。
さらにクーポンで100円引きになる場合、支払金額はいくらか。

プロンプト末尾に「ステップごとに考えてから」「順を追って説明してください」といった一文を加えるだけで、モデルは中間の計算過程を出力しやすくなります。

Few-shot CoTの組み合わせ

Few-shotとCoTを組み合わせることで、推論過程のフォーマットも安定させられます。例題に「思考過程+答え」のペアを与えることで、モデルは同様の構造で新しい問題にも回答するようになります。

運用上の注意点

System Promptの設計パターン

System Promptは会話全体を通じてモデルの振る舞いを規定する役割を持ちます。ユーザーからの個別の指示よりも優先度が高く扱われることが多く、プロダクトの品質・安全性を担保する上で中心的な役割を果たします。

基本構成要素

実装例

あなたはカスタマーサポート担当のAIアシスタントです。
以下のルールに従って回答してください。

- 常に丁寧で簡潔な日本語で回答する
- 製品仕様に関する質問には、提供されたFAQの範囲内でのみ回答する
- FAQに情報がない場合は「担当者に確認します」と回答する
- 回答は3文以内にまとめる

設計のポイント

実践における組み合わせ戦略

実際のプロダクト開発では、System Promptで全体方針を定め、タスクごとにFew-shotで出力形式を固定し、複雑な判断が必要な箇所ではCoTを併用するという多層的な設計が有効です。それぞれの手法はトークンコストやレイテンシに影響するため、タスクの重要度に応じて適用範囲を調整することが求められます。

まとめ

プロンプトエンジニアリングは、モデルの追加学習なしに出力品質を改善できる即効性の高い手法です。Few-shotで出力の一貫性を担保し、Chain-of-Thoughtで推論精度を向上させ、System Promptで全体の振る舞いを制御する。この3つのパターンを目的に応じて組み合わせることが、実務でLLMを安定運用するための鍵となります。