AIについて
基本的な考え方
AIへのプロンプト作成に最も重要なのは”試行錯誤すること”です。
- 具体的かつ明確に伝える
・曖昧な指示は、曖昧な答えにつながります。できるだけ具体的に、明確な言葉で指示を出しましょう。- 悪い例:
面白い話を作って
- 良い例:
主人公がタイムスリップしてしまった猫である、小学生向けの短い物語を500文字程度で作成してください。ユーモアを交えて、最後はハッピーエンドにしてください。
- 悪い例:
- 役割(ペルソナ)を与える
・AIに特定の専門家やキャラクターになりきってもらうことで、回答の視点やトーンが定まり、質が格段に向上します。- 悪い例:
この文章を校正して
- 良い例:
あなたは経験豊富な編集者です。以下のビジネスメールの文章を、より丁寧で分かりやすい表現に修正してください。
- 悪い例:
- 背景(コンテキスト)を共有する
・あなたが置かれている状況や、その指示を出すに至った背景を伝えることで、AIは文脈を理解し、的確な回答を生成しやすくなります。- 悪い例:
マーケティングのアイデアを教えて
- 良い例:
私は地方の小さなパン屋を経営しています。ターゲット顧客は主に主婦層です。来月の新商品「完熟りんごのデニッシュ」を効果的に宣伝するための、低予算で実行可能なマーケティングアイデアを3つ提案してください。
- 悪い例:
- 対話を通じて深掘りする
・一度の指示で完璧な答えを求めようとせず、AIとの対話を通じて、少しずつ理想の答えに近づけていく意識が大切です。最初の回答を元に、追加の質問や修正指示を出しましょう。- 例:
ありがとう。そのアイデアいいね。2つ目のアイデアについて、具体的なSNSの投稿文を3パターン作成してくれないかな?
- 例:
- 参考例や手本を示す
・望ましい回答の形式や文体がある場合は、その例を先に示してあげると、AIはあなたの好みを学習し、それに近い形で出力してくれます。- 例: 以下の例のように、文章を要約してください。(例)原文:[長めの文章] → 要約:[短い要約文]では、この文章を要約してください:[要約してほしい文章]
- プロンプトの基本構文(含めるべき4つの要素)
これを「構文」と捉えると、プロンプトの作成がより簡単になります。常に全ての要素が必要なわけではありませんが、意識すると効果的です。[役割]
+[背景と目的]
+[具体的な指示]
+[出力形式の指定]
出力形式を指定する
箇条書き、表形式、マークダウンなど、希望するフォーマットを明確に伝えましょう。
プロンプト例:日本の主要なECサイトを5つ挙げ、それぞれの特徴と主なターゲット顧客を表形式でまとめてください。
条件を細かく設定する
文字数、含めるべきキーワード、除外する要素などを指定します。
プロンプト例:リモートワークのメリットについて、800字程度のブログ記事を作成してください。「柔軟性」「生産性」「ワークライフバランス」というキーワードを必ず含めてください。専門用語は使わないでください。
思考プロセスを尋ねる
複雑な問題の答えだけを求めるのではなく、なぜその答えに至ったのか、手順を追って説明させることで、間違いに気づきやすくなったり、応用が効く知識を得られたりします。
プロンプト例:この数学の問題を解いてください。答えだけでなく、どのような手順で、どの公式を使って計算したのかをステップ・バイ・ステップで解説してください。
複数の選択肢を出させる
一つの答えに絞らせるのではなく、複数のアイデアや案を出させることで、発想を広げることができます。
プロンプト例:新しいカフェの店名を考えています。クリエイティブな名前のアイデアを10個提案してください。親しみやすく、覚えやすい名前が希望です
7.制約条件を設ける
「〜しない」「〜を避ける」といった、出力を制限するネガティブな指示を与えることで、不適切な回答を防ぎ、意図した範囲内の出力を促します。
例: 提案書を作成してください。ただし、専門用語は使用せず、環境問題に関する言及は避けてください。
8.最新情報の利用を指示する
ウェブ検索機能の利用を明示的に指示することで、AIがその時点の最新情報を参照するように促します。
例:Google検索を使って、今日の株価の最新情報を調べ、今後の動向について3つの視点から解説してください。
プロンプト作成者がより意識すべきであること
1. AIの「思考の限界」と「バイアス」の意識
AIが提供する情報の「質」と「信頼性」について、プロンプト作成者がより意識すべきであること。
①ハルシネーション(Hallucination)への対策
事実確認の指示を加える: AIは時に、事実ではない情報を自信満々に生成します(ハルシネーション)。特に専門的な内容や統計、引用を求める場合は、「提供するすべての事実は、信頼できる情報源に基づいていることを確認し、その情報源(例:論文名、出典URLなど)を可能であれば示してください」という指示を加えることで、生成物の信頼性を高められます。
② AIの「学習データ」に基づくバイアス(偏見)への対処
多様な視点の要求: AIの学習データには、特定の文化、性別、人種などに偏ったバイアスが含まれている可能性があります。これに対処するため、「特定の立場に偏らないよう、多様な視点(例:消費者、企業、環境保護団体など)を含めて論述してください」と明示的に指示することが、倫理的で公正な回答を得る上で重要になります。
2. 応用的なプロンプト作成技術
プロンプトの基本構文に加え、より高度な要求をする際のテクニックを追加します。
①チェーン・オブ・ソート(CoT: Chain-of-Thought)プロンプティングの活用
前記で述べた「思考プロセスを尋ねる」の背後にある、最も強力な技術の一つです。複雑な問題に対し、AIに「ステップバイステップで思考を整理し、その上で最終的な答えを導き出す」よう強制する手法です。この中間的な思考過程を挟むことで、AIの推論能力が飛躍的に向上し、正答率が上がることが、多くの研究で示されています。
プロンプト例:
「以下の問題を解く前に、まず問題を構成要素に分解し、各ステップでどのような論理的判断が必要かを思考してください。その思考の過程を箇条書きで出力した後、最後に最終的な答えを出力してください。」
②Few-Shot Learning(少数事例学習)の意識
「参考例や手本を示す」の有効性を、より学術的な用語で裏付けます。AIに複数の「入力例と、それに対する望ましい出力例」のペアを示すことで、AIはたった数ペアの例から、あなたが求めているタスクの「パターン」を学習します。これは、あなたの例(要約の例示)を複数回繰り返すことで効果が最大化されます。
AIの理解を助ける代表的な記号
AIは書かれた文章をそのまま解釈しようとするため、記号を使って指示の役割や範囲を明確に区切ってあげると、より正確に意図を汲み取ってくれます。
ハッシュマーク #
プロンプトであれば、見出しを表します。Markdown(マークダウン)記法で「#」の数によって見出しのレベル(大きさ)が変わります。また情報の階層構造をAIに理解させる上で重要です。AIは、#
の数(見出しレベル)を通じて、その後の文章の重要度や関連性を推測しやすくなります。この記法は、AIがプロンプトを構造化データとして解釈し、処理の優先順位を決めるのに役立ちます。
例: # 主な指示
の下にある内容は、### 補足情報
の下にある内容よりも、AIが最も注力すべきコアなタスクであると認識しやすくなります。
括弧(かっこ) 「」
【】
()
括弧は、情報の役割の区別と範囲の明確化。AIの「コンテキストウィンドウ(文脈の範囲)」内で、異なる種類の情報を意味的に区切る役割を果たします。これは、AIがプロンプト内のどの部分を「データ」として扱うべきか、どの部分を「メタ指示(指示の指示)」として扱うべきかを明確に分離するのに役立ちます。LLMがプロンプトをトークン化する際、関連するトークン群を意味的な固まりとして捉えるための強力なヒューリスティック(発見的手法)となります。「 」
: AIに処理してほしい具体的な文章やキーワードを囲むのに使います。
例: 「明日は晴れる」という文章を、もっと丁寧な表現にしてください。
【 】
: 指示のカテゴリや役割をラベリングするのに役立ちます。
例: 【役割】あなたはプロの編集者です。【指示】以下の文章を小学生にも分かるように書き換えてください。
( ) :、メインの指示ではない付随的な情報を囲むことで、AIが主要タスクから逸脱するのを防ぐ
例: (オプション)
や (制約条件)
引用符 “・バッククォート """
“`
長い文章、データ、またはコードなどを他の指示と明確に区別したい場合に使います。情報の「かたまり」をAIに認識させることができます。シングルまたはトリプルのバッククォート ( `
または ```
)は、AI、特にコードを扱うLLMにおいて、コードブロックや純粋なテキストデータを分離する最も強力で推奨される記号です。バッククォートはプログラミング言語の慣習(コードやシェルのコマンドを囲む)から、AIが「これは処理対象の生のデータであり、実行する指示ではない」と誤解なく認識するために非常に有効です。これらはデリミタ(区切り文字)と呼ばれ、AIがプロンプト内の異なるセクションを構造化された入力として扱い、指示のインジェクション(誤った指示の混入)を防ぐのに役立つ、セキュリティと堅牢性を高める手法でもあります。
例:以下の記事を3行で要約してください。”””(ここに長い記事の文章を貼り付ける)”””
記事やデータを改行を含む長文として渡す場合、トリプルのバッククォート ```
で囲むことで、AIが途中の改行や特殊文字を誤って指示の一部と解釈するのを防ぐことができます。
箇条書き -
・
1.
2.
複数の指示や条件を出す場合に、一つずつ確実に実行してもらうために使います。複雑な要求を分解して伝えるのに最適です。
複雑なタスクをステップバイステップの実行リストに分解する際に不可欠です。番号付きリスト(1.
2.
)は、特にAIに実行順序を厳密に守らせたい場合に強力な効果を発揮します。人間が複雑な問題をアルゴリズム(手順)として分解するように、AIも箇条書き形式の指示を逐次的な処理タスクとして認識し、より信頼性の高いアウトプットを生成する傾向があります。これは、AIの思考の連鎖(Chain-of-Thought)を誘導する基本的な手法の一つです。
例:「以下の手順を必ずこの順番で実行してください。」と前置きし、番号付きリストで指示を列挙します。- まず、この文章を要約する- 次に、この文章に合うタイトルを3つ考える- 最後に、SNS投稿用の紹介文を140字で作成する
アスタリスク **
Markdown記法において太字を示すために使われます。太字(**
)は、AIがプロンプト内で「強調すべき情報」として認識するための強力な手がかりとなります。重要度を伝える道しるべです。
AI(LLM)は、プロンプト内の単語や記号に埋め込み(Embedding)と呼ばれる数値ベクトルを割り当てて解釈します。太字のような視覚的・文法的な強調は、その単語の重要性を示す信号として機能し、LLMがその情報を処理する際の注意機構(Attention Mechanism)を強く引きつける効果があると考えられています
例: **「必ずこの制約を守って回答してください」**と太字で強調することで、AIはその部分を無視したり、軽視したりする可能性を減らせます。
ローカル
- ollama