ChatGPTのプロンプトとは?作成のコツやすぐに使えるプロンプトのパターンをご紹介
世界的に注目されている「ChatGPT」。今ではビジネス領域でも活用され、社内での業務効率化や、顧客向けのサービスに組み込むなど、利用方法が拡がってきています。しかし、ChatGPTをどのように使えばいいのかイメージがわかない人もいるのではないでしょうか。本記事ではChatGPTを使いこなすプロンプトのコツを紹介します。
ChatGPT の「プロンプト」とは?
ChatGPTを使用する際のプロンプト(Prompt)とは、対話型生成AIに対して投げかける「指示」「情報」のことです。ChatGPTであれば「○○について教えてください」「××のデータから考察をしてください」といったものがプロンプトに相当します。
プロンプトは、ChatGPTを上手に活用するための要(かなめ)であり「プロンプトが使いこなせない」=「ChatGPTを使いこなせない」ことになります。
ChatGPTについてはこちらの記事もご覧ください。
ChatGPTとは?始め方と使い方、注意点をわかりやすく解説
ChatGPT プロンプト作成のコツとは?
ChatGPTのプロンプトを作成するときのコツは「具体的に」書くのが基本です。ほかにもいくつかプロンプトのコツがあるので基本編と応用編にわけて解説します。
プロンプト作成のコツ<基本編>
●明確な指示を書く
ChatGPTは高度なAIを搭載していますが、私たちの心や思考を読むことはできません。そのため、望んでいる回答を得るには、自分の考えや要求をはっきりと伝えることが重要です。
情報が不足していると、ChatGPTは自分で解釈し、期待していたものと異なる答えを出すことがあります。たとえば、特定のプログラミング言語で書かれたコードを求めている場合、その言語を明確に指定しないと、ChatGPTは別の言語でコードを提供するかもしれません。
●参考テキストを提供する
生成されるテキストに特定の文体を求めるのであれば、参考テキストを提供するのも有効です。たとえば、ある小説家の文体に似せた短編小説を生成したいのであれば、参考テキストとして小説の一部をプロンプトで提供することでテイストを真似た小説を生成するでしょう。
ChatGPTが、文体や作風を真似て文章を生成してくれるので、自分風のブログを書くときや、フォーマットに沿った研究レポートを書きたいとき、営業メールのたたき台を作りたいときなどに有効です。
●複雑なタスクは単純なタスクに分割する
ChatGPTに複雑なタスクを頼む際には、よりシンプルなタスクに分割して依頼することで、正確な回答を得ることが可能です。
たとえば、複数の料理レシピを組み合わせて献立を計画するようなタスクは、ChatGPTにとって難しい場合があります。1つの質問で複数のレシピを組み合わせた献立を作成してもらうよりも、まずは1つ目のレシピを作成することから始め、次にそれに合う追加の料理を順番にたずねる方が、より良い献立を立てられます。
●考える時間を与える
人間が短時間で複雑な計算を解くのが難しいように、ChatGPTもすぐに正しい回答を出せるわけではありません。たとえば、計算問題<24×432÷12=865>の正否をChatGPTに質問すると「正しい」と回答してしまうことがあります(正解は864)。
こういうときはプロンプトで「事前に自分で同じ問題を解いてから判断してください。」とすることで、回答精度が高まります。最初から回答を導かせるのではなく、考える時間を与えるようにしてみましょう。
プロンプト作成のコツ<応用編>
●ペルソナを設定する
ChatGPTに特定のペルソナ(目的のために仮に設定した人物像)を割り当てると、期待する回答を得やすくなります。たとえば、あなたが料理についてのアドバイスを求めている場合、「プロのシェフとして回答してください」とChatGPTに指示することで、プロの料理人の視点からの専門的なアドバイスを得られます。
普通に「トマトソースの作り方を教えてください」とたずねると、一般的なレシピが返ってくることがあります。しかし「プロのシェフとして回答してください」とリクエストすれば、プロの視点から見た独自のコツや秘訣を含む詳しい説明が得られることでしょう。
●区切り記号#を使用する
ChatGPTに翻訳や要約を依頼する際には、「三重引用符(’’’や”””)」のような区切り記号を使うと、より明確に指示を伝えられます。区切り記号を使うことで、依頼する文章と指示を明確にわけることができるのです。
たとえば、解析や概要を求める文章が指示と混ざると、ChatGPTはどの部分を処理すべきかを正確に判断できず、思ったような回答が返ってこない可能性があります。そのため、処理したい文章を区切り記号で囲むことで、ChatGPTは依頼されたタスクをより正確に実行することができます。
●希望する回答の長さを指定する
ChatGPTでは、回答の長さを指定してコントロールできます。詳細な説明が必要なときは多くの文字数を要求し、逆に簡潔な情報を求めるときは、文字数を少なく指定します。求める情報に応じた回答が得られる確率が高まります。
たとえば、ある有名な小説の概要を知りたい時、文字数を指定しないとその小説の深い分析や文学的背景にまで踏み込んだ長い回答が来るかもしれません。要点だけを押さえた説明がほしいなら、短い文字数を指定することで、小説の基本的なプロットや特徴だけを抽出してくれるでしょう。
●希望する出力形式を例で示す
もし特定のフォーマットで回答がほしいときや、説明が複雑なときは具体的な例を挙げると良いでしょう。こうすることで、ChatGPTはより正確にあなたのニーズを理解し、適した答えを返しやすくなります。
たとえばレビューがポジティブかネガティブかを簡潔に判定してほしい場合、具体例を示さなければ不要な詳細が含まれた回答が返ってくることがあります。「楽しかった:肯定的」「つまらなかった:否定的」のように具体的な回答形式の例を示すことで、的確な回答を得る確率を上げられるでしょう。
実務に使えるプロンプトのパターンを紹介
ここでは、有名なプロンプトのパターンを2つ紹介します。
深津式プロンプト
「深津式プロンプト」は、Note株式会社のCXOである深津貴之氏が考案したChatGPTフレームワークです。このフレームワークは、ChatGPTの効率と精度を向上させることを目的として設計されました。ここでは、このフレームワークを活用した場合の具体的な例を紹介します。
#命令書:
あなたは、{text}です。
以下の制約条件と入力文をもとに、 最高の結果を出力してください。
#制約条件:
・文字数は{text}
・{text}
#入力文:
{text}
#出力文:
シュンスケ式プロンプト(ゴールシークプロンプト)
ゴールシークプロンプトは「抽象的なイメージからゴールに向かってプロンプトを生成する」プロンプトです。ゴールに向かってChatGPT自身がプロンプトを生成するのが特徴。実際にプロンプトを見てみましょう。
あなたは優秀なプロンプトエンジニアです。
最高のChatGPTへのプロンプトを一緒に考えてください。
以下のプロセスに従ってください。
- まず最初に、何についてのプロンプトであるかを私に確認してください。
私が質問の答えを提供するので、次のステップを経て、継続的な反復を通じて改善してください。 - 私の入力に対して、3つのセクションを生成してください。
A. 改訂されたプロンプト(書き直したプロンプトを提示。明確、簡潔で、簡単にあなたが理解できるもの)
B. 提案(プロンプトを改善するために、プロンプトに含めるべき詳細を提案してください)
C. 質問(プロンプトを改善するために必要な情報を、私に尋ねてください) - このプロセスは、私があなたに追加情報を提供し、あなたが改訂されたプロンプトセクションのプロンプトを更新します。
私が「完了」というまで続けてください。
このプロンプトを投げかけるとChatGPTは以下のような質問を返してきます。
まずは、プロンプトの主題について確認させてください。どのようなトピックや質問についてのプロンプトを作成したいですか?たとえば、技術、歴史、科学、芸術、あるいは特定のシナリオに関するものでしょうか?それとも、ある種の創造的な物語や特定の状況分析に関するものでしょうか?具体的なトピックを教えていただければ、最適なプロンプトを作成するためのプロセスを始めることができます。
このように、ChatGPTと一緒に最適なプロンプトを探索することができます。
ChatGPTプロンプト活用例
ChatGPTのプロンプト活用例を6つのケースにわけて紹介します。用途に合わせて活用してください。なお、本記事ではGPT4で生成させています。また、ここで紹介するプロンプトは深津式プロンプトを採用しています。
1.文章を要約する
<プロンプトパターン>
#命令書
あなたは、健康とウェルネスに特化したオンラインメディアで編集者として働いています。最新の健康トレンド、栄養情報、エクササイズの方法などを紹介するメディアを管理し、今回は健康関連の記事の要約を作成したいと考えています。以下の入力文の内容に基づいて、効果的な要約をしてください。
#制約条件
・要約文は「400字以内」
#入力文:
・要約したい文章(ここでは省略)
#出力文:
<ChatGPTの回答>
○○は、情報通信機器を利用して医師や医療従事者から一般的な医学情報や助言を得るサービスです。体調不良や心身の不安がある際に利用可能で、厚生労働省では「遠隔健康医療相談」と呼ばれています。アプリや保険会社のサービスを通じて提供され、方法は電話、ビデオ通話、チャットなどがあります。この記事では、10種類の健康相談アプリを紹介しており、それぞれの特徴や利用方法が説明されています。
(※以下、省略)
2.クロスレビューをする
<プロンプトパターン>
#命令書
・あなたは、デジタル教育コンテンツを提供する企業の企画担当者です。以下の制約条件と入力文をもとに、様々なアイデアを出力してください。
#制約条件
・多くのアイデアを提供してください
・参考となる他社の事例があれば、それを紹介してください
#入力文
新たに「オンライン教育プログラム」の提供を開始したいと考えています。
このサービスを展開するにあたり、教育コンテンツ開発者の観点、教育心理学の観点、ユーザーインターフェースデザインの観点、データ保護とプライバシーの観点の4つの観点から注意すべき点を教えてください。
#出力文
<ChatGPTの回答>
オンライン教育プログラム開発において、以下の4つの観点からのアイデアをご紹介します。
教育コンテンツ開発者の観点
多様な学習スタイルへの対応: ビジュアル、オーディオ、キネステティックなど、異なる学習スタイルに適した教材を組み合わせる。
アクティブラーニング: 参加型学習やプロジェクトベースの活動を取り入れることで、双方向の学習体験を提供。
カスタマイズ可能なコース設計: 生徒の興味やレベルに合わせて内容を調整できるようにする。
教育心理学の観点
ゲーミフィケーション: 学習要素にゲームのような要素を取り入れて、モチベーションを高める。
フィードバックとサポート: 定期的なフィードバックと個別指導を通じて、生徒の自信と学習意欲を支援。
学習コミュニティの構築: 学習者同士の交流を促進するフォーラムやディスカッショングループを設ける。
ユーザーインターフェースデザインの観点
直感的なナビゲーション: 利用者が容易にコンテンツを探し出せるよう、シンプルで明瞭なUI設計。
レスポンシブデザイン: さまざまなデバイス(PC、タブレット、スマートフォン)でのアクセスを考慮。
視覚的魅力: 魅力的なグラフィックデザインと動画を活用して、ユーザーの関心を引きつける。
データ保護とプライバシーの観点
データ暗号化: ユーザーの個人情報や学習データを暗号化して保護。
利用者同意の徹底: データ収集と使用に関して、明確な同意プロセスを設ける。
透明性の確保: データ使用の目的と手法を明確にし、ユーザーに情報を提供。
参考事例:
カーンアカデミー: ビデオ教材、インタラクティブな演習、個別化された学習ダッシュボードを備え、多様な学習スタイルに対応。
デュオリンゴ: ゲーミフィケーション要素が豊富で、言語学習を楽しく促進。
コードアカデミー: 実践的なプログラミングスキルをオンラインで学ぶことができ、プロジェクトベースの学習を重視。
これらの観点を踏まえたオンライン教育プログラムの設計は、効果的な学習体験を提供し、広範囲の学習者にアピールすることができるでしょう。
3.文章を校正する
<プロンプトパターン>
#命令書:
あなたはプロの編集者です。
以下の制約条件で入力文を校正してください。
#制約条件:
•文章全体の流れを意識する(論理展開やリズムをよくする)
•重要なキーワードを取り残さない。
•指摘は簡潔に。
#入力文
(省略)
<ChatGPTの回答>
この記事は睡眠不足解消の方法を提供していますが、構成を改善するとさらに理解しやすくなります。
睡眠不足解消の重要性と一般的な状況の紹介を先にして、読者の関心を引きます。
例: 「日本人は睡眠時間が短く、特に家事や育児に忙しい方々は睡眠不足になりがちです。睡眠不足は心身に様々な影響を与えるため、睡眠の質を高めることが重要です。」
解決方法の提示。ここで、朝日を浴びること、規則正しい生活をすること、適度な運動、入浴のコントロール、覚醒作用のある飲食物の避けることの5つの方法を挙げます。それぞれの方法について簡潔に説明し、なぜそれが効果的かを述べます。
例: 「睡眠不足解消には、次のような方法があります。朝日を浴びることで体内時計が整い、規則正しい生活は快眠を促進します。また、運動や適切な入浴は体温調節に役立ちます。さらに、睡眠前にカフェインを含む飲食物を避けることで、より良い睡眠が得られます。」
睡眠不足の影響についての詳細な説明。ここで慢性的な着眠不足が心身に及ぼす影響を強調し、日々の生活習慣を見直す重要性を訴えます。
例: 「慢性的な睡眠不足は、生活習慣病や思考力の低下など、心身に大きな影響を与えます。日々の生活を見直し、睡眠の質を向上させることが大切です。」
最後に、快適な睡眠を得るための提案を再び強調し、読者に実践を促します。
例: 「睡眠不足が気になる方は、上記の方法を試してみてください。快適な睡眠を得ることで、より健やかな毎日を過ごせるでしょう。」
4.ビジネス文書を作成する
<プロンプトパターン>
#命令文
あなたは企業で働く商品企画担当者であり、今回、外部のデザイナーに新商品のパッケージデザインの案件を依頼したいと考えています。以下の情報を基に、礼儀正しい口調で依頼のメールを作成してください。
#制約条件
・メールのはじめに「お世話になっております。○○と申します。」と記述する
・日頃の感謝の気持ちを示した後、依頼内容を伝える
#入力文:
・依頼キーワード「新商品のパッケージデザイン」
・作業内容:コンセプトデザイン、最終デザイン
・納期:7月10日
・報酬:応相談
・注意点:コンセプトデザイン段階で初期レビューを行います。
#出力文:
<ChatGPTの回答>
お世話になっております。○○と申します。
いつもお力添えいただき、心より感謝申し上げます。このたび、弊社で企画中の新商品について、貴社のデザインセンスと豊かな経験を活かしていただきたく、パッケージデザインの案件をご依頼したいと考えております。
依頼内容は、新商品の「パッケージデザイン」の作成です。具体的には、商品のコンセプトに沿った初期のコンセプトデザインを作成いただき、その後、最終デザインに進んでいただきたいと思います。作業の進行にあたっては、コンセプトデザイン段階で初期レビューを行う予定ですので、その点をご留意いただけますと幸いです。
納期に関しましては、7月10日までに最終デザインの完成を目指していただきたく存じます。報酬につきましては、ご相談の上、決定させていただければと思います。
貴社の創造性と専門性をこのプロジェクトに活かしていただけることを、心より楽しみにしております。この依頼に対し、ご検討いただけますと幸いです。何卒よろしくお願い申し上げます。
敬具
5.議事録を作成する
<プロンプトパターン>
本日行われた会議の要点をまとめました。以下のガイドラインに従って議事録を作成します。
【ガイドライン】
目次の記載は省略
本日行われた会議の要点をまとめました。以下のガイドラインに従って議事録を作成します。
【ガイドライン】
目次の記載は省略
各参加者ごとに報告内容をまとめる
最後に全員のToDoリストを付記する
【速記メモ】
2023年12月20日 13:00 開始の定例会議
主催者:鈴木部長
伊藤(マーケティング部課長)
中村(製造部課長)
山本(研究開発部課長)
斉藤の発言:社内研修プログラムの充実化について報告。予算の制約による実現困難を指摘。
伊藤と高橋の討議:効率的な資金配分の必要性について意見交換し、共同での検討を開始。
伊藤の発言:会計年度の財務報告を提示し、将来の大型プロジェクトへの備えの重要性を強調。
小林の発言:営業チームの売上目標達成状況について報告。目標達成に若干の遅れがあることを明らかにし、新しい顧客獲得戦略の提案。
鈴木の発言:組織全体の戦略再確認。売上目標の重要性と社員モチベーション向上策を強調し、各部門に具体的な取り組みを指示。
<ChatGPTの回答>
定例会議議事録
日時: 2023年12月20日 13:00
主催: 鈴木部長
参加者:
伊藤(マーケティング部課長)
中村(製造部課長)
山本(研究開発部課長)
斉藤
高橋
小林
議題と内容:
斉藤の発言:
社内研修プログラムの充実化に関する報告。
予算の制約により実現が困難であると指摘。
伊藤と高橋の討議:
効率的な資金配分に関して意見交換。
共同での検討を開始。
伊藤の発言:
会計年度の財務報告の提示。
将来の大型プロジェクトへの備えの重要性を強調。
小林の発言:
営業チームの売上目標達成状況の報告。
目標達成に遅れがあることの明示。
新しい顧客獲得戦略の提案。
鈴木の発言:
組織全体の戦略の再確認。
売上目標の重要性と社員モチベーション向上策の強調。
各部門に具体的な取り組みを指示。
全員のToDoリスト:
斉藤: 社内研修プログラムの具体的な提案を策定。
伊藤と高橋: 効率的な資金配分に関する共同検討の継続。
伊藤: 財務報告の詳細分析と将来のプロジェクト計画の策定。
小林: 営業チームの売上達成のための新戦略の実施。
鈴木: 部門別戦略の進捗管理と社員モチベーション向上策の評価。
結論:
会議では、各部門の現状と今後の戦略に関して有意義な討議が行われた。全員が指示されたToDoを実行することで、組織の目標達成に向けた効率的な進捗が期待される。次回の定例会議では、これらの取り組みの進捗状況が報告される。
6.プログラム作成の補助に使用する
<プロンプトパターン>
#命令文
あなたはnode.jsを使用するエンジニアです。
以下のコードのバグチェックと改善を行います。バグを特定し、修正案を提案し、改良したコードを提示します。
#入力文
・コード(省略)
Thought :
Action :
Observation :
#出力文
<ChatGPTの回答>
Thought:
このコードはNode.jsでAnthropicのSDKを使用しています。主な機能は、特定のメッセージとパラメータをAnthropic APIに送信し、応答を受け取ることです。コードを確認すると、いくつかの潜在的な問題や改善点があります。
import文はNode.jsの標準構文ではなく、通常はrequireを使用します。
環境変数の取り扱いは適切ですが、環境変数が設定されていない場合のエラーハンドリングが欠けています。
main関数内でのエラーハンドリングがありません。API呼び出しや非同期操作中にエラーが発生した場合の処理が必要です。
console.log(message.content);は、正しい応答プロパティを参照していない可能性があります。これはAPIの応答形式に依存します。
Action:
以下のステップでコードを改善します。
require文を使用してAnthropic SDKをインポートします。
環境変数ANTHROPIC_API_KEYが設定されていない場合のチェックを追加します。
try…catchブロックを追加して、非同期操作中のエラーを捕捉し、処理します。
AnthropicのAPI応答の形式を確認し、正しいプロパティにアクセスしていることを確認します。
Observation:
修正後のコードを提示します。
修正後のコード:
(省略)
このコードはAnthropic SDKの仕様とAPIの応答形式によってはさらに調整する必要があります。また、message.contentが正しいプロパティかどうかは、SDKのドキュメントを参照して確認する必要があります。
企業でChatGPTを利用するならAzure OpenAI Service
Azure OpenAI Serviceとは、MicrosoftのAzureクラウドプラットフォーム上で提供されるサービスで、OpenAIの言語モデルへのアクセスを可能にします。利用可能なモデルにはGPT-4、GPT-4 Turbo with Vision、GPT-3.5-Turbo、埋め込みモデルシリーズなど、OpenAIが開発したさまざまな言語モデルがラインナップされています。
入力データが学習に使われることはなく、セキュアな環境で利用したいニーズに応えられるのがAzure OpenAI Serviceの特徴です。
・Azure OpenAI Service についてはこちら もご覧ください。
プロンプトのパターンを活用してChatGPTを使いこなしましょう
ChatGPTは生成AIの代表として認知されており、今後もGPT5が発表されてその能力がどこまで伸びるのか未知数といわれています。しかし、GPT3.5やGPT4も使いこなせばビジネス領域で十二分に強力なツールとなるはずです。
今回紹介したプロンプトのコツを意識して、ぜひChatGPTを使いこなしてみてください。
[著者プロフィール]
Y.Kuroda
MLエンジニア&Web開発者&ITライター。MLエンジニアとして働きながらとSEOの知見を活かした記事を執筆しています。ライター業務を効率化するWebサービス『MOJI-KA』を開発・運用中です。