ChatGPT

【ChatGPT】プロンプトエンジニアリング(Prompt Engineering)の基本

【ChatGPT】プロンプトエンジニアリング(Prompt Engineering)の基本

ChatGPTにおけるプロンプトエンジニアリングの基本的な考え方についてまとめてみます。

ChatGPTのプロンプトエンジニアリング(Prompt Engineering)

ChatGPTとは、OpenAIが開発したAIチャットサービスです。ChatGPTの概要やアカウント登録等の使い方は「【ChatGPT】概要と始め方・使い方」でまとめていますので興味があれば参考にしてください。

ChatGPTを扱うにあたって「プロンプトエンジニアリング (Prompt Engineering)」というものがあります。

プロンプトエンジニアリング(Prompt Engineering)とは、「人工知能(AI)であるChatGPTに対して効果的に情報を求めるための質問や指示の方法、最適化するためのプロセス」のことを言います。

要は、よりよりChatGPTとのやり取りの技術といったところでしょうか。プロンプトエンジニアリングの目的は、ChatGPTが適切で正確な回答や出力を生成する確率を高めることです。

本記事では、プロンプトエンジニアリングに関する基本的な考え方やステップなどについてまとめてみます。

プロンプトエンジニアリングの原則

ChatGPTの回答の質を向上させるプロンプトエンジニアリングの原則としては以下のようなものがあります。

明確で具体的な質問ChatGPTに対する指示や質問は、明確で具体的であることが望ましいです。曖昧な質問は、期待する回答を得られない可能性が高くなります。
背景や前提条件の提供質問に関連する背景情報や前提を提供することで、ChatGPTはより適切な回答を生成することができます。
質問の分割複雑な質問や問題は、いくつかの単純な質問やステップに分割することで、ChatGPTが回答しやすくなります。
異なる形式での質問ChatGPTの回答の信頼性や正確性を確認するために、異なる形式や異なる角度から同じ質問を繰り返し行うことが役立ちます。
反復と改善質問・回答のやり取りの最適化は、試行錯誤を繰り返すことが重要です。出力が期待に沿わない場合は、質問の言い回しや前提条件の提供の仕方を変更して、改善を試みます。

プロンプトエンジニアリングの基本ステップ

プロンプトエンジニアリングの基本的なステップについては以下のような手順で質問をしていきます。

  1. 問題・目的の明確化:ChatGPTに解決してほしい問題や目的を明確に定義します。
  2. 質問や指示の作成:問題に対して最も適切な質問や指示を考えます。質問に関連するキーワードやフレーズ等を具体的で明確な表現で使う、複数の質問に分けて情報を求める、前提条件を明確化するといったことが必要です。
  3. 反復試行:一度のやり取りではなく回答を評価し、試行錯誤を繰り返し、やりとりを最適化していきます。出力が不十分な場合は、質問の言い回しを変えてみたり、追加情報を提供してみたりします。

具体的には、この流れを基本に沿った様々なプロンプトエンジニアリングの方法があります。他にも具体的な方法などについては、私も現在勉強中のため色々と勉強・整理してまた紹介していけたらよいなと思っています。

ChatGPTが何として振舞うか

代表的なプロンプトエンジニアリングの一つは、ChatGPTが何として振舞うかを指定することでしょう。

例えば、「あなたは〇〇です。」というような表現です。プロンプトエンジニアリングの情報は日本語では情報があまりなく、英語では「I want you to act as a …」のような説明がされます、日本語に直すと「あなたは〇〇です」ということになるのかなと思います。

ChatGPTは、日本語はまだまだ強くないと言われているので「あなたは〇〇です」という表現がどの程度効くのかは正直分かりませんが、ChatGPTが何として振舞うかを指定するという考え方が重要ということでしょう。

こちらのGithub「Ausome ChatGPT Prompts」には、ChatGPTで使えるプロンプト集のようになっています。ページをスクロールしてみると、以下引用画像のようなところがあります。

Awesome ChatGPT Prompts

上記は、Linux端末として振舞うのか、英語翻訳者として振舞うのか・・・等々、色々と例が書かれています。リンク先は英語ではありますが、他にも例がたくさんあるので参考にしてみてもらえるとよいかと思います。

まとめ

ChatGPTにおけるプロンプトエンジニアリング (Prompt Engineering)の基本的な考え方についてまとめてみました。

プロンプトエンジニアリングは、ChatGPTや他のAIシステムの性能を向上させるための重要な要素であり、ユーザーが求める情報や結果を得られる確率を高めることができます。

私もプロンプトエンジニアリングについては勉強中のため、また色々とまとめて紹介していけたらなと思います。

https://tech.nkhn37.net/chatgpt-links/