この記事ではChatGPTのプロンプトについて
欲しい回答を得るためのコツや例文、プロンプト活用を紹介しています。
「ChatGPTが望む形で回答をしてくれない…」そんな悩みがある方は
ぜひ、参考にしてくださいね。
ChatGPT上手く使えない…。
便利って喜んでたじゃん。
どうしたの?
なんか、そうじゃなーい!
って回答が出てきてしまって…
それプロンプト気をつけてる?
え、プロンプトって何??
プロンプトは
ChatGPTに回答してもらうための命令文だよ。
同じことを聞いても
この作り方で全然違うよ!
ChatGPTを使っていて、思うような回答が出ずに
困った経験はないですか?
命令するプロンプトが大事とは言うものの
どのように作成したらChatGPTに正しく伝わるのか分からないですよね。
そこで、この記事では使える回答を引き出すための
プロンプト作成のコツや例文、活用法まで紹介しています。
ChatGPTを上手く使いこなしたい人は、ぜひ取り入れてみてくださいね!
【ChatGPTのプロンプトとは】
▶︎プロンプト=命令文
プロンプトは、ChatGPTに回答してもらうための命令文で
私たちがChatGPTに送信する文章のことを指します。
例:広島の観光地を教えてほしい
▶︎プロンプトが原因で的外れな回答になることも
ChatGPTは大規模言語モデルで構成されています。大量の情報が埋まっている中で、適切な情報を引き出す役割を担っているのが、プロンプトです。
つまり、プロンプトが曖昧な場合、適切な情報を引き出すことができず、的外れな回答が返ってきてしまいます。求めている回答を引き出すためには、適切なプロンプトが必要です。
【プロンプトを活用するコツやポイント】
ここでは、ChatGPTを運用しているOpenAI社が公式で推奨しているプロンプトのルール・コツを紹介します。
出典:Best practices for prompt engineering with OpenAI API
https://help.openai.com/en/articles/6654000-best-practices-for-prompt-engineering-with-openai-api
▶︎コツ1:最新モデルを使用する
期待通りの回答を得るためには、ChatGPTの最新モデルを使用することをオススメします。
2023年11月時点では、最新モデルは「GPT-4」であり、最新でないモデルとの違いは以下の通りです。
GPT-4(最新モデル) | GPT-3.5 | |
. 回答精度 . |
高 | 低〜中 |
. .情報の鮮度 . |
最新情報の回答も可 | 2022年1月までの学習データ ※2023年11月現在 |
\最新モデル「GPT-4」の詳細はこちらの記事へ/
▶︎コツ2:最初に指示&コンテキストと明確に区別
要約・翻訳などのタスクを指示する際には、
プロンプトの最初に指示を置き
「指示」と「コンテキスト」を明確に区別すると意図的な回答が得られます。区別のためには「###」「””」などを使うと良いです。
▶︎コツ3:具体的かつ詳細に指示する
希望するコンテキスト、結果、長さ、形式、スタイルなどについて、
具体的かつ詳細にプロンプトに含めましょう。
- いつ
- どこで
- 誰が
- 何を
- どのくらい
などの具体的情報があることで、精度の高い回答が得られるようになります。
▶︎コツ4:出力形式を例で明示する
指示をする際には、希望するフォーマット例を明確にすることで、欲しい回答が得られやすくなります。
特定の情報の回答が欲しい場合に特に役立ちます。
▶︎コツ5:ゼロショットから始めて微調整する
指示する際の用語として
- ゼロショット:具体例を入れない指示
- フューショット:微調整をするための指示(徐々に具体例を入れる)
- ファインショット:具体例を入れる指示
上記があります。
希望する回答が得られないときは、ゼロショットから始めて微調整を重ねると良いでしょう。
で希望する回答に近づけていきます。
▶︎コツ6:「数字」で指示を出す
「簡潔に」などの不明確な表現を減らして「200字以内で」「5つのポイントに絞って」など
具体的な数字で明確に指示を出すことで、精度の高い回答が得られます。
▶︎コツ7:何をすべきかを指示する
「何をしないか」だけでなく、「代わりに何をするか」を具体的に指示することで、希望する回答が得られやすくなります。
▶︎コツ8:コード生成時「リーディングワード」を使う
コード生成を指示するケースでは、書き始めに「リーディングワード」を使うと
イメージする特定の回答出力への誘導ができるようになります。
【代表的なプロンプトシステム】
▶︎深津式プロンプト
「深津式プロンプト」は、Note株式会社のCXOである深津貴之氏が開発したChatGPT向けのフレームワークです。
あなたは{プロの編集者}です。
以下の制約条件と入力文をもとに{最高の要約}を出力してください。
.
# 制約条件:
•文字数は300文字程度。
•小学生にもわかりやすく。
•重要なキーワードを取り残さない。
•文章を簡潔に。
.
# 入力:
{入力文章}
.
# 出力:
このプロンプトのポイントは以下の通りです。
①ChatGPTの役割を明確にする
②入力文を元に出力文を作ることを明確にする
③何を出力するのか明確にする
④「#」などを用いて、本文ではない箇所を明確にする
⑤命令を箇条書きで明確にする
▶︎ReActプロンプト
「ReActプロンプト」は Reasoning + Act を意味するプロンプトです。
{質問を入力}
Thought:
Action:
Observation:
このプロンプトのポイントは以下の通りです。
3段階を踏むことで、高精度の回答を得る
「タスクに対しての推論→具体的なアクションを列挙→見解」の3段階を踏むことが特徴です。
ChatGPTが「Thought→Action→Observation」と順番に生成することで、最後のObservationは初期のThoughtからActionを踏まえた回答に進化しています。
▶︎ゴールシークプロンプト
「ゴールシークプロンプト」はゴール+シーク
つまり、「ゴールを探してくれる」プロンプトです。
AIに質問するのではなく、回答を作るためにAIから質問してもらう、という発想から生まれたプロンプトです。
あなたは、プロンプトエンジニアです。
あなたの目標は、私のニーズに合わせて最高のプロンプトを作成することです。そのプロンプトは、ChatGPTで使用されるものです。
次のプロセスに従ってください。
1. まず最初に、何についてのプロンプトであるかを私に確認してください。
私が質問の答えを提供するので、次のステップを経て、継続的な反復を通じて改善してください。
2. 私の入力に基づいて、3つのセクションを生成します。
a) 改訂されたプロンプト(書き直したプロンプトを提示してください。明確、簡潔で、簡単にあなたが理解できるものしてください)
b) 提案(プロンプトを改善するために、プロンプトを含めるべき詳細について提案してください)
c) 質問(プロンプトを改善するために必要な追加情報について、関連する質問をしてくだい)
3. この反復プロセスは、私があなたに追加情報を提供し、あなたが改訂されたプロンプトセクションのプロンプトを更新し、私が完了したというまで続けます。
対話しながら、ゴールを探す
上記のプロンプトをスタートとして「プロンプトの回答」と「フィードバック」を繰り返しながら
ゴールを探すのが「ゴールシークプロンプト」です。
【まとめ:プロンプトは重要!】
▶︎プロンプトは回答精度に影響大
ChatGPTは大規模言語モデルで構成されています。大量の情報が埋まっている中で、適切な情報を引き出す役割を担っているのが、プロンプトです。
つまり、プロンプトが曖昧な場合、適切な情報を引き出すことができず、的外れな回答が返ってきてしまいます。求めている回答を引き出すためには、適切なプロンプトが必要です。
▶︎プロンプト活用のコツ
最新モデルを使用する
期待通りの回答を得るためには、ChatGPTの最新モデルを使用することをオススメします。
2023年11月時点では、最新モデルは「GPT-4」です。
プロンプトの最初に指示を置き、「指示」と「コンテキスト」を明確に区別する
以下のテキストの要点を箇条書きでまとめてください。
#テキスト:{テキスト入力}
具体的かつ詳細に指示する
小学生にも伝わる文章で、最近の DALL-E 製品の発売 に焦点を当て、OpenAI について200字以内で説明してください。
出力形式を例で明示する
OpenAI について説明してください。
#出力:設立年、事業内容、直近のトピック
ゼロショットから始めて微調整する
※ゼロショット
人が疲れた時は、どのような表情になりますか?
※フューショット
提示した単語が「明るい」か「暗い」かのどちらに該当するか回答してください。
#回答例
楽しい→明るい
心配→暗い
#提示する単語
疲れ→
「数字」で指示を出す
ChatGPTについて3つの箇条書きで説明してください
何をすべきかを指示する
以下はエージェントと顧客の間の会話です。エージェントは問題の診断と解決策の提案を試みますが、PII に関連する質問は控えてください。ユーザー名やパスワードなどの PII を尋ねる代わりに、ユーザーにヘルプ記事 www.samplewebsite.com/help/faq を参照するよう案内してください。
顧客: アカウントにログインできません。
エージェント:
コード生成時「リーディングワード」を使う
# 単純な Python プログラムを作成してください。
# 1. マイル数を聞いてください
# 2. マイルをキロメートルに変換してください
# 実行した結果ではなく、作成したプログラムを出力してください
import
▶︎代表的なプロンプトシステム
{赤字}の中は任意の文章に変えてください。
深津式プロンプト
あなたは{プロの編集者}です。
以下の制約条件と入力文をもとに{最高の要約}を出力してください。
.
# 制約条件:
•{文字数は300文字程度。}
•{小学生にもわかりやすく。}
•{重要なキーワードを取り残さない。}
•{文章を簡潔に。}
.
# 入力:
{入力文章}
.
# 出力:
.
ReActプロンプト
{質問を入力}
Thought:
Action:
Observation:
ゴールシークプロンプト
あなたは、プロンプトエンジニアです。
あなたの目標は、私のニーズに合わせて最高のプロンプトを作成することです。そのプロンプトは、ChatGPTで使用されるものです。
次のプロセスに従ってください。
1. まず最初に、何についてのプロンプトであるかを私に確認してください。
私が質問の答えを提供するので、次のステップを経て、継続的な反復を通じて改善してください。
2. 私の入力に基づいて、3つのセクションを生成します。
a) 改訂されたプロンプト(書き直したプロンプトを提示してください。明確、簡潔で、簡単にあなたが理解できるものしてください)
b) 提案(プロンプトを改善するために、プロンプトを含めるべき詳細について提案してください)
c) 質問(プロンプトを改善するために必要な追加情報について、関連する質問をしてくだい)
3. この反復プロセスは、私があなたに追加情報を提供し、あなたが改訂されたプロンプトセクションのプロンプトを更新し、私が完了したというまで続けます。
プロンプトどうだった?
正直、今まで質問を適当にしてたけど
すごく大事なんだなと思った!
人間からしたら同じことを聞いていても
ちょっとしたコツや工夫で
回答は変わってくることもあるよ!
これからは、この記事に書いてることも
意識しながら使っていくね。
プロンプトについての記事、いかがでしたか??
会話するように使えるシステムといっても
あくまでもAI。
人間から見ると同じような文章や内容でも
少しの工夫で回答精度は高くなります。
ぜひ、この記事でお話ししたことを参考にしてくださいね!
\そもそもChatGPTって??/
\ChatGPT有料版も気になる/