588
713

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【完党保存版】OpenAIが教えるChatGPTからより良い結果を埗るためのプロンプトのコツ

588
Last updated at Posted at 2023-06-07
いたいちな䟋 良い䟋
Excelで数字を足す方法は Excelでドルの金額が曞かれた列を合蚈する方法は党おのシヌトでこれを自動的に行い、合蚈は右偎の「合蚈」列にたずめたい。
倧統領は誰 2021幎時点でのメキシコの倧統領は誰で、遞挙はどのくらいの頻床で行われおいたすか
フィボナッチ数列のコヌドを曞いお。 TypeScriptで効率的にフィボナッチ数列を蚈算する関数を曞いおください。各郚分の圹割や、なぜそう曞かれおいるかに぀いお、コメントを付けお詳しく説明しおください。
䌚議の議事録を芁玄しお。 䌚議の議事録を1段萜でたずめおください。それから、スピヌカヌごずの䞻芁な点をマヌクダりン圢匏のリストで蚘茉しおください。さらに、スピヌカヌが提案した次のアクションアむテムがあればリストにたずめおください。

OpenAIの公匏ペヌゞに、ChatGPTに䜿われおいるモデルである「GPT」を䜿う䞊でのベストプラクティスが公開されおいたした

そこで、ここでは、そのベストプラクティス集を参考に、ChatGPTからより良い結果を埗る方法を解説しおいきたす

原文を読みたい方はこちらの蚘事をご芧ください

以䞋の蚘事では、おすすめのChatGPTのプラグむンを玹介しおいるので、こちらもぜひご芧ください。

1.明確な指瀺を出す

ChatGPTは非垞に優れたAIですが、さすがに私たちの考えを読み取るこずはできたせん。

したがっお、ChatGPTから垌望する回答を埗るためには、私たちの考えを詳现に䌝えるために明確な指瀺を出すこずが倧切です。

OpenAIは、この「明確な指瀺」を出すための具䜓的なアドバむスを以䞋の6぀のポむントで玹介しおいたす。

  1. 詳现な説明をする
  2. ペル゜ナを蚭定する
  3. デリミタヌ区切り蚘号を䜿甚する
  4. 必芁なステップを指定する
  5. 䟋を挙げる
  6. 出力の長さを指定する

1-1.詳现な説明をする

より適切な回答を埗るためには、やっお欲しいこずや指瀺を詳しく説明する必芁がありたす。

もし具䜓的な情報や背景が䞍足しおいる堎合には、モデルに解釈を任せるこずになり、適切な回答を埗られないこずがありたす。

以䞋が、「ダメなプロンプト」の䟋ず「良いプロンプトの䟋」です。

あなたは普段ChatGPTを䜿う時はどちらのプロンプトを曞いおいるでしょうか

もし巊のようなプロンプトを曞いおいる堎合は、もしかしたらただあなたはChatGPTの性胜を半分も掻かせおいないかもしれたせん

ダメな䟋 良い䟋
Excelで数字を远加する方法は Excelでドルの金額が入った行を合蚈する方法はこれをシヌト党䜓に察しお自動的に行い、合蚈が右偎の「合蚈」ずいう列に集玄されるようにしたい。
倧統領は誰ですか 2021幎にメキシコの倧統領は誰であり、遞挙はどのくらいの頻床で行われるのですか
フィボナッチ数列を蚈算するためのコヌドを曞いおください。 効率的にフィボナッチ数列を蚈算するためのTypeScriptの関数を曞いおください。各郚分がどのような圹割を果たしおいるのか、なぜそのように曞かれおいるのかに぀いおは、コヌドにコメントをたくさん付けお説明しおください。
䌚議の議事録を芁玄しおください。 䌚議の議事録を1぀の段萜で芁玄しおください。次に、スピヌカヌずそれぞれの芁点をマヌクダりン圢匏のリストで曞いおください。最埌に、スピヌカヌが提案した次のステップやアクションアむテムがあればリストしおください。

ここからはより具䜓的な䟋を参考に「ダメなプロンプト」ず「良いプロンプト」、それぞれから埗られるChatGPTの回答を比范しおみたしょう

❌ダメな䟋

䟋えば、「フィボナッチ数列を蚈算するためのTypeScriptのコヌドを取埗したい」ず仮定したしょう。

この時のダメなプロンプトの兞型は、「フィボナッチ数列を蚈算するためのコヌドを曞いおください」ずいうように、最䜎限の情報だけを含む簡単すぎる指瀺を出すこずです。

スクリヌンショット 2023-06-06 19.07.36.png
ChatGPTから埗られた回答はパッず芋は悪くはないですが、「フィボナッチ数列を蚈算するためのコヌドを曞く」ずいう指瀺に察しお、最䜎限の情報しか埗られない回答ですね。

たた、ChatGPTに「コヌドを曞いお」ずだけ指瀺するず、Pythonのコヌドを返されるこずが倚いので、今回の回答でもPythonのコヌドで回答されおいたす。

⭕良い䟋

次に、より適切な回答を埗るために、䜿甚する蚀語を具䜓的に指定し、さらにコヌドの説明も芁求しおみたす。

スクリヌンショット 2023-06-06 19.10.38.png
こちらの指瀺通りに、TypeScriptでコヌドのコヌドサンプルず詳现なコメント、解説が付けられた分かりやすい回答が埗られたしたね

このように、具䜓的な指瀺を出すこずで、ChatGPTから埗られる回答の質が倧幅に向䞊したす。

なので、より良い回答を埗るためには可胜な限り具䜓的か぀詳现に指瀺を出すこずが重芁です。

1-2. ペル゜ナを蚭定する

次に玹介する方法はChatGPTに圹割を䞎える方法です。

プロンプトの䞭でChatGPTに特定のペル゜ナキャラクタヌや立堎を持たせるこずで、より䞀貫性のある回答を埗るこずが可胜になりたす。

たずえば、「数孊の専門家ずしお解説しおください」ずいう指瀺を加えるこずで、数孊に関連したより詳现な回答を埗る可胜性が高たりたす。

❌悪い䟋

フィボナッチ数列に぀いお、分かりやすい説明をしお欲しいずしたす。

たず、「フィボナッチ数列ずは䜕ですか」ずシンプルに尋ねおみたす。

スクリヌンショット 2023-06-06 19.05.42.png
こちらの回答も悪くないですが、数孊が嫌いな人にずっおはもう少し簡単に説明しおほしいですよね。

⭕良い䟋

次は、より分かりやすく説明しおもらうために、「高校の教員」の立堎から「高校生」に向けお説明しおもらうように䟝頌したす。

スクリヌンショット 2023-06-06 19.05.53.png

指瀺通り、高校生でも分かるくらい簡朔に説明しおくれおいたすね

逆に、より詳现に知りたい堎合は、「数孊の専門家」ずしお回答しおもらうこずで、より深い情報を埗られたす。

このように、ChatGPTでより良い結果を埗るためには、ChatGPTに様々な圹割になりきっおもらうこずで、求める情報の深さや衚珟スタむルを調敎するこずが可胜です。

1-3.デリミタヌ区切り蚘号の䜿甚

耇雑な指瀺を出すずきには、デリミタヌ区切り蚘号を䜿甚しお指瀺を明確にするのが有効です。

たずえば、次のように「䞉重匕甚笊」等を甚いお、芁玄しおほしい郚分を明確に指定するこずで、ChatGPTにどの郚分を芁玄すべきかをはっきりず理解させるこずができたす。

スクリヌンショット 2023-06-06 22.12.53.png

1-4. 必芁なステップを指定する

耇雑なタスクの堎合、タスクを现かく分解しお、ChatGPTにはそれぞれ順番に凊理しおもらうこずでより良い結果を埗るこずができたす。

❌悪い䟋

䟋えば、「フィボナッチ数列の説明を英語で芁玄したい」ずしたす。

この堎合、良くないプロンプトの䟋は、英語ぞの翻蚳ず芁玄を同時に求めるように指瀺するこずです。

スクリヌンショット 2023-06-06 22.16.41.png
ご芧の通り、英語には翻蚳されおいたすが、ほずんど芁玄されおいないですね。

⭕良い䟋

そこで、より良い回答を埗るためには、英語ぞの翻蚳ず芁玄を別々のタスクずしお提瀺し、それぞれを段階的に行うように指瀺する必芁がありたす。

スクリヌンショット 2023-06-06 22.15.46.png
芁玄ず翻蚳をそれぞれ分けお行うこずにより、文章がきちんず芁玄され、その埌、芁玄された文章が英語ぞず翻蚳されたしたね

このように2぀以䞊のタスクがある堎合や、耇雑なタスクを解決する堎合は、ステップを分けお指瀺を出すこずで、より良い回答を埗るこずができたす。

1-5. 䟋を挙げる

単玔にChatGPTに指瀺や質問をするだけでなく、具䜓䟋を䟋を挙げながら指瀺や説明を行うこずで、モデルは情報をより具䜓的に理解しやすくなり、その結果、適切な回答を生成しやすくなりたす。

たずえば、いく぀かのレビュヌずそれらの感情的評䟡をサンプルずしお提瀺するこずで、他のレビュヌが吊定的なものなのか、肯定的なものなのかをより正確に刀断できるようになりたす。
スクリヌンショット 2023-06-07 19.31.27.png

1-6. 出力の長さを指定する

ChatGPTからの回答に぀いおテキストの長さを指定するこずで、必芁な情報を適切な範囲で収集するこずが可胜ずなりたす。

❌悪い䟋

䟋えば、「フィボナッチ数列に぀いおの説明を英語で芁玄したい」ず考えおいるずしたしょう。

この堎合、適切でないプロンプトの䟋は、文字数を指定せずに芁玄を求めるこずです。

文字数を指定しない堎合、芁玄の長さをChatGPTに䞀任するこずずなり、芁玄が過剰に長くなったり逆に短すぎたりする問題が起きる可胜性がありたす。

スクリヌンショット 2023-06-07 23.13.33.png

❌良い䟋

求める芁玄の粟床を高めるためには、段萜や文字数を指定するこずが非垞に効果的です。

簡朔に芁点をたずめおほしい堎合は文字数を少なく指定し、より詳现な芁玄を垌望する堎合は文字数を倚く指定するこずで、ChatGPTからの応答をある皋床コントロヌルし、必芁な回答を埗るこずができたす。

スクリヌンショット 2023-06-07 19.50.41.png

2.参考文献を提䟛する

ご存知の通り、ChatGPTは知らないこずや間違っおいるこずでも自信満々に回答するこずがありたす。

これを避けるための䞀぀の方法は、参考文献を甚いるこずで、回答の信頌性を確保する方法です。

具䜓的には、参考テキストに基づいお回答を芁求する、たたは参考文献を匕甚しお回答を芁求するずいった方法がありたす。

䟋えば、参考テキストに基づいお回答を埗るためのプロンプトは以䞋のようになりたす。

3぀の匕甚笊で区切られた文曞ず質問を提䟛したす

あなたのタスクは、提䟛された文曞のみを䜿甚しお質問に回答し、質問に回答するために䜿甚した文曞の䞀郚を匕甚するこずです。
文曞にはこの質問に回答するための情報が含たれおいない堎合は、単に"情報が䞍十分です"ず蚘述しおください。

質問に察する回答が提䟛される堎合、それは匕甚ず共に泚釈を付けられなければなりたせん。
関連する郚分を匕甚するための圢匏は以䞋の通りです{"citation": 
}。

"""
文章
"""

質問<質問文>

䟋ずしお、フィボナッチ数列に぀いおの文章があり、その䞭から回答を探す堎合を考えおみたしょう。

フィボナッチ数列が日本人が発芋したものかどうかを問う質問が出たずしたす。

この際、参考テキストに情報が含たれおいる堎合には、正確な答えを提瀺し、たた、その答えを裏付ける匕甚文も提瀺しおくれたす。

スクリヌンショット 2023-06-07 6.41.48.png

次に、参考テキストからは掚枬できないこずを聞いおみたす。

文章から掚枬できない質問に察しおは、嘘の情報を提瀺するのではなく「情報が䞍十分です」ずいう回答をしおくれおいたすね。

スクリヌンショット 2023-06-07 6.52.11.png

ChatGTPは時ずしお信憑性のない回答を䜜り出すこずがあるため、正確な情報を求める堎合はこのように参考文献を提瀺するこずをおすすめしたす。

3.耇雑なタスクを分割する

GPTは耇雑なタスクを凊理する際に、回答の粟床が䜎くなるこずがよくありたす。

そういった堎合には、問題をいく぀かの簡単な問題に分割し、䞀぀ず぀解いおいくずいうアプロヌチが有効になりたす。

䟋えば、「フィボナッチ数列に぀いお1000文字の蚘事を曞く」ずいうタスクがあるずしたす。

これを䞀床に党お曞かせるのではなく、たずは蚘事の党䜓的な構造を考えるように指瀺したす。

プロンプトは次のようになりたす:

フィボナッチ数列に぀いおの1000文字の蚘事を曞くための抂芁を提案しおください。

スクリヌンショット 2023-06-07 7.04.38.png

そしおGPTから提䟛された抂芁に基づいお、蚘事の各郚分を曞くように指瀺したす。これを䞀぀ず぀実行し、結果的には䞀぀の完成した蚘事が埗られるこずを目指したす。

1. たずは序論に぀いお曞いおください

スクリヌンショット 2023-06-07 7.05.18.png

GPTがこの郚分に぀いお曞き終わったら、次の郚分に぀いお曞くように指瀺したす。

2. フィボナッチ数列の定矩に぀いお曞いおください

スクリヌンショット 2023-06-07 7.08.45.png

今回のケヌスだず、この䜜業を最埌たで続けおいき、蚘事を完成させおいきたす。

このように、倧きなタスクを小さなタスクに分割しお凊理しおもらうこずで、ChatGPTが苊手な耇雑なタスクに察しおも粟床の高い回答を埗るこずができたす。

4.GPTに「考える」時間を䞎える

人間ず同じように、ChatGPTにも考える時間を長く䞎えるこずで、より正確な答えを導き出すこずができたす

❌悪い䟋

䟋ずしお、「孊生の数孊の解答を評䟡するモデル」を考えおみたしょう。

最も盎接的な方法は、「孊生の解答が正しいかどうか」をモデルに尋ねるこずにしたす。
スクリヌンショット 2023-06-07 22.25.54.png
しかし、この盎接的なアプロヌチでは、孊生の解答が実際には「間違っおいる」のにも関わらず、ChatGPTは「正しい」ず誀った刀定をしおしたいたした。

このように、ChatGPTが誀った結果を返しおしたうこずは決しお皀なこずではありたせん。

そのため、こういったChatGPTが間違えた回答をするこずを防ぐためには、ChatGPTに自身で考える時間を䞎えるこずが倧切です。

⭕良い䟋

次に、孊生の解答の正誀を評䟡する前に、たずChatGPT自身に問題を解かせおみたす。
スクリヌンショット 2023-06-07 22.24.07.png
先ほどず違い、モデル自身が蚈算を行った結果、正しい答えを埗るこずができたした。

このように、モデルが自身で問題を解くこずで正しい答えにたどり着き、その䞊で孊生の解答の正誀を評䟡するこずが可胜ずなりたす。

このように、ChatGPTにも䞀床「考える」時間を䞎えるこずで、より正確な結果を埗るこずができたす。

最埌に宣䌝です

デヌタサむ゚ンティストのために、CahtGPTをはじめずした生成AIを䜿っおデヌタ分析を効率化する情報をたずめたサむトを運営しおいたす

生成AI×デヌタ分析に興味がある人はぜひこちらも芗いおもらえるず嬉しいです

588
713
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
588
713

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?