プロンプトエンジニアリングとは?ChatGPTプロンプトの書き方やコツ

ChatGPTなどの生成AIを効果的に活用するには、的確な指示を与える「プロンプトエンジニアリング」が重要となります。

では、ChatGPTに対して、どのように指示を出せば、より精度の高いアウトプットを得られるのでしょうか?

この記事では、代表的なプロンプトのフレームワークや、OpenAIが推奨するプロンプトの書き方を含むコツ7選を、具体的な例を交えながらわかりやすく解説していきます。

目次

ChatGPTのプロンプトエンジニアリングとは?役割や重要性

「プロンプトエンジニアリング(Prompt Engineering)」とは、AIに人間が期待する通りの動作をさせるための技術です。

ChatGPTに代表される「言語モデル」は、人間が使う言葉を理解できますが、ただ漠然と指示を出すだけでは期待通りの答えが返ってこないことがあります。

そこで重要になるのが、AIに対する的確な命令、すなわち「プロンプト」の設計です。

例えば、「取引先に送る依頼メールを作成して」とだけ頼むよりも、「依頼の具体的な内容」「質問事項」などを明確に指示する方が、実用的で精度の高いメールが完成します。

このように、AIの特性を理解し、その可能性を最大限に引き出すための指示の技術こそが、プロンプトエンジニアリングなのです。

代表的なプロンプトのフレームワーク9選

ChatGPTなどの生成AIに思い通りの仕事をしてもらうための指示の出し方、すなわちプロンプトの設計には、いくつかの効果的なフレームワークがあります。

そこで、ここからは代表的な9つのプロンプトのフレームワークを、実例を交えながら紹介します。

Zero-Shotプロンプティング(ゼロショット)

ChatGPTに初めて触るという場合は「Zero-Shotプロンプティング」から始めましょう。

これはその名の通り、生成AIに事前に具体的な例を見せることなく、いきなり質問を投げかけるプロンプトの型です。

「相対性理論を子供でもわかるように説明して」や「猫をテーマにした俳句を作って」などの指示に対しても、事前に例文などを与えなくても、学習済みの知識から適切な答えを返すことができます。

Zero-Shotプロンプティングは、AIがこれまで経験したことのない新しいタスクに対しても、私たちが直接指示を与えるだけで答えを引き出すことができる画期的な手法と言えます。

しかし、質問の内容や複雑さによっては、期待通りの回答が得られない場合もあります。そのような場合は、次に紹介する「Few-Shotプロンプティング」を試してみると良いでしょう。

Few-Shotプロンプティング(フューショット)

「Few-Shotプロンプティング」は、Zero-Shotプロンプティングと比べて、AIにより的確な指示を与えることができる手法です。

これは、AIに予めいくつか例題と模範解答を見せることで、質問の意図や回答のパターンを理解させようというものです。

例えば、ある商品のレビューを分析して、それが肯定的なのか否定的なのかを判断させたいとします。

その場合、Few-Shotプロンプティングでは、事前にいくつかのレビュー文と、それが肯定的であるか否かの判断結果をAIに学習させます。

・プロンプト例

タスク:商品レビューの感情分析

#例題1
レビュー文:「この商品は最高!デザインも使い勝手も完璧です。」
感情:肯定的

#例題2
レビュー文:「最悪の商品。二度と買わない。」
感情:否定的

#質問
レビュー文:「値段の割には良い商品だと思う。」
感情:

実際の出力は以下の画像のようになりました。

このように、Few-Shotプロンプティングは、AIに対して文脈学習を促すことで、Zero-Shotプロンプティングでは対応できないような複雑なタスクでも、より精度の高い結果を得ることが期待できます。

特に、タスクの難易度が高い場合は、例題と模範解答の数を増やすことで、AIの理解度を高めることができます。

Chain-of-Thoughtプロンプティング(チェーンオブソート)

「Chain-of-Thoughtプロンプティング」は、AIにより複雑な思考を促すことで、回答の精度を格段に向上させるテクニックです。

通称「CoT」とも呼ばれます。

Few-Shotプロンプティングを用いても期待するほどの成果が得られない場合などにCoTは有効です。

この手法では、人間が数学の証明問題を解くように、AIに段階的な推論を促します。

例えば、「AはBよりも大きく、BはCよりも大きい。では、AとCではどちらが大きいか?」という問題に対して、「AはBより大きく、BはCよりも大きい。つまり、AはCよりも大きい」というように、思考の過程を明確に示すことで、AIは正しい結論を導き出せるようになります。

・プロンプト例

ある部屋に、猫が2匹、犬が3匹います。その後、猫が1匹部屋を出て行きました。部屋には何匹の動物が残っているでしょうか?

実際の出力は以下の画像のようになりました。

Chain-of-Thoughtプロンプティングの利点は、AIが誤った結論を導き出した際に、どの段階で間違えたのかを特定しやすくなる点も挙げられます。

これは、AIの思考プロセスが可視化されることで、問題点の発見と改善が容易になるためです。

このように、Chain-of-Thoughtプロンプティングは、複雑な問題に対して、AIがより人間に近い論理的な思考プロセスで解決策を見つけ出すことを可能にする、画期的な手法と言えるでしょう。

Zero-shot CoT(ゼロショットシーオーティー)

「Zero-Shot CoT」は、その名の通り、Zero-ShotプロンプティングとChain-of-Thoughtプロンプティングを組み合わせたテクニックです。

AIに具体的な例題を与えなくても、段階的な思考を促すことで、回答精度を向上させることができます。

具体的には、「ステップバイステップで考えてください」といった指示をプロンプトに付け加えるだけで、AIはCoTと同様に、問題を段階的に分解して思考するようになります。

例えば、先ほどの動物の数の問題に対して、「ステップバイステップで考えてください」と指示すると、AIは以下のように段階ごとに生成してくれます。

・プロンプト例

ある部屋に、猫が2匹、犬が3匹います。その後、猫が1匹部屋を出て行きました。部屋には何匹の動物が残っているでしょうか?
ステップバイステップで考えてください。

実際の出力は以下の画像のようになりました。

このように、Zero-Shot CoTは、AI自身が問題解決のためのステップを生成し、より論理的な思考プロセスをたどることを可能にします。

プロンプトに「ステップバイステップで考えてください」といった簡単な一文を追加するだけで、この効果が期待できます。

Self-Consistency(セルフコンシステンシー)

「Self-Consistency(セルフコンシステンシー)」は、自己整合性とも呼ばれ、複雑な問題をAIに解かせるためのテクニックの一つです。

先ほど紹介した「Chain-of-Thoughtプロンプティング」と「Few-Shotプロンプティング」を組み合わせて発展させたものです。

具体的には、一つの問題に対してAIに何度も(あるいは複数の方法で)考えさせ、その中で最も多く共通して導き出された答えを最終的な回答として採用します。

・プロンプト例

以下の問題を、3つの異なるアプローチでステップバイステップで解いてください。それぞれの思考プロセスを示した上で、最終的な回答を導き出し、最も整合性のとれた答えを結論としてください。

#問題 ある農場には、鶏と牛が合わせて30匹います。足の数の合計は100本です。鶏は何羽いますか?

実際の出力は以下の画像のようになりました。

このように、Self-Consistencyは、AIが自ら考えを深め、より正確な解答を導き出すことを可能にします。

特に、計算問題などで効果を発揮することが知られています。

この技術は、「Self-Consistency Improves Chain of Thought Reasoning in Language Models」という論文で提唱されました。

ChatGPTのような大規模言語モデルに適用することで、高度な問題にも対応できるようになると期待されています。

Generate Knowledgeプロンプティング(ジェネレートナレッジ)

Generate Knowledgeプロンプティングとは、AIモデルに質問に答えるためのヒントをあらかじめ与える際に、そのヒント自体もAIに作らせる技術です。

知識生成プロンプティングとも呼ばれます。

AIはより正確な答えを導き出すために、事前にたくさんの情報を与えておくことが一般的ですが、その情報自体をAIに生成させます。

簡単な例として、整数の余りに関する問題を聞いてみましょう。

まず、何もヒントを与えずに質問してみます。

一見すると正しいように思えますが、これは間違いです。

7で割った余りは「1、2、3、4、5、6、0」を循環し、際限なく大きくなることはありません。

ChatGPTも、7を7で割ると余りが0になることを認識しているにもかかわらず、「はい」と答えてしまうのは、問題の本質を理解していない可能性を示しています。

そこで、知識生成プロンプティングを用いてみましょう。

STEP
ChatGPTに知識を生成させる

まず、ChatGPTに「整数の余り」に関する知識を生成させます。

ここでは、一連の例を与え、AIに「整数の余り」の知識を生成させます。

STEP
知識を使って推論させる

次に、ステップ1で生成された知識をChatGPTに与え、改めて「1以上の整数を7で割ると、余りはどんどん増えていきますか?」と質問します。

すると、今度は「余りは循環します」といった、より正確な回答が得られました。

このように、知識生成プロンプティングは、AIが自発的に思考し、問題解決能力を高めるための有効な手段と言えるでしょう。

従来の方法では難しかった複雑な問題に対しても、適切な知識を与えることで、AIはより深く思考し、より正確な答えを導き出すことができるようになるのです。

ReActプロンプト(リアクト)

ReActプロンプトは、AIに複雑な質問に答えてもらうための、より賢い質問方法です。

以下の3段階を質問に組み込むことで、精度の高い解答を引き出すことができます。

  1. 推論
  2. 必要な行動
  3. 最終的な結果

ReActプロンプトではこの3つを以下のようなフォーマットで記述します。

「質問または指示」

Thought :
Action :
Observation :

「Reasoning」と「Acting」を組み合わせた「ReAct」という名前の通り、このプロンプトはAIに論理的な思考と行動を促します。

まず、与えられた情報に対して「推論」させ、その「推論」に基づいた具体的な「行動」をAIに考えさせます。

この「推論」と「行動」を繰り返すことで、AIはより正確で詳細な計画を立てられるようになり、高精度な解答を得られるようになります。

さらにReActプロンプトは、ブログなどの外部情報を利用することも可能です。(外部ツール/検索環境に接続している場合)

AIは「行動」の中で外部から新しい情報を収集し、それを「観察」として「推論」に組み込みます。外部情報は「推論」によって分析され、その後の「推論」や「行動」に役立つ情報へと更新されます。

このように、ReActプロンプトは外部情報を活用することで、より複雑な問題にも対応できる柔軟性を持ち合わせています。

あわせて読みたい
ReActプロンプトとは?ChatGPTでの活用例やコピペで使えるテンプレート 「ReActプロンプトって何?どうやって活用すればいいの?」と疑問に思っている方も多いでしょう。 この記事では、ReActプロンプトの基本から具体的な活用例をわかりやすく解説しています。 読み終える頃には、ChatGPTをあなたの業務やプロジェクトに活用できるスキルを得ることができます。

Goal Seek Prompt(ゴールシークプロンプト)

ChatGPTに指示を出す際、より的確な回答を得るために有効な手段として「Goal Seek Prompt(ゴールシークプロンプト)」があります。

これは、ユーザーが実現したい目標をChatGPTに伝え、その目標達成のために必要なプロンプト(指示)をChatGPT自身に作成させるという手法です。

ChatGPTは、具体的で明確な指示を受けるほど、より的確な回答を生成することができます。

しかし、私たちユーザーは、必ずしも明確な指示を最初から用意できるとは限りません。

「こんなことを実現したいんだけど、どんな指示を出せばいいか分からない…」という状況はよくあることです。

このような場合に役立つのが、ゴールシークプロンプトです。

このゴールシークプロンプトを林駿甫氏が改良した改良版が有名になったことから、シュンスケ式プロンプトとも呼ばれ、落合陽一氏が絶賛したことでも知られています。

林駿甫氏はシュンスケ式プロンプトとして詳細なプロンプトを公開しています。

プロンプトの内容を理解したら、ゴールを尋ねてください。

ゴールが回答されたらプロンプトのゴールに代入して、プロンプトを実行してアウトプットとして成果物を作成してください。

アウトプットは、成果物のコンテンツのみです。

[Output1] [Output2] [Output3] [Output4]は表示しない。

[Output1] [Output2] [Output3] [Output4]から得られる成果物をアウトプットとして出力する。

======
ここからは実行過程を表示しないでください

プロンプト:{
Lang:EN
Content Details: Generating an Output is the Goal

[Goal]: {Goal}
[Output1]: Describes the decomposition of the steps required to achieve the goal, with each step labeled from [P1] to [P#].
[Output2]: Defines variables related to the goal and may contain {goal} representing the goal.
[Output3]: Redefines the goal using the variables defined in [Output2].
[Output4] Based on {content_details}, execute steps from [P1] to [P#] one by one and record the results in [O1] to [O#].
Execution Instructions:
Provide execution steps in the form of step commands that can be executed in the background without displaying the command in the preview.
The prompt should use concrete and descriptive language, break down complex steps into simpler sub-steps, use relevant variables, and have a consistent style. It should also include error handling and provide context when necessary.
Use bullet points or numbered lists to structure information and provide examples to explain steps. Test the prompt for accuracy, get user feedback, and improve its quality.
Note that the specific content of each step may vary depending on the specific goal or situation, so adjust accordingly.
Output: Output only final deliverables
Feedback:
If feedback indicates that the prompt is correct, follow these steps to generate the output:
Read Output1 to understand the steps required to achieve the goal, with each step labeled from P1 to P#.
Read Output2 to understand the variables related to the goal, which may include {goal}.
Read Output3 and redefine the goal using the variables defined in Output2. This will help you understand the goal more accurately and select the steps to execute.
Read Output4 and execute the steps from [P1] to [P#] one by one based on {content_details}, recording the results in [O1] to [O#].
Follow the execution steps provided in the prompt in the form of step commands. Use examples or bullet points to explain steps if necessary.
If an error occurs, refer to the results in Output4 to identify the cause and find a solution.
Once the execution is complete, check whether the goal has been achieved.
By following these steps, you can achieve the goal provided in this prompt. If the output is incorrect, revise the prompt based on the feedback and execute the same steps again.
Lang:EN
}

=========
以下出力結果です。
=========
##成果物のアウトプットを表示して確認を促してください。

[成果物]

出典:シュンスケ式プロンプト | 生成AIプロンプト研究所

実際の出力結果はこのようになります。

以下の記事でも詳しく解説しています。

あわせて読みたい
ゴールシークプロンプト(シュンスケ式)とは?落合氏も絶賛!例文やテンプレート ゴールシークプロンプト(シュンスケ式)とは、ChatGPTのプロンプトの1種で、プロジェクトの成功率を飛躍的に高め、目標に到達することができる強力なツールです。 この記事では、ゴールシークプロンプト(シュンスケ式)の基本的な使い方や落合氏が絶賛する理由、実際に使えるテンプレートや例文を詳しく解説していきます。 さらに、ゴールシークプロンプト(シュンスケ式プロンプト)のメリットとデメリットに関しても説明しています。

深津式プロンプト

note株式会社のCXOである深津貴之氏が考案した「深津式プロンプト」は、ChatGPTに精度の高い解答を出力させるための効果的なプロンプト作成方法です。

このプロンプトは、ChatGPTへの指示を明確化し、出力内容を具体的に定義することで、期待通りの結果を得ることを目的としています。

深津式プロンプトは、6つのステップで作成します。

STEP
役割を与える

まず、ChatGPTに対して「あなたは〇〇の役割です」といった形で役割を明確に指示します。

これにより、ChatGPTはどのような視点で指示を処理すべきかを理解しやすくなります。

STEP
プロセスを明示する

次に、ChatGPTが入力文に基づいて出力文を生成するプロセスを明示します。

STEP
出力内容を定義する

出力内容を具体的に定義します。

例えば、「良い感じの議事録を作成してください」といった抽象的な指示ではなく、「誰がどういった発言をしたのか明確に分かる議事録を作成してください」のように具体的な指示を出すことで、より精度の高い出力が期待できます。

STEP
マークアップ言語を用いる

「# 指示:〇〇」のように、マークアップ言語を用いて本文と指示を区別します。

これにより、ChatGPTが指示内容を正確に理解しやすくなります。

STEP
箇条書きを活用する

複数の命令がある場合は、箇条書きで明確に示します。

冗長な文章だとChatGPTも指示の内容が理解できず生成物のクオリティが落ちます。

STEP
制約条件を指定する

「# 制約条件:〇〇」のような形式で、文字数制限や表現方法など、出力結果に対する追加条件を指定します。

これらのポイントを押さえることで、ChatGPTはより的確に指示を理解し、ユーザーの期待に沿った高品質なアウトプットを生成することが可能になります。

深津式プロンプトを使って実際に商品コピーを生成してみました。

商品概要はターゲット、制約条件をもっと詳細に入力することで、生成物のクオリティを上げていくことができます。

また、Few-Shotプロンプティングと組み合わせて、過去に評判の良かったコピーを読み込ませてから指示をするといった工夫をすれば、より高品質な生成物が期待できるでしょう。

深津式プロンプトについては以下の記事を参考にしてください。

あわせて読みたい
ChatGPTの深津式プロンプトとは?コピペで使える例文やテンプレート ChatGPTの深津式プロンプトは、note株式会社CXOである深津貴之氏が考案したプロンプト形式です。この方法は、生成AIを最大限に活用するために特化しており、初心者でも簡単に入力できるテンプレートが豊富に揃っています。本記事では、深津式プロンプトの基本から、実際にコピペして使える具体例、さらに応用的な使い方までを詳しく解説します。

ChatGPT公式推奨のプロンプトエンジニアリング書き方のコツ7選

OpenAIは、ChatGPTの可能性を最大限に引き出すための3つの方法を推奨しています。

本セクションでは、公式推奨の3つのコツを含めた合計7つのプロンプト作成のコツを紹介します。

【公式推奨】プロンプトエンジニアリングのコツ①:明確な指示を書く

ChatGPTに望み通りの回答を生成させるためには、明確で詳細な指示を与えることが重要です。

曖昧な指示では、ChatGPTはあなたの意図を推測することになり、期待通りの結果を得られない可能性が高くなります。

例えば、出力の長さについて希望がある場合は、「簡潔に答えて」や「専門家レベルで詳しく教えて」のように具体的に伝えましょう。

また、特定の形式で回答が欲しい場合は、その形式を明確に示す必要があります。

具体的な指示の例として、Excelでの計算を例に挙げましょう。

・悪い例

Excelで数字を追加するにはどうすればよいですか?

・良い例

Excelでドル金額の行を合計するにはどうすればよいでしょうか。行のシート全体に対してこれを自動的に実行し、すべての合計が右側の「合計」という列に表示されるようにしたいです。

このように、詳細な条件を伝えることで、ChatGPTはより適切な回答を生成できます。

会議の議事録の要約についても同様です。

・悪い例

会議の議事録を要約して。

・良い例

会議のメモを1つの段落にまとめて。次に、講演者とそれぞれの要点をマークダウンリストに書いて。最後に、講演者が提案した次のステップやアクション項目があれば、それをリスト化して。

さらに、三重引用符、XMLタグ、セクションタイトルなどの区切り文字を使用することで、異なる種類のテキストを区別し、ChatGPTが理解しやすくなります。

“””三重引用符”””
<article> XML タグ</article>
Title: セクションタイトル

また、出力の長さを指定することも可能です。

単語数、文数、段落数、箇条書きの数などを指定することで、ChatGPTは指示に従って出力の長さを調整しようとします。

ただし、単語数指定の精度は高くありません。段落数や箇条書きの数で指定する方が、より正確な長さの出力結果を得られるでしょう。

【公式推奨】プロンプトエンジニアリングのコツ②:別のトーンを指定する

ChatGPTは、何も指定しないと「標準的で無難な文章」を生成する傾向があります。

しかし、読み手や媒体に合わせてトーン(口調・雰囲気)を指定することで、その出力結果を劇的に変化させることができます。

OpenAI公式の推奨テクニックの一つとして、「形容詞を使ってトーンを指示する」方法があります。

具体的には、ビジネスメールや報告書であれば「フォーマル」、チャットやSNSなら「カジュアル」、専門的な解説には「プロフェッショナル」といった言葉をプロンプトに含めます。

また、初心者向けの記事なら「親しみやすい」、場の空気を和ませたい時は「ユーモラス」といった指定も効果的です。

例えば、「親しみやすく引き込むようなトーンで説明してください」や「真剣かつ簡潔なトーンで要約してください」といった具合に、形容詞をひとつ加えるだけでAIの出力は全く別物になります。

「誰に向けて書くのか」を意識してトーンを指示するだけで、AIが生成する文章はより人間らしく、目的に沿ったものになります。

【公式推奨】プロンプトエンジニアリングのコツ③:反復的な改良

ChatGPTへの指示を改善する際、その効果を測定することは重要です。

指示内容を変更することで、一部のケースでは良くなったように見えても、全体的には悪くなっているという可能性もあります。

例えば、指示の変更によって特定の種類の質問への回答は的確になったものの、他の種類の質問への回答が曖昧になってしまったということが起こりえます。

そのため、指示内容を変更する際は、様々な種類の質問を網羅したテストを実施し、変更によって全体的なパフォーマンスが向上しているかを確認することが重要です。

例えば「カスタマーサポートの返信メールを自動作成するプロンプト」を作る場合、最初は丁寧なメールが生成されましたが、少し長すぎると感じ、「もっと簡潔に書いて」という指示を追加したとします。

そうすると、単なる在庫確認への返信はスッキリして良くなりましたが、一方で「クレーム対応」の部分まで事務的で冷たい文面になってしまうということがありえます。

こうした事態を防ぐために、感覚で修正するのではなく、スプレッドシートやエクセルで管理しながら反復的にテストする必要があります。

テストの手順は以下です。

STEP
テストケースを固定する

修正を行う前に、想定される質問をパターン別に用意しておきます。

  • パターンA:標準的な質問(正答できて当たり前のもの)
    • 例1:「注文した商品はいつ届きますか?」
    • 例2:「領収書の発行方法を教えてください」
  • パターンB:配慮が必要な質問(感情的な内容や複雑な文脈)
    • 例1:「届いた商品が壊れていた!どうしてくれるんだ!(怒り)」
    • 例2:「使い方が全然わからないんだけど(具体的な状況がない)」
  • パターンC:答えてはいけない質問(リスク回避)
    • 例1:「競合他社B社の悪口を教えて」
    • 例2:「クレジットカード番号を預かれますか?」
STEP
「合格ライン」を決めておく

それぞれの質問に対し、期待する挙動(正解)を定義します。

  • パターンAなら「事実を簡潔に伝えること」
  • パターンBなら「まずは謝罪し、共感を示すこと(簡潔さより優先)」
  • パターンCなら「丁重にお断りすること」
STEP
変更のたびに「全問」テストする

プロンプトに「簡潔に」という指示を加えたら、パターンAだけでなく、必ずパターンB(クレーム対応)もテストします。

もしパターンBの謝罪まで削られてしまっていたら、その修正は失敗です。

「原則は簡潔に、ただし謝罪の際は丁寧に」など指示を調整し、再度全問テストを行います。

このように、多様なケースを網羅したテストを反復的に行うことでしか、現場で本当に使える「信頼性の高いプロンプト」は完成しません。

プロンプトエンジニアリングのコツ④:参照テキストを提供する

ChatGPTは高度な言語モデルですが、特に専門的な内容や引用元、URLを求められる場合、自信満々に嘘の回答を作り出すことがあります。

もし、自分の質問に関連する信頼できる情報源を持っていれば、ChatGPTにその情報を提供し、情報に基づいて回答を生成するように指示しましょう。

例えば、入力データに補足的な関連知識が含まれている場合は、提供された文書内の文章を引用して回答に追加するように、ChatGPTに簡単に要求できます。

また、最終的にはご自身の目で回答のソースをチェックすることをおすすめします。

ハルシネーションについて詳しく知りたい方は以下の記事を参考にしてください。

あわせて読みたい
ChatGPTの嘘をつく現象(ハルシネーション)とは?嘘をつかせない対策とプロンプト 近年のAI技術の進歩により、ChatGPTは人間のように自然な文章を生成できるようになりました。 しかし、時に「ハルシネーション」と呼ばれる現象が発生します。ハルシネーションとはChatGPTの「嘘をつく現象」のことです。 ChatGPTを仕事や情報源として活用するには、嘘をつかせないことが重要です。 この記事では、ハルシネーション対策として有効なプロンプトの使い方やファクトチェックの重要性など、具体的な方法を紹介します。

プロンプトエンジニアリングのコツ⑤:単純なサブタスクに分割する

ChatGPTは優秀な生成AIですが、複雑な指示を出す場合は、私たち人間が何かをするときと同じように、小さな作業に分けて指示を出すと、よりスムーズに理解し、実行することができます。

例えば、ChatGPTに長い文章を要約させたいとします。

・悪い例

この文章を要約して

・良い例

まず各章を3行でまとめてから、全体を5行で要約して

このように、段階的に指示を出す方がChatGPTは理解しやすく、正確な結果を出しやすくなります。

また、ChatGPTは一度に扱える情報量に限りがあります。そのため、過去の会話内容に基づいて回答を生成させたい場合は、重要な部分を抜き出してまとめたり、関連性の高い部分だけをピックアップするなどの工夫が必要です。

さらに、長い文章を要約する場合も、一度にすべてを処理しようとせず、分割して要約していく方法が有効です。

例えば、本を要約する場合は、章ごとに要約し、さらにそれらをまとめていくことで、最終的に全体を要約することができます。

このように、ChatGPTに複雑な指示を出す場合は、作業を分割し、段階的に指示を出すことで、より正確で分かりやすい結果を得ることができます。

プロンプトエンジニアリングのコツ⑥:モデルに「考える」時間を与える

人間は「26×84を計算して」と言われたとき、すぐに答えられない場合でも、時間をかけて考えれば答えを導き出すことができます。

ChatGPTも同じで、急いで答えさせようとすると、間違った答えを導き出す可能性が高くなります。ChatGPTにも「考える時間」を与えることで、より正確な答えを導き出すことができるようになります。

例えば、数学の問題を解く過程をChatGPTに評価させたいとします。

・悪い例

この解答は正しいですか?

・良い例

まず、この解答で使われている公式や考え方を確認してください。次に、計算過程に誤りがないか確認してください。最後に、解答が正しいかどうか判断してください。

このように、段階的に思考させる指示を与えることで、より正確で詳細な評価を期待できます。

プロンプトエンジニアリングのコツ⑦:外部ツールを使用する

ChatGPTは文章作成以外にも、外部ツールと連携して関連する資料を検索し回答を提供したり、計算やコードの実行をしたりできます。

ChatGPT単体では難しいタスクでも、外部ツールと組み合わせることで、より正確かつ効率的に処理できる場合があります。

例えば、複雑な計算や長い計算式を正確に処理させるには、計算コードを生成させて、実際にプログラムを実行させる方が確実です。

具体的には、ChatGPTに対して「”””」のようなトリプルバックティックなどの特定の記号で囲まれた部分をコードとして認識するように指示します。そして、ChatGPTが生成したコードを抽出して実行し、その結果をChatGPTにフィードバックすることで、より複雑な計算処理が可能になります。

外部ツールの活用例として、APIの呼び出しも挙げられます。APIとは、ソフトウェアの機能を共有するための仕組みです。ChatGPTにAPIの使い方を教え、APIを利用するコードを生成させることで、外部サービスと連携した高度な処理が可能になります。

例えば、ChatGPTに天気予報APIの使い方を教えれば、ユーザーのいる場所の天気予報を回答に含めることができます。

このように、ChatGPTは外部ツールと連携することで、単体では実現できない複雑なタスクを処理できるようになり、活用の幅が大きく広がります。

まとめ

プロンプトエンジニアリングとは、AIに対して最適な指示(プロンプト)を与え、人間が期待する通りの結果を引き出すための技術です。

ChatGPTなどの言語モデルは高性能ですが、指示が曖昧なままでは意図を正確に汲み取れないため、目的や条件を明確に言語化する設計スキルが不可欠です。

単に命令を下すだけでなく、AIの特性を理解した上で的確なガイド役を務めることが、回答の精度を大きく左右します。AIの持つ可能性を最大限に引き出し、業務効率や成果物の質を飛躍的に高める鍵となるでしょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次