Displaying present location in the site.
プロンプトエンジニアリングはコミュニケーションです
PJ活動お役立ちコラム
第184回 2024年7月30日
プロンプトエンジニアリングはコミュニケーションです

「プロンプトエンジニアリング」と聞くと少し身構えてしまうかもしれません。エンジニアリングという言葉が持つ技術的な響きから、プログラミングのような専門的なスキルが必要なのではないかという印象を受けるからでしょうか。ですが実際にはそうではありません。私自身、プロンプトエンジニアリングを習得中の身ですが、人に何かを伝えるときの工夫と通じるものがあると感じています。
プロンプトエンジニアリングの基本原則
プロンプトエンジニアリングの基本は「具体性」です。
たとえば、友人との会話で「おすすめの旅行先を紹介して」とお願いした場合には、どんな回答が返ってくるでしょうか。「海外、国内?」、「やっぱりダイビングできるところがいい?」、「期間は?」など、私の求める回答を導くために、条件について追加の質問をしてくれるだろうと思います。
厄介なことに、ChatGPTなどの生成AIは、「おすすめの旅行先を紹介して」だけでも、それらしい回答を出してしまいます。「具体的な条件を提示し、何を知りたいのか」、「どんな形で回答を提示してほしいのか」を明確に伝えることで、より要望を満たす、精度の高い回答が得られるようになります。
実践例:試行錯誤しながらプロンプトを作成する
ここでは、具体的なプロンプト作成のステップを紹介します。旅行先を検討する場合を例として挙げます。
-
問題を明確にする
自分が知りたいことや解決したい問題を明確にします。たとえば、旅行の計画を立てる場合、「おすすめのビーチリゾートを教えてください」ではなく、「ダイバーにおすすめの海外ビーチリゾートを教えてください」と明確にします。 -
条件を追加する
具体的な条件を付け加えます。10月に乾季の地域で、なおかつ直行便で行けるところが希望です。
次の{# 条件}を満たすダイバーにおすすめの海外ビーチリゾートを教えてください
# 条件
- 10月が乾季の地域
- 日本から乗り換えが必要な地域は除外 -
追加情報を求める、回答形式を指示する
得られた情報に対してさらに追加の情報を要求します。飛行時間も知りたいですし、比較しやすいように出力形式を表にしましょう。次の{# 条件}を満たすダイバーにおすすめの海外ビーチリゾートを挙げて、{# 形式}の形式で出力してください。
# 条件
- 10月が乾季の地域
- 日本から乗り換えが必要な地域は除外
# 形式
- 表形式
- 列は{連番} [片道飛行時間]図1は上記のプロンプトから得られた回答です。

図2は、条件を設けずに「おすすめのビーチリゾートを教えてください」と質問した場合の回答です。違いが良く分かると思います。

さいごに
プロンプトエンジニアリングの基本を理解し、実際にプロンプトを設計する際に具体的な条件を加えたり、あるいは、情報が少ない場合に、無理やり誤った回答をひねり出してしまうことを避けるために、分からないという回答の選択肢を提示したりすることで、ChatGPTなどの生成AIから得られる情報の要望への適合精度を向上させることができます。
#を使ってプロンプトを区切るなど、ちょっとしたコツはありますが、条件を付けて絞り込むことや、「もし分かったら教えて、分からない場合は正直に言ってね」のようなやりとりは、まさに人間同士のコミュニケーションのようです。
とはいえ、本当の人間同士とは違い「何度も同じこと聞かないで!」と言われる心配はありませんので、身構えずに色々と試してみてはいかがでしょうか。
参考文献:
DAIR.AI,2024,Prompt Engineering Guide,(2024年7月20日取得,https://www.promptingguide.ai/jp).
本コラムが皆さんの活動に少しでもお役に立ちましたら幸いです。
PJ活動お役立ちコラムの公開はメールマガジンでお知らせしています。
おかげさまでコラムをお読みいただいたお客様方から、メールマガジン配信のお申し込みをいただいております。
このメールマガジンは誰でも無料でお読みいただけますので、継続して受け取りたい方は、お気軽にお申し込みください。