プロンプトエンジニアリングの手法とは?
プロンプトエンジニアリングとは、大規模言語モデル(LLM)に対して望ましい出力を得るために、入力文(プロンプト)を意図的に設計する技術です。単に質問を投げるのではなく、モデルの推論能力や応答傾向を理解したうえでプロンプトを構築することで、出力の正確性・一貫性・実用性を高めることができます。
この技術は、自然言語処理、生成AI、検索、教育支援など多くの分野で応用されており、プロンプトの設計次第でLLMの性能を大きく左右します。特に、タスクの目的や対象読者に応じて適切なスタイル・構成・語調を選ぶことが、質の高い出力を引き出す鍵となります。
Zero-shot Prompting
Zero-shotは例や補助文脈を一切与えず、モデルに直接タスクを指示する手法です。モデルの一般知識に基づく出力が得られますが、説明のスタイルや複雑度にはばらつきが出ることがあります。
プロンプト:
重力とは何かを小学生にも分かるように説明してください。
出力結果(例):
重力は、地球がものを下に引っぱる力です。
ボールが落ちたり、人が地面に立てるのは重力のおかげです。
地球のどこにいても、重力はいつも働いています。
Few-shot Prompting
Few-shotは、同じ形式の入出力例をあらかじめ複数提示することで、モデルに望ましい出力スタイルや語調を学習させる手法です。出力の一貫性が高まりやすくなります。
プロンプト:
Q: 電気とは何かを小学生にも分かるように説明してください。
A: 電気は、電線を通ってエネルギーを運ぶもので、テレビや冷蔵庫を動かす力になるんだよ。
Q: 雲はどうやってできるのかを小学生にも分かるように説明してください。
A: 雲は、水が空にのぼって冷えて、小さな水のつぶになって集まったものなんだ。
Q: 重力とは何かを小学生にも分かるように説明してください。
出力結果(例):
A: 重力は、地球がものを下に引っぱる力で、ボールが落ちたり、人が地面に立っていられるのはこの力のおかげなんだよ。
Role-based Prompting
Role-based Promptingは、モデルに「誰として答えるか(例:小学校の先生、科学者)」を指定することで、文体や語り口を制御する手法です。ユーザー層に応じた表現を引き出すのに有効です。
プロンプト:
あなたは小学校の理科の先生です。
重力について、小学生にも分かるようにやさしく説明してください。
出力結果(例):
みんなが立っていられるのは、重力という力があるからです。
重力は、地球がものを下に引っぱる力のことだよ。
ボールが落ちたり、雨がふったりするのも、ぜんぶ重力のおかげなんだ。
もし重力がなかったら、みんな空にふわふわういてしまうかもしれないね!
Meta Prompting
Meta Promptingは、モデルに出力の「形式」や「スタイル」「制約」など、プロンプト自体の設計意図を明示的に伝えることで、より一貫性のある、意図に沿った応答を引き出す手法です。プロンプトに「どのように答えるか」まで含めることで、自由度の高い出力に対して制御性を持たせることができます。
プロンプトの冒頭にルールや構成、役割などを設定することで、出力の品質を向上させたり、繰り返し使えるテンプレート化を実現したりする場面で有効です。
プロンプト:
あなたは小学校の理科の先生です。
以下のルールに従って、重力について小学生にも分かるように説明してください。
【ルール】
1. 小学生でも理解できるやさしい言葉を使うこと。
2. 説明は「導入→たとえ話→まとめ」の3段階で構成すること。
3. 難しい言葉は使わず、1段落150文字以内におさめること。
出力結果(例):
みんなはジャンプしたことがあるかな?
ジャンプすると体が上にうくけれど、すぐに下におりてくるよね。
これは、地球がぼくたちを下に引っぱっているからなんだ。
この見えない引っぱる力のことを「じゅうりょく」っていうんだよ。
たとえば、りんごを手からはなすとストンと下に落ちるよね。
それもじゅうりょくの力がはたらいているからなんだ。
もしこの力がなかったら、りんごも人もふわふわとんでいってしまって、地面に立っていられないんだよ。
じゅうりょくは、地球がいろんなものを下に引っぱる力のこと。
ぼくたちが歩いたり、ものが落ちたりするのは、ぜんぶじゅうりょくがあるからできることなんだね。
Chain-of-Thought(思考連鎖)
Chain-of-Thoughtは、モデルに対して「説明のプロセス」や「推論のステップ」を出力させることで、より丁寧かつ論理的な応答を促す手法です。複雑な概念を順を追って説明したい場面に適しています。
プロンプト:
重力とは何かを小学生にも分かるように説明してください。
段階を追って、理由も含めて説明してください。
出力結果(例):
① ボールを手からはなすと、どうなる?
→ まっすぐ下に落ちるよね。
② なぜ下に落ちるの?
→ 地球がボールを下に引っぱっているからだよ。
③ この引っぱる力をなんて言う?
→ 「重力(じゅうりょく)」っていうんだ。
④ 人や物が地面にあるのもなぜ?
→ 重力があるから、みんな地面にくっついていられるんだ。
⑤ もし重力がなかったら?
→ 私たちはふわふわ空にういて、地面にいられなくなるよ。
Scratchpad Prompting(下書き型プロンプティング)
Scratchpad Promptingは、モデルに問題を解く過程やメモ(中間ステップ)を逐次的に書かせながら、最終的な回答へと導く手法です。計算問題や論理的な推論、複雑なステップを含むタスクにおいて、思考の流れを明示化することで、より正確な出力を促します。
この手法は、Chain-of-Thoughtと似ていますが、「思考の形式を統一する」よりも、「中間的な記述や試行錯誤」を重視する点が特徴です。
プロンプト:
重力とは何かを小学生にも分かるように説明するために、以下のような下書きを作ってから説明を完成させてください。
[下書き]
・重力はどんな力か?
→
・どんなときに働くか?
→
・なぜ大切なのか?
→
[説明文]
出力結果(例):
[下書き]
・重力はどんな力か?
→ 地球がものを下に引っぱる力
・どんなときに働くか?
→ りんごが木から落ちるときや、ジャンプして地面に戻るとき
・なぜ大切なのか?
→ 重力があるから、ぼくたちは地面に立ったり、物が飛んでいったりしないですんでいる
[説明文]
重力(じゅうりょく)は、地球がものを下に引っぱる力のことです。
たとえば、りんごが木から落ちるのも、ジャンプしてすぐに地面にもどるのも、重力のおかげです。
もし重力がなかったら、ぼくたちは空にうかんでしまって、地面に立つこともできません。
だから、重力はとても大切な力なんです。
Prompt Chaining(プロンプト連鎖)
Prompt Chainingは、複数のプロンプトを段階的に連結して用いることで、複雑なタスクを分解し、精度の高い最終出力を得る手法です。1つのプロンプトで完結させず、出力結果を次の入力として活用しながら、段階的に処理を進めます。
この手法は、タスクの構造が明確であればあるほど効果的であり、思考の明示化、内容の精緻化、複数の観点からの再構成などを行う際に特に有効です。
プロンプト(ステップ1):
重力とは何かについて、小学生にも分かるように、やさしい言葉で3つのポイントに分けて説明してください。
出力(ステップ1の結果):
① 重力は「下に引っぱる力」
重力(じゅうりょく)とは、地球がものを下に引っぱる力のことです。見えないけれど、いつもはたらいているよ。
② 物が落ちるのは重力のせい
りんごが木から落ちたり、ボールをなげても下におちてくるのは、地球の重力が引っぱっているからなんだ。
③ 重力があるからふつうに生活できる
重力があるから、ぼくたちは地面に立っていられるし、物がとんでいったりしないんだよ。とっても大切な力なんだね。
プロンプト(ステップ2):
以下の3つのポイントを使って、導入・本文・まとめの形で、小学生にも分かるように重力について短く説明文を作ってください。
ポイント:
① 重力は「下に引っぱる力」
重力(じゅうりょく)とは、地球がものを下に引っぱる力のことです。見えないけれど、いつもはたらいているよ。
② 物が落ちるのは重力のせい
りんごが木から落ちたり、ボールをなげても下におちてくるのは、地球の重力が引っぱっているからなんだ。
③ 重力があるからふつうに生活できる
重力があるから、ぼくたちは地面に立っていられるし、物がとんでいったりしないんだよ。とっても大切な力なんだね。
出力結果(例):
みんなはジャンプしたとき、どうなるかな?空にういたままずっととんでいくことはなくて、すぐに下におりてくるよね。
これは「重力(じゅうりょく)」という力がはたらいているからなんだ。
重力は、地球がものを下に引っぱる力のことだよ。
たとえば、りんごが木から落ちたり、ボールを上に投げても下に落ちてくるのは、地球の重力が引っぱっているからなんだよ。
重力があるおかげで、ぼくたちは地面に立って歩いたり、走ったりできるし、物がとんでいったりしないんだ。
見えないけれど、重力はとっても大切な力なんだね。
Generated Knowledge Prompting(生成知識補助型プロンプティング)
Generated Knowledge Promptingは、モデル自身がまず必要な背景知識や中間情報を生成し、その知識を活用して最終的な回答を導き出すという二段階のアプローチです。モデルの記憶に依存せず、まず文脈を自動生成してから解答フェーズに進むため、複雑なタスクや多層的な説明が必要な場面で有効です。
この手法は、いわば「モデルによるモデル支援」とも言える形式で、Chain-of-Thoughtと似ていますが、思考プロセスではなく「知識生成」に焦点を当てている点が特徴です。
プロンプト:
ステップ1:重力について小学生にもわかるような簡単な知識を箇条書きで3つ挙げてください。
ステップ2:ステップ1の内容を使って、小学生にも分かるように重力を説明してください。
出力結果(例):
ステップ1:重力について小学生にもわかる簡単な知識(箇条書きで3つ)
1. 重力は、地球がものを下に引っぱる力。
2. ボールが落ちたり、人が地面に立っていられるのは重力のおかげ。
3. 場所によって、重力の強さは少しちがう。
---
ステップ2:ステップ1の内容を使った説明
重力は、地球がものを下に引っぱる力です。
たとえば、ボールを手からはなすと下に落ちるのは、重力があるからです。
私たちがふわふわうかばずに地面に立っていられるのも、この力のおかげです。
じつは、重力の強さは場所によって少しずつちがっていて、山の上や赤道ちかくでは少し弱く、北や南の極地では少し強くなることがあります。
Tree of Thought(思考の木)
Tree of Thought Prompting(ToT)は、Chain‑of‑Thoughtを拡張した高度なプロンプト設計手法で、複雑な問題に対し複数の推論・思考経路を同時に探索し、最適な解答を導き出すための仕組みです。
各「思考(thought)」は中間的な部分解答を表し、それらを木構造として探索します。モデルは候補を生成し、評価し、不要な枝を剪定しながら、探索空間全体の中から最も有望な道筋を進んでいきます。これにより背戻し(バックトラック)や先読みが可能となり、論理的で説得力のある解答を得やすくなります。
プロンプト:
ステップ1:重力についての説明方法を3通り考えてください(小学生にとって分かりやすいもの)。
ステップ2:どの説明が一番分かりやすいか選び、その理由を簡単に書いてください。
ステップ3:選んだ説明を使って、丁寧な解説を書いてください。
出力結果(例):
ステップ1:小学生にとって分かりやすい「重力の説明」3通り
① ボールの例を使う説明
→「ボールを落とすと下に落ちるのは、地球が引っぱっているからだよ。」
② ジャンプの例を使う説明
→「ジャンプしてもすぐに地面にもどるのは、地球が体を引っぱっているからだよ。」
③ 宇宙とのちがいで説明
→「宇宙では重力がないから人がふわふわうくけど、地球には重力があるから地面にいられるんだよ。」
---
ステップ2:一番分かりやすい説明とその理由
選んだ説明:① ボールの例を使う説明
理由:ボールを落とす動きは、子どもたちが実際に何度も見たりやったりしていることで、とてもイメージしやすいからです。
---
ステップ3:選んだ説明を使った丁寧な解説
重力(じゅうりょく)というのは、地球がものを下に引っぱる力のことです。
たとえば、手にもっていたボールをポンと手ばなすと、下に落ちていくよね?
それは、地球がそのボールをグイッと引っぱっているからなんだよ。
この重力があるおかげで、ボールだけじゃなくて、私たち人間も地面に立っていられるんだ。
もし重力がなかったら、みんな空にふわふわういちゃって、歩いたり走ったりできなくなっちゃうかもしれないね。
だから、重力はわたしたちが毎日ふつうに生活できるために、とっても大事な力なんだよ。
Self-Consistency(自己整合性)
Self-Consistencyは、同じプロンプトを複数回実行して得られる多様な思考パターン(主にChain-of-Thoughtを含む)から、もっとも整合的で妥当性の高い回答を選択するアプローチです。単一の応答ではなく、複数の思考経路を通じてモデルに思考させ、集約的に最良の出力を決定します。
これは、単一の出力がハルシネーションや曖昧な推論を含む可能性がある大規模言語モデルにおいて、信頼性の向上を目的とした手法です。
プロンプト:
重力とは何かを小学生にも分かるように説明してください。
理由や例も含めて、分かりやすく教えてください。
出力結果(複数実行例):
【出力1】
重力(じゅうりょく)は、地球がものを下に引っぱる力のことです。
たとえば、りんごが木から落ちたり、ジャンプしてもすぐに地面にもどったりするのは、重力があるからです。
もし重力がなかったら、ぼくたちは空にういてしまって、地面に立つことも歩くこともできません。
だから重力は、とても大事な力です。
【出力2】
重力(じゅうりょく)は、地球がものを下に引っぱる力です。
たとえば、ボールを投げると落ちたり、ジャンプしても下におりてくるのは、重力がはたらいているからです。
重力があるから、ぼくたちは地面に立っていられるし、ものが空にとんでいかずにすんでいます。
【出力3】
重力(じゅうりょく)は、地球が人や物を下に引っぱる力のことです。
たとえば、ボールを上に投げても、すぐに下に落ちてくるのは重力のせいです。
ぼくたちが地面に立っていられるのも、重力があるからです。
もし重力がなかったら、みんなふわふわ空にういてしまいます。
Contrastive Prompting(対照プロンプティング)
Contrastive Promptingは、良いプロンプトと悪いプロンプトのペア(または良い出力と悪い出力のペア)を提示することで、モデルに「何が望ましい応答か」を明示的に学習させる手法です。これにより、モデルは曖昧な問いに対しても文脈的に適切な判断を下しやすくなります。
特に、自然言語における微妙な表現の違い(トーン、正確性、論理性など)を学習させるのに有効であり、好ましい出力を選別する能力(出力選好性)を強化できます。
プロンプト:
以下の2つの説明のうち、小学生にとってより分かりやすいのはどちらかを選び、その理由も述べてください。
【説明1】
重力とは、万有引力によって質量のある物体が他の物体を引き寄せる現象です。
【説明2】
重力は、地球がものを下に引っぱる力のことです。
ジャンプしてもすぐに地面に戻るのは、この力が働いているからです。
出力結果(例):
より分かりやすいのは【説明2】です。
理由:
説明2は、「地球がものを下に引っぱる力」や「ジャンプしてもすぐに地面に戻る」といった、
子どもが日常で経験していることを使って説明しており、イメージしやすいからです。
また、難しい言葉を使わず、やさしい表現で書かれているため、小学生にも理解しやすくなっています。
一方、説明1には「万有引力」「質量」「引き寄せる現象」などの専門用語が含まれており、小学生には少し難しい表現です。
したがって、説明2の方が小学生にとってより適しています。
Inverse Prompting(逆プロンプト設計)
Inverse Promptingは、生成された出力から、元となるプロンプトを逆算・推測する手法です。通常のプロンプティングでは「入力(プロンプト)→ 出力」という順序で処理されますが、Inverse Promptingはその逆で「出力 → 入力」をたどることを目的とします。
この手法は、モデル出力の意図解釈、プロンプト設計の最適化、AIの説明可能性向上などに利用されます。特に、曖昧な出力に対して「どんな指示が与えられたのか?」を特定したり、優れた応答を生み出すプロンプトの再構成に役立ちます。
プロンプト:
重力について、小学生にも分かるように、やさしい言葉とたとえを使って2〜3文で説明してください。
出力結果(例):
重力(じゅうりょく)は、地球がものを下に引っぱる力のことだよ。
たとえば、りんごが木から落ちるのも、ジャンプしてすぐに地面にもどるのも、重力のおかげなんだ。
重力があるから、ぼくたちは地面に立っていられるんだよ。
逆プロンプト:
次の文章は、ある質問に対する答えです。どのような質問だったかを推測してください。
【文章】
重力(じゅうりょく)は、地球がものを下に引っぱる力のことだよ。
たとえば、りんごが木から落ちるのも、ジャンプしてすぐに地面にもどるのも、重力のおかげなんだ。
重力があるから、ぼくたちは地面に立っていられるんだよ。
出力結果(例):
「重力ってなに?」と小学生に聞かれたとき、やさしい言葉とたとえを使って、2〜3文でわかりやすく答えてください。
ReAct(Reasoning + Acting)
ReAct(Reasoning and Acting)は、LLMが思考(Reasoning)と行動(Acting)の両方を交互に行うことで複雑なタスクを解決するプロンプト設計手法です。Chain‑of‑Thought によるステップ順思考だけでなく、必要に応じて外部情報(ウェブ検索やツール)を参照する「行動」を取り入れることで、精度と解釈性の高い行動過程を伴った回答生成が可能となります。
プロンプト:
質問: 重力とは何かを小学生にも分かるように説明してください。
思考:
行動:
観察:
最終回答:
出力結果(例):
質問: 重力とは何かを小学生にも分かるように説明してください。
思考:
小学生には難しい言葉ではなく、身近なものを使って説明すると理解しやすい。
重力は「ものを引っぱる力」であり、「なぜ物が落ちるのか」「なぜ地面に立てるのか」など、日常で感じられる現象に結びつけて説明するのがよい。
行動:
・重力に関する基本的な定義を確認する
・小学生に親しみのある例(りんご、ジャンプ、風船など)を使って例え話を考える
・難しい言葉を使わずに、やさしい言葉でまとめる
観察:
・ものを高いところから落とすと下に落ちる
・ジャンプしても必ず元に戻る
・地球には「重力」という引っぱる力があって、すべてのものを自分の中心に向かって引っぱっている
・宇宙には重力が少ないので、宇宙飛行士はふわふわういている
最終回答:
重力(じゅうりょく)っていうのは、地球がいろんなものを「下に引っぱる力」のことだよ。
たとえば、りんごを手からはなすと下に落ちるよね?それは地球がそのりんごを引っぱっているからなんだ。
ぼくたちがジャンプしても、すぐに地面にもどるのも、地球がぼくたちを引っぱっているから。
この「下に引っぱる力」があるから、ぼくたちは空にうかんでしまわずに、ちゃんと地面の上に立っていられるんだよ。
Information Retriever(情報検索補助)
Information Retrieverは、外部の情報(文書、知識ベース、検索結果など)をプロンプトに組み込むことで、モデルの知識を補完し、事実に基づいた応答を生成させる手法です。このアプローチは、モデルが訓練データに含まない情報を扱う場面や、正確性が特に求められるタスクにおいて有効です。
特にRAG(Retrieval-Augmented Generation)などのシステム構成では、事前に検索・取得したテキストをモデルに提示し、その情報に基づいて回答を生成させることで、ハルシネーション(事実誤認)を抑えることができます。
プロンプト:
以下の参考資料を読んで、小学生にも分かるように重力について説明してください。
【参考資料】
https://www.gsi.go.jp/buturisokuchi/grageo_gravity.html
出力結果(例):
重力は、地球がものを下に引っぱる力のことです。
この力があるから、ボールは落ちるし、人も地面に立っていられます。
重力の強さは場所によって少しちがい、赤道では弱く、北極や南極では強めになります。
また、高い山より海の近くのほうが重力は強くなります。
国土地理院では、こうした重力のちがいをくわしく調べて、地図づくりや地震の研究にいかしています。