Prompt Engineering 2026年4月12日

プロンプトエンジニアリング完全ガイド

Zero-shotからReActまで、主要なプロンプティングテクニックを体系的に解説。2026年のモデル別最適化ポイントや「効く技・死んだ技」の仕分けも網羅します。

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

プロンプトエンジニアリングとは、LLM(大規模言語モデル)から望む出力を得るために、入力(プロンプト)を設計・最適化する技術です。Anthropicの表現を借りれば、「記憶喪失の優秀な新入社員に仕事を頼む」ようなもので、どれだけ明示的に、構造的に指示を伝えられるかが品質を左右します。

2020年のGPT-3登場以降、急速に発展してきたこの分野は、2025〜2026年にかけて大きな転換期を迎えています。推論モデル(o1, DeepSeek-R1等)の登場により「かつて有効だったテクニックが逆効果になる」ケースが増え、モデルの特性を理解した上での技術選定が不可欠になりました。

コンテキストエンジニアリングとの関係

プロンプトエンジニアリングは「1回のプロンプトをどう書くか」に焦点を当てます。一方、コンテキストエンジニアリングは「LLMに渡すコンテキスト全体(システムプロンプト、RAG、メモリ、ツール定義)をどう設計するか」を扱う上位概念です。プロンプトエンジニアリングはコンテキストエンジニアリングの一部であり、両者は補完関係にあります。

基礎テクニック

Zero-shot Prompting

例示なしで直接タスクを指示する最もシンプルな手法です。モデルの事前学習知識のみで推論を行います。

以下のテキストの感情をポジティブ・ネガティブ・ニュートラルに分類してください。

テキスト: 「今日の会議は予想以上に建設的で、新しいアイデアがたくさん出ました。」
分類:

明確で定型的なタスク(要約、翻訳、分類など)に適しています。GPT-3の研究では81.5 F1スコアを達成しており、シンプルなタスクでは十分な精度が出ます。

Few-shot Prompting

3〜5個の入出力例をプロンプトに含めることで、モデルにパターンを学習させる手法です。ゼロショットと比較して約6.9%の精度向上が報告されています(Brown et al., 2020)。

以下のレビューからキーワードを抽出してください。

レビュー: 「バッテリー持ちが良く、カメラも綺麗。ただし重い。」
キーワード: バッテリー, カメラ, 重量

レビュー: 「UIが直感的で使いやすいが、起動が遅い。」
キーワード: UI, 起動速度

レビュー: 「防水性能が高く、アウトドアに最適。価格が少し高め。」
キーワード:

構造化された出力が必要な場合や、特定のフォーマットを守らせたい場合に特に有効です。

Chain-of-Thought(CoT)

「ステップバイステップで考えてください」と指示し、推論過程を可視化させるテクニックです。Wei et al.(2022)の研究で、算術推論タスクにおいて+18%の改善が報告されました。

Q: 駐車場に車が3台あります。さらに2台来ました。その後、1台帰りました。
   残りの車の駐車料金(1台500円)の合計はいくらですか?

A: ステップバイステップで考えます。
1. 最初に3台
2. 2台追加で 3 + 2 = 5台
3. 1台帰って 5 - 1 = 4台
4. 4台 × 500円 = 2,000円
答え: 2,000円

重要な注意点: 推論モデル(o1, DeepSeek-R1, Gemini Flash 2.5等)ではCoT指示が逆効果になることがあります。Wharton大学のPrompting Science Reportによると、これらのモデルにはステップバイステップ推論が組み込まれているため、外部からのCoT指示がパフォーマンスを妨げます。Gemini Flash 2.5では3.3%の性能低下が記録されています。

System Prompt設計

会話全体を通じた永続的な指示セットです。ロール、制約、出力フォーマットをここで定義することで、一貫性のある応答が得られます。

あなたはシニアTypeScriptエンジニアです。
以下のルールに従ってコードレビューを行ってください:
- 型安全性を最優先で確認する
- any型の使用は必ず指摘する
- 改善提案は具体的なコード例付きで示す
- 重要度を「高・中・低」で分類する

2025年以降、各LLMプロバイダーは「プロンプト内の毎回の指示」から「System Prompt / Custom Instructions / API設定への集約」への移行を推進しています。

応用テクニック

ReAct(Reasoning + Acting)

推論(Thought)→ 行動(Action)→ 観察(Observation)のループを繰り返すパラダイムです。LLMが外部ツールを呼び出しながら段階的に問題を解決します。

質問: 2026年の東京の桜の開花日はいつだったか?

Thought: 最新の情報が必要。検索ツールで調べよう。
Action: search("2026年 東京 桜 開花日")
Observation: 2026年3月18日に開花が発表された。

Thought: 情報が得られた。回答をまとめよう。
Answer: 2026年の東京の桜の開花日は3月18日でした。

AIエージェントの基盤技術として、Claude Code、ChatGPTのCode Interpreter、各種エージェントフレームワークで広く採用されています。

Tree of Thoughts(ToT)

複数の推論経路を木構造で並行探索し、行き詰まったらバックトラックする手法です。Yao et al.(NeurIPS 2023)の研究で、「ゲームオブ24」タスクにおいてCoTの4%から74%へと大幅な精度向上が報告されました。

ただし計算コストが高く、2026年の実務ではオフラインの研究用途や高価値タスクに限定的に使われています。多くの本番アプリケーションでは、Self-Consistencyの5サンプル手法で80%の効果を10%のコストで得られるため、そちらが優先されます。

Self-Consistency

同じ問題に対して複数の推論パスを生成し、最も一貫性のある答えを多数決で選択する手法です。GSM8Kベンチマークで+17.9%の改善が報告されています(Wang et al., 2022)。

# 同じ質問を温度を上げて5回生成し、最多回答を採用する
prompt = "987 × 23 の答えは?ステップバイステップで計算してください。"
# → 5回中4回が「22,701」→ 最終回答: 22,701

Prompt Chaining

複雑なタスクを複数の段階に分割し、各ステップの出力を次の入力として連鎖させる手法です。ハルシネーションの削減と+10〜30%の精度改善が報告されています。

# ステップ1: 要件を整理
「以下の要件を箇条書きで整理してください: {ユーザーの要望}」

# ステップ2: 設計に変換
「以下の要件リストに基づいてDB設計を行ってください: {ステップ1の出力}」

# ステップ3: コード生成
「以下のDB設計に基づいてマイグレーションファイルを生成してください: {ステップ2の出力}」

Role Prompting(ペルソナ設定)

モデルに特定の専門家としての役割を割り当てる手法です。トークンコストを増やさずに、語彙の適切さと回答の深さが向上します。医療分野での研究では、ロールベースプロンプトで35%のエラー減少が確認されています。

あなたは10年の経験を持つセキュリティエンジニアです。
OWASPのベストプラクティスに基づいて、以下のコードの脆弱性を評価してください。

モデル別の最適化ポイント

Claude向け

  • XMLタグの活用: 複雑な入力の構造化にXMLタグが最も効果的
  • 肯定形での指示: 「〜しないで」より「〜してください」が効果的。否定形は逆心理効果を生む
  • Extended Thinking: Claude 4以降は内蔵の思考機能があるため、外部CoT指示よりthinkingパラメータの活用が推奨
  • Prefillの廃止: Claude 3.xで有効だったアシスタント応答のPrefillは、Claude 4以降では400エラー。構造化出力機能への移行が必要

ChatGPT(GPT-4.1)向け

  • Markdown見出しの活用: 構造化にはMarkdown形式が最推奨
  • 推論モデルとの使い分け: o1/o3ではCoT指示を避け、ゼロショットを優先
  • Structured Outputs: JSON出力はプロンプト指示ではなくAPI機能(response_format)で制御
  • 長文コンテキスト: JSON形式は長文ドキュメント入力で性能が低下。XMLやMarkdownを推奨

Gemini向け

  • XMLタグの公式推奨: Claudeと同様にXMLタグでの構造化が推奨
  • temperatureの維持: Gemini 3ではデフォルト1.0からの変更が強く非推奨(ループや性能劣化の原因)
  • thinking_level設定: 複雑なプロンプトエンジニアリングより、thinking_levelパラメータでの制御がシンプルかつ効果的

カリキュラム構成案

初級(プロンプトを初めて書く人向け)

  1. プロンプトの5つの黄金要素(役割・文脈・タスク・制約・出力形式)
  2. Zero-shot / Few-shot の使い分け
  3. 出力フォーマットの指定方法
  4. よくある失敗パターンの回避

中級(業務活用レベル)

  1. Chain-of-Thought とその適用判断
  2. System Prompt の設計パターン
  3. Prompt Chaining によるワークフロー構築
  4. モデル別の最適化テクニック

上級(エージェント・システム設計レベル)

  1. ReAct パターンの実装
  2. Self-Consistency / Tree of Thoughts の適用判断
  3. 推論モデル vs 通常モデルでの戦略切り替え
  4. プロンプトからAPIパラメータ・ハーネスへの移行設計

よくある失敗パターンと対処法

失敗パターン原因対処法
出力が毎回ブレる指示が曖昧で解釈の余地がある制約と出力フォーマットを明示する
推論モデルで精度低下不要なCoT指示が内蔵推論と衝突ゼロショットに切り替える
長文で指示が無視されるコンテキスト内で指示が埋もれるXMLタグで構造化し、重要指示を先頭に配置
「〜するな」が守られない否定形指示の逆心理効果肯定形で「代わりに〜する」と指示
感情的プロンプトが効かない2025年以降のモデルでは効果消失具体的・論理的な指示に置き換える
JSON出力が壊れるプロンプト指示だけでは制御不十分API機能(Structured Outputs)を使用

参考リンク集