使い方・開発 初級
プロンプトエンジニアリング
Prompt Engineering
AIから望む結果を得るために、指示の書き方や与える情報、出力形式などを工夫して設計することです。コツを押さえるだけで、同じAIでも回答の質が大きく変わる、AI活用の基本の技術です。
別の呼び方プロンプト設計、プロンプト技法
例役割・背景・出力形式を分けて書き直したところ、要約の抜け漏れが減った。
詳しく
プロンプトエンジニアリングは、AIに入力する指示(プロンプト)を工夫して、望む出力を安定して得るための技術です。AIの内部を変えるのではなく、使い方の側を磨くという位置づけです。
なぜ必要か
LLM は、入力された文章の続きとして答えを作ります。同じ質問でも、書き方が違えば答えも変わります。人間の新入社員に仕事を頼むとき、目的や条件を伝えるほど期待に近い成果物が返ってくるのと同じで、AIも情報が足りなければ推測で埋めます。その推測がずれることが、「使えない」という印象の主な原因です。
基本の考え方
- 目的と背景を書く:何のために、誰向けの文章かを伝える。
- 役割や前提を与える:「経理担当者として」のように、視点を示す。
- 制約を明示する:文字数、口調、含めてはいけない内容など。
- 出力形式を指定する:箇条書き、表、JSON など。
- 見本を示す:フューショットで、期待する出力の例を添える。
- 段階に分ける:複雑な作業は、手順を分けて頼む。必要なら「根拠を示してから結論を出して」と促す。
- わからないときは聞き返させる:不足情報を推測させず、質問させる。
具体例
「この資料を要約して」より、次のほうが安定します。
経営会議向けに、下の資料を300字以内で要約してください。結論を最初に書き、懸念点を最後に1つ挙げてください。
目的、読者、字数、構成が指定されているからです。
使うときの注意・よくある誤解
- 魔法の呪文はない:「深呼吸して」「あなたは世界一の専門家です」のような言い回しの効果は、モデルや課題で異なり、保証されません。明確さと具体性のほうが、ほとんどの場合で効きます。
- モデルが変わると効果も変わる:ある版で効いた書き方が、新しいモデルでは不要または逆効果になることがあります。
- 試して直す:一度で完成させず、評価用の入力を用意して、書き換えのたびに結果を比べます。この作業を自動化する評価の仕組みが、evals です。
- 重要な判断をAIの出力だけで済ませない。
関連する考え方
最近は、プロンプト文そのものより、検索結果、ツールの出力、会話履歴など、モデルに渡す情報全体を設計するコンテキストエンジニアリングという見方も広がっています。プロンプトは、その一部と位置づけられます。
あわせて知りたい言葉
- プロンプトAIに与える指示や入力の文章のことです。何をしてほしいか、前提条件、出力の形式などを具体的に書くほど、期待に近い結果が得られやすくなります。ツールにより使い方は異なります。
- フューショットプロンプトAIへの指示に、望む入出力の見本を数個添えて、やり方を伝える方法です。長い説明を書かなくても、書式や口調、判断基準が伝わりやすくなる、手軽で効果的な工夫です。例の選び方が重要です。
- ゼロショット見本を一切示さず、指示だけでAIにタスクをやらせる使い方です。大規模なモデルは事前学習で幅広い知識を持つため、短い指示だけでも多くの作業をこなせます。まず試す際の基本の使い方です。
- システムプロンプト会話全体を通じてAIの役割・口調・守るべきルールを決めるために、ユーザーの発言とは別に与える指示です。アプリ開発者が API で設定するのが一般的で、利用者には通常見えません。
- コンテキストエンジニアリングモデルに渡す情報全体(指示、会話履歴、検索結果、ツールの定義や結果、記憶など)を、何をどれだけ・どの順で入れるかまで設計することです。とくに長い作業を続けるエージェントで重要になります。