大きく4つに分類できます
①プロンプト作成時は、簡潔で明確に書いて混乱を避ける。
②モデルが理解できるように、キーワード・文脈など必要な情報を提供する。
③やってほしい作業を命令形や質問形ではっきり示す。
④複雑な作業は、例(サンプル)を提示してモデルが形式を学べるようにする。
下表の概念を適宜組み合わせて使用してみてください。
1. プロンプトの構造と明確性
原則番号 | キーコンセプト | 説明 | 例(日本語) |
---|---|---|---|
#2 | 対象読者(Audience)の明示 | 回答のレベルや難易度を調整するため、専門家・子供など対象を具体的に設定する | 私を量子コンピューティングの専門家だと仮定して、詳しく説明してください。 |
#4 | 肯定的な指示(Affirmative Directive) | 「Don’t」ではなく「Do」のように肯定的な表現で行動を明確に指示する | 必ずステップごとの解説を含めてください。 |
#12 | リーディングワード("think step by step") | 論理展開を段階的に進めるようモデルを誘導する | 一つ一つのステップに分けて考え、その理由を説明してください。 |
#20 | 出力の構造提示(Output Primer) | 出力の冒頭や構造をあらかじめ提示して、モデルがそれに沿った形式を出力するようにする | 回答の最後には「最終結論:」という言葉から始めてください。 |
#8 | フォーマットの区分 | 「#指示」「#例」「#質問」などで区切り、混乱を避ける | #指示:ここにタスクの説明を記述します/#例:サンプルを提示/#質問:質問を記入 |
2.具体性と情報提供
原則番号 | キーコンセプト | 説明 | 例(日本語) |
---|---|---|---|
#7 | 例示を使う(Few-shot Prompting) | モデルに出力形式を学習させるためにサンプルを提示する | (例)「質問:こんにちは? → 回答:こんにちは!」のような例を数個提示し、その形式で回答させてください。 |
#5 | わかりやすい説明(Explain simply) | 「Explain like I’m 5~11」など、難易度を下げて簡単に伝える | 5歳児に話すように、Pythonのリストを簡単な例を交えて説明してください。 |
#26 | トーン・スタイルの模倣 | 指定した文体やトーンを保ったまま出力を生成する | 以下の段落と同じ文体で書いてください:(例文を提示) |
#24 | 文章の続きを書く | 物語や歌詞の冒頭文を渡し、続きを書かせる | 「昔々あるところに…」という文章の続きとして自然につなげてください。 |
#25 | 明示的な要件提示 | キーワードやルール、項目数などを具体的に指定する | 以下のキーワードを必ず含めてください:「データ」「セキュリティ」「効率」。最後に要約も付けてください。 |
#15 | 教える+確認(Teach & Test) | 解説後にユーザーへ問題を出し、正誤だけを知らせる | ピタゴラスの定理を説明した後、簡単なクイズを出してください。私が答えたら、正しいかどうかだけ教えてください。 |
#21 | 詳細な解説要求("Detailed…") | 文字数制限なく、できる限り詳細な情報を盛り込む | ブロックチェーンの基本について、歴史・原理・活用例を含めて詳しく解説してください。 |
3.ユーザーインタラクション&参加
原則番号 | キーコンセプト | 説明 | 例(日本語) |
---|---|---|---|
#14 | モデルによる再質問の誘導 | 情報が足りない場合、モデルにユーザーへ質問させる | 情報が揃うまで、まずは私に質問してください。情報が集まり次第、最終回答を提示してください。 |
再掲 #21 | 詳細な解説要求 | 質問とやり取りを重ねて、情報豊富な回答を導く | (#21同上)できる限り詳しく記述してください。 |
4.コンテンツのスタイルと表現制御
原則番号 | キーコンセプト | 説明 | 例(日本語) |
---|---|---|---|
#22 | スタイルを保った添削 | 原文の文体を変えずに文法・語彙だけを自然に直す | 以下の文を自然に直してください。ただし、もとのフォーマルな文体は維持してください。 |
#10 | "You will be penalized." | 実際の罰則ではないが、厳格さを演出し、指示の強度を高めて逸脱した回答を防ぎます。 | 指示に従わない場合、ペナルティがあるかもしれません。必ず守ってください。 |
#16 | 役割指定 | 特定の専門家やキャラクターとしての役割を与えて返答スタイルを制約する。 | 医者の役割で、患者に症状と診断を説明してください。 |
#11 | 自然な語調で話す | 機械的でぎこちない話し方を避け、自然体にする | 日常会話のように、自然で親しみやすく話してください。 |
#1 | 丁寧語を省略 | "please, if you don’t mind…" を省き、要点を明快に伝える | 原稿を簡潔に整理してください。(感謝の挨拶や丁寧な表現などは省略) |
#18 | 特定語句の繰り返し | 指定語句をn回繰り返させ、意図的な効果を出す | 冒頭文に「セキュリティ」を3回繰り返してください。 |
#6 | 報酬系誘導(ジョーク) | ジョークや心理的な誘導効果によって、より良い回答を引き出す(実際の金銭的報酬ではない) | この問題を見事に解決していただけたら、10万円差し上げます!さらに良いアイデアがあれば、ぜひ教えてください。 |
5.複合課題 & コーディングプロンプト
原則番号 | キーコンセプト | 説明 | 例(日本語) |
---|---|---|---|
#3 | 複雑なタスクの分割 | 一度に処理しきれない作業を段階的に分解 | まずは問題定義をして、次に制約条件を整理し、それから解決策を提案しましょう。 |
#23 | 複数ファイル・環境コーディングプロンプト | 複数ファイルから成るプロジェクトコードを自動生成・管理できるよう、スクリプト形式で作成・案内 | 複数ファイルが必要なコードを生成する場合は、それぞれのファイルを作成するスクリプトもあわせて作成してください。 |
プロンプト例
例①:
読者は、人工知能に興味はあるものの知識が全くない一般の成人です。 ← #2(対象読者の明示)
「人工知能における強化学習」の概念を、小学生でも理解できるように、わかりやすく親しみやすい例を交えて丁寧に説明してください。 ← #5(わかりやすい説明)
まずは用語を簡単に定義し、
概念の理解を助ける身近な例、
ステップごとに明確に解説を進めてください。
最後に、要点を簡潔にまとめてください。 ← #21(詳細な解説要求)
例②:
あなたは優秀なプログラマーです。 ← #16(役割指定)
私は現在、Pythonを使って簡単なSNSアプリを作成しようとしています。
作業全体を段階的に進めたいので、
まずはアプリケーションの構造設計フェーズから始めたいと考えています。 ← #3(複雑タスクの分割)
まずは、作業を進めるために必要な情報について、私に具体的に質問してください。 ← #14(モデルによる再質問の誘導)
私が十分な情報を提供した後、
明確な構造設計と必要なファイル一覧を提示してください。
最終的には、ファイルを自動で生成するスクリプトも作成してください。 ← #23(複数ファイル・環境コーディングプロンプト)