最終更新日:
ChatGPTのプロンプトエンジニアリングとは|7つのプロンプト例や記述のコツを紹介
近年注目されているChatGPT。2022年11月に公開されてから瞬く間に広がり、革新的なサービスとして世界中で話題を集めています。ChatGPTはコードを生成したり、ビジネスメールを考えたり、今後もさまざまな業界において活用が加速していくでしょう。
ChatGPTを使いこなす上でポイントとなるのが、プロンプトエンジニアリングです。この記事では、7つのプロンプト例や記述のコツを紹介していきます。ChatGPTを活用してより業務を効率化させたい方は、ぜひ参考にしてください。
なお、プロンプトエンジニアリングを体系的に学ぶのであれば、スキルアップAIのReスキル講座の受講がおすすめです。当社では、豊富なハンズオンを通じて実践的なスキルを身につけられる2つのプロンプトエンジニアリングコースを提供しています。これにより、最短でプロンプトエンジニアを目指すことが可能です。
さらに、どちらの講座も給付金の対象となっており、受講料の最大70%がキャッシュバックされます。給付金に関する説明会を定期的に開催しているので、興味のある方はぜひご参加ください。
プロンプトエンジニアリングとは
プロンプトエンジニアリングとは、プロンプトを創造的に定義・設計・改良するための技術、ならびにプロンプトを用いて生成モデルの潜在能力を引き出すための技術です。
プロンプトとは、ユーザが生成モデルに与える指示のことです。通常はテキスト(自然言語)ですが、画像や音声などの場合もあります。
プロンプトエンジニアリングは、ChatGPTなどの生成AIが広まり注目されるようになりました。
プロンプトエンジニアリングの目的・役割
プロンプトエンジニアリングの目的は、生成モデルにユーザが求める欲しいアウトプットを出力させることです。プロンプトを工夫することによって、ユーザが望む結果を得る確率を高められます。また、AIも効率的に作業を行えるでしょう。
プロンプトの主な構成要素
プロンプトの主な構成要素は、次の3つです。
- 指示:具体的なタスクのこと
- コンテキスト:外部情報や追加の文脈など、推論で考慮すべき様々な情報のこと
- 出力インジケータ:出力で得たい型や形式のこと
これら構成要素を含めると最適なプロンプトを作成でき、求めているアウトプットを得られやすくなります。それぞれの構成要素について説明していきます。
指示で直接応答を促すプロンプト
構成要素の中でも重要なのが、指示で直接応答を促すプロンプトです。モデルに実行してほしい特定タスクに関する質問や指示を入力します。
指示のプロンプト例は、下記の通りです。
このように短いプロンプトでも、多くの情報を得られます。
コンテキストから回答を導き出すプロンプト
具体的な指示をする場合は、コンテキストから回答を導き出すプロンプトも欠かせません。コンテキストとは、モデルにより良い応答をさせるための外部情報や追加の文脈です。
コンテキストに含めるべき要素は、以下の3つです。コンテキストを複数追加することで、求めている結果を得やすくなります。
- 役割設定
- 条件
- 事前情報や知識
- 解答例
具体例をいくつか紹介します。
役割設定
- あなたは、小学校の先生です。
- あなたは、DXコンサルタントです。
事前情報や知識
- 〇〇は、□□です。
- 〇〇年は、□□で、△△がありました。
コンテキストから回答を導き出す具体例を最後に紹介します。コンテキストを指示とあわせて入力することで、回答に必要な情報を補うことができます。
出力インジケータで回答形式を指定するプロンプト
場合によっては、出力インジケータで回答形式を指定するプロンプトも必要です。出力インジケーターは、出力の型や形式を指します。
出力インジケータの具体例を紹介します。以下は指示と出力インジケータを組み合わせた形式です。
- 300文字で書いてください。
- 箇条書きで書いてください。
- 小学6年生にもわかりやすい文章で書いてください。
コンテキストと出力インジケータを組み合わせた例は、以下の通りです。
プロンプトを記述する際の8つのコツ
プロンプトを記述する際のコツは、次の8つです。
- 明確な表現で情報を伝達する
- 詳細な情報を伝達する
- 細分化して伝達する
- 指示を段階的に追加する
- 事例を交えて伝達する
- 大事な情報を最初と最後に入れる
- 言葉遣いに気をつける
- ペルソナを指定する
それぞれ具体的に紹介していきます。
1.明確な表現で情報を伝達する
プロンプトを記載するときのコツは、明確な表現を用いることです。
短く説明してください。
<改善後>
50文字以内で説明してください。
上記の例の場合、「短く」という言葉が抽象的で分かりにくいです。そのため、「50文字以内」と具体的な数値を設定することで、指示を具体的に伝達できます。
2.詳細な情報を伝達する
詳細な情報を伝達することも、プロンプトのコツです。
数学のテストで良い結果を残せる学習方法を教えてください。
<改善後>
中学1年の中間テストの数学にて、90点以上の結果を残せる学習方法を教えてください。
上記の例の場合、数学のテストとはどのレベルのテストなのか、良い結果とはどのくらいの結果なのかといった情報が不足しています。
そこで、「中学1年の中間テスト」と「90点以上の結果を残せる」という情報を追加することで、よりユーザが求める回答に近づくでしょう。
3.細分化して伝達する
プロンプトを作成する際には、細分化して伝達することも心がけましょう。例えば、以下のやり方を参考にしてみてください。
1:まずどのようなところから復習すべきか項目を教えてください
2:1の中で、特にどの項目に重点をおけば良いか教えてください
3:2を踏まえて最適な学習方法を教えてください
1から順番に実行してください
生成AIに行ってほしいことを分解し、なるべく細かく指示をすることがポイントです。
4.指示を段階的に追加する
指示を段階的に追加することで、回答の精度を高めることも可能です。
50文字以内で説明してください。
<改善後①>
50文字以内で説明してください。 小学生にも分かりやすく説明してください。
<改善後②>
50文字以内で説明してください。 小学生にも分かりやすく説明してください。実在している情報のみ出力してください。
一度プロンプトを入力して情報が足りない場合は、段階的に追加していきます。試行錯誤を繰り返せば、望ましい回答を得られるでしょう。
5.事例を交えて伝達する
プロンプトを作成する上で、事例を交えることも重要なポイントです。
“なんてひどい番組なんだ!” :
いきなり「”なんてひどい番組なんだ!” :」というプロンプトを与えるのではなく、ポジティブもしくはネガティブの事例を与えることで、生成AIはユーザの要望を正しく理解できるようになります。
6.大事な情報を最初と最後に入れる
大事な情報を最初と最後に入れることも、プロンプト作成の際に心がけてみてください。
先日、私は近所のカフェでひとときを楽しみました。そこは居心地がよく、美味しいコーヒーが味わえるお店です。友人に勧められて訪れたのですが、予想以上の良い時間を過ごすことができました。
この文章を要約して下さい。なお、そのカフェの名前は「ドリーム」です。そのカフェは、千代田区にあります。
<改善後>
以下の文章を要約して下さい。
先日、私は近所のカフェでひとときを楽しみました。そこは居心地がよく、美味しいコーヒーが味わえるお店です。友人に勧められて訪れたのですが、予想以上の良い時間を過ごすことができました。
なお、そのカフェの名前は「ドリーム」です。そのカフェは、千代田区にあります。
要約したい文章は以上です。
LLM(大規模言語モデル)は、最初と最後の情報を重視する傾向にあります。そのため、指示などの大切な情報は、最初と最後に記載することが鉄則です。
7.言葉遣いに気をつける
プロンプトを作成するコツとして、言葉遣いに気をつけることも挙げられます。
以下の文章を要約して。
先日、私は近所のカフェでひとときを楽しみました。そこは居心地がよく、美味しいコーヒーが味わえるお店です。友人に勧められて訪れたのですが、予想以上の良い時間を過ごすことができました。
なお、そのカフェの名前は「ドリーム」です。そのカフェは、千代田区にあります。
<改善後>
以下の文章を要約してください。
先日、私は近所のカフェでひとときを楽しみました。そこは居心地がよく、美味しいコーヒーが味わえるお店です。友人に勧められて訪れたのですが、予想以上の良い時間を過ごすことができました。
なお、そのカフェの名前は「ドリーム」です。そのカフェは、千代田区にあります。
「〜です」「〜してください」など丁寧な言葉遣いで記述することで、望ましい回答になる可能性が高まるとされています。そのため、なるべく丁寧な言葉遣いになるよう配慮しましょう。
8.ペルソナを指定する
ペルソナを設定することも、プロンプト作成のコツです。
因数分解についてわかりやすく教えてください。
<改善後>
あなたは中学校の先生です。
因数分解についてわかりやすく教えてください。
上記の例のようにペルソナ(特定の立場)を設定することで、ペルソナに沿った回答を生成してくれます。
ChatGPTで使えるプロンプト例7つ
ここでは、ChatGPTで使えるプロンプト例を7つ紹介します。
1.テキスト要約
テキスト要約とは、ChatGPTの回答に対して要約を指示するというものです。具体例を紹介します。
2.情報抽出
情報抽出の例は、下記の通りです。求めている回答に関する情報を入力し、情報を抽出させます。
出典:段落文「ChatGPT: five priorities for research」
3.テキスト分類
ChatGPTは、例があればテキストの分類も可能です。具体例は以下の通りです。
4.質問応答
質問応答もChatGPTで使えるプロンプトです。具体例を紹介します。
5.会話
以下は、「技術的で科学的」なトーンで会話するプロンプトの例です。このようにスムーズな会話ができます。
6.コード生成
ChatGPTはコード生成にも対応しています。以下は、ユーザーに名前を尋ねて、それに挨拶するPythonコード生成プロンプトの例です。コードの解説も出力されます。
なお、コード生成の効率性を高めたいプログラマーにおすすめなのが、スキルアップAIの「プログラマーのためのコード生成AI講座」です。本講座では、代表的なコード生成AIの使い方を学習することで、効率よくコーディングを進められるようになります。
7.計算
現代のLLM(大規模言語モデル)にとって、最も困難なタスクの一つが計算です。ここでは、単純な計算のプロンプト例を紹介します。
これらのプロンプト例について詳しく知りたい方は、スキルアップAIキャンプへの参加がおすすめです。スキルアップAIキャンプとは、スキルアップAIが毎週無料で実施しているオンライン勉強会です。
プロンプトエンジニアリング以外にも、データ拡張や特徴量エンジニアリングなど、データ分析・AI開発の実務力アップにつながる幅広いテーマを用意しており、ご自身のお好きなテーマの回に参加できます。ぜひお気軽にご参加ください。
ChatGPTのプロンプトのテクニック・型
最後に、ChatGPTのプロンプトのテクニック・型を紹介します。ここで紹介するテクニックは、質問によってはうまくいかない場合があったり、ChatGPTの進化によって不要なものもあったりします。あくまでもプロンプトを設計する際の参考として捉えてください。
Zero-shot プロンプティング
Zero-shot プロンプティングとは、回答例を一切含めない方法です。前章で紹介した「LLMにおける代表的な用途別プロンプト例」で扱ったプロンプトの大半は、Zero-shot プロンプティングに含まれます。
Few-shot プロンプティング
Few-shot プロンプティングとは、コンテキストに任意の回答例を含めるテクニックです。含める回答例が一つだけの場合、One-shotプロンプトと呼ばれることもあります。
シンプルなタスクではOne-shotプロンプトでも十分な結果を得られますが、複雑なタスクでは不十分になることがあります。そのような場合は、Few-shot プロンプティングを使用しましょう。
Chain-of-Thought(CoT)プロンプティング
Chain-of-Thought(CoT)プロンプティングとは、中間推理ステップを通して、複雑な議論を可能にするテクニックであり、Few-shotCoTプロンプティングと同義です。Zero-shot プロンプティングやFew-shot プロンプティングでは正しい回答が得られにくい場合に活用するのがおすすめです。
Zero-shot CoT(Chain-of-Thought)プロンプティング
Zero-shotCoT プロンプティングとは、Zero-shotでCoTを行うテクニックです。例えば、プロンプトに「ステップバイステップで考えてみましょう。」と一文追加することで、正しい結果を得られる可能性が高まります。
方向性刺激プロンプティング
方向性刺激プロンプティングとは、適切な方向性を持つように「刺激(ヒント)」を与えることで、目的に沿った推論結果を返すように言語モデルを誘導するテクニックです。
方向性刺激プロンプティングを記述した場合と記述していない場合の例文を紹介します。
<方向性刺激プロンプティングを記述していない場合>
<方向性刺激プロンプティングを記述した場合>
このように方向性刺激プロンプティングを記述することで、キーワードを含む要約文が生成されます。
再帰的な修正プロンプティング
再帰的な修正プロンプティングとは、再帰的に修正させることで、求める結果の精度を向上させるテクニックです。自動的に推論結果の内容を改善するように言語モデルを誘導します。
まとめ
この記事では、ChatGPTのプロンプトエンジニアリングについて、プロンプトの主な構成要素やプロンプト例、具体的なテクニックについて紹介しました。
適切なプロンプトを作成することで、求めている答えを正確に導けます。ここで紹介しているプロンプト例やテクニックを参考にして、ChatGPTをうまく使いこなし、業務などに活用していきましょう。
スキルアップAIでは、AIやデータ分析等に関する知識を無料で学べるスキルアップAIキャンプを毎週開催しています。この記事で紹介するプロンプトエンジニアリングについてもテーマとして取り扱っています。ぜひ参加してみてください。
スキルアップAIのChatGPT関連講座
最後に、スキルアップAIのChatGPTに関連する講座を2つ紹介します。
ビジネスパーソンのための対話型生成AI講座
「ビジネスパーソンのための対話型生成AI講座」は、ChatGPTを含めた対話型AIを利用するうえで必要となるプロンプトエンジニアリングの基礎知識を学びます。プロンプトエンジニアリングの要点を学べるカリキュラムで、対話型AI全般で使えるプロンプトの技術を学べるだけでなく、講座を通して業務に役立つプロンプトを書けるようになります。
すぐに試せる技術や背景知識を生かして、自身や自社の業務効率を大きく向上させましょう。
大規模言語モデル(LLM)利活用講座
「大規模言語モデル(LLM)利活用講座」は、プロンプトエンジニアリングを体系的に学べるだけでなく、GPTをはじめとした大規模言語モデルの仕組みや使い方や、大規模言語モデルを組み込んだアプリの開発方法を学ぶことができます。
主にデータサイエンティストやAIエンジニアの方向けに、プロンプトエンジニアリングを行うときに押さえるべき知識やテクニックを実際の業務を想定したワークつきで学べるカリキュラムとなっております。
上記2つの講座は、スキルアップAIが提供するプロンプトエンジニアコースに含まれています。コースでは、プロンプトエンジニアリングを体系的に学び、最短でプロンプトエンジニアを目指すことが可能です。
どちらの講座も給付金の対象となっており、なんと受講料の最大70%がキャッシュバックされます!給付金に関する説明会を定期的に開催しているので、興味のある方はぜひご参加ください。
配信を希望される方はこちら
また、SNSでも様々なコンテンツをお届けしています。興味を持った方は是非チェックしてください♪
公開日: