「OpenAI APIの使い方をマスターして独自サービスを作ろう!PHP編」で、最後に「ChatGPTのことはChatGPTに聞いてみるのもよいかも」と書きました。
さっそく試してみよう!ということで今回は、ChatGPTでのプロンプト(指示文)の書き方について聞いてみたいと思います。
ChatGPTの言う通りにするとどのような結果になるのか、そこから何か学べるかを試してみました。
どのような結果になったかをご紹介いたします。
プロンプトについて聞いてみる
まずは、そもそもどのようなプロンプトがいいのかを聞いてみたいと思います。
試しに、記事のライティングの草案をお願いするときのプロンプトについて質問してみます。
記事の目的や目標が含まれているとよい、というのはあまり他で見たことがないポイントかもしれません。
草案を考えてもらう
先ほどの回答をもとに、プロンプトを書いてみたいと思います。
今回は「ChatGPTのプロンプトの書き方についての記事の草案」を作ってもらう想定で書いてみます。
まずは、ChatGPTに教えてもらった形式を元に情報を書き出してみます。
1.記事のタイトル 【ChatGPT】よりよいプロンプトを書くには?気を付けるべき点とは? 2.主要なトピック ・プロンプト例 ・プロンプト作成時に気を付けるべきこと 3.記事の構成アプローチ 問題解決型。SEOに考慮した構成。 4.記事のスタイル(トーン・語彙) 文体はですます調。 一般的な大人が分かる語彙。 5.読者が得られるメリット、6.記事の目的 ChatGPTにより望んだ結果を得るためのプロンプトの書き方を学べる。
書き出した情報を元に下記のようなプロンプトを作りました。
これをChatGPTに投げてみます。
記事の草案を考えてください。 記事のタイトルは「【ChatGPT】よりよいプロンプトを書くには?気を付けるべき点とは?」。 記事の主要なトピックとして、プロンプト例、プロンプト作成時に気を付けるべきことを盛り込んでください。 記事の構成は、問題解決型でお願いします。 記事の文体は、ですます調。語彙は、一般的な大人が分かる程度でお願いします。 読者が、ChatGPTにより望んだ結果を得るためのプロンプトの書き方を学べるような記事にしてください。
ChatGPTに質問してみると、以下のような回答が返ってきました。
なんだか「プロンプト」の意味を取り違えているような答えですね…
特にプロンプト例は、そのままChatGPTに投げるにはふさわしくない内容に見えます。
(例えば、今上映されている映画のオススメを聞くことは、最近の情報を持っていないChatGPTには難しい)
「こんにちは、私はChatGPTです。」と名乗ってしまっているのも、記事の草案としてはふさわしくないですね…
全体的に、こちらの意図がうまく伝わっておらず、ほしい内容が回答されていないように見えます。
プロンプトを修正する
「プロンプト」の意味を限定できるよう、プロンプトの内容を少し修正してみます。
修正した箇所を太字にしています。
記事の草案を考えてください。 記事のタイトルは「【ChatGPT】よりよいプロンプトを書くには?気を付けるべき点とは?」。 記事の主要なトピックとして、ChatGPTに指示をするプロンプト作成時に気を付けるべきこと、プロンプトの具体例を盛り込んでください。 記事の構成は、問題解決型でお願いします。 記事の文体は、ですます調。語彙は、一般的な大人が分かる程度でお願いします。 読者が、ChatGPTに指示する際、より望んだ結果を得るためのプロンプトの書き方を学べるような記事にしてください。
「プロンプト」の意味が限定できるよう、主要なトピック部分を修正しました。
最後の1行は意味が捉えづらい書き方だったので、より意味が理解しやすくなるよう修正しました。
ChatGPTに質問してみると、以下のような回答が返ってきました。
回答内容がかなり良くなりました!
そのまま記事の草案として活用できるような内容が出力されました。
プロンプトを少し変えただけでここまで変わるのは、驚きです。
回答内容を見てみる
せっかくChatGPTへのプロンプトについて聞いてみたので、回答を見ていきたいと思います。
「問題を明確にする」「プロンプトを簡潔にする」ことは意識したほうがよさそうです。
プロンプトの内容を簡潔にすることで、何を知りたいのかをChatGPTがくみ取りやすくしましょう。
感情的な表現をむやみに入れないことも、文章を簡潔にすることに繋がるでしょう。
簡潔にしすぎて必要な情報まで削ってしまわないよう、注意は必要です。
「プロンプト内の語彙に注意する」というのも重要です。
なるべく一般的な語彙で指示するのが望ましいですが、どうしても専門用語の使用が避けられなければ、先に専門用語の意味について説明するのも手です。
ChatGPTは、それまでの会話の内容も踏まえて回答します。
こちらから教えた内容は学習してくれますので、ChatGPTが知らない専門用語も教えれば、意味を把握したうえで回答してくれます。
まとめ
プロンプトを書くとき、こちらが把握していること・考えていることが、ChatGPTに伝わっているかを意識するのがコツだと感じました。
個人的には、他の人に何かを依頼するときに気を付けることと同じだなと思いました。
普段の会話でも、前提条件は抜けてしまいがちですよね。AIでもそこは変わらないようです。
ChatGPTからの回答を読んで、こちらの前提が伝わっていないと感じたら、プロンプトの内容をより具体的にして再度質問しましょう。
「質問する → 回答を見てプロンプトを修正する」を繰り返すことで、よりよい回答を得られるでしょう。
ChatGPTは、それまでの会話の内容も踏まえて回答しますが、
的を得ない回答が続くときは、新しい会話でやり直すのもよいかもしれません。
プロンプトの書き方を意識して、より効率的にChatGPTを活用していきましょう。
今記事での検証は、毎回「New Chat」で会話を作り直しています。
あくまでプロンプトの違いだけで回答内容が変わったということになります。