プロンプトエンジニアリングとは、自然言語処理系のツールを使う際に望む答えを得るためのプロンプトを改善することです。プロンプトエンジニアリングのスキルを高める方法を紹介します。ChatGPTを思うように使いこなせていない方は、ぜひご覧ください。
MENU
ChatGPTなどで望む答えは得られている?
ChatGPTは、自然言語処理系のツールです。自然言語処理とは、特別な言葉や記号・数字を使わず、普通に会話するような文章でAIに指示を出せることを指します。つまり、ChatGPTなら、プログラミングや計算などの作業も、普通に会話するような文章で指示することが可能です。
とはいえ、自然な文章ならば、常にAIが正しく認識して希望するような答えを出すわけではありません。たとえばiPhoneユーザーなら、Siriに質問することも多いでしょう。SiriもChatGPTと同じく自然言語処理系のツールのため、普通に会話するような文章で知りたい情報を引き出せます。
しかし、答えがずれていたり不正確であったりすることも少なくありません。フレンチレストランを探してほしいのに、「本日の営業は終わっております」という答えが返ってきたり、電車の時間を調べたいのに、「通常通りの運行です」とずれた答えが返ってきたりすることもあります。思うような答えが得られず、SiriやChatGPTとの会話を諦めたことがある方も多いのではないでしょうか。
プロンプトとは?
プロンプトとは、英語で「促す」「~を刺激する」「駆り立てる」といった意味をもつ言葉です。コンピュータやAIの分野では、ユーザーの入力を促すテキストやマーク、AIに対する指示のことをプロンプトと呼びます。自然言語処理系のツールを使用するときには、枠内に入れる言葉がプロンプトです。
プロンプトが適切なものでないときには、ChatGPTなどの自然言語処理系のツールでは思うような答えを得られません。とはいえ、プロンプトには正解がないため、期待する応えを得るためには、幾通りものプロンプトを入力して試すしかないのです。
この点が自然言語処理系のツールの弱点ともいえます。従来式のツールであれば、作業内容を示す既定のコマンドを入力することで、期待する答えを得られました。しかし、自然言語という誰もが扱えるアイテムをコマンドにしているため、ツールの認識とユーザーの認識にずれが生じやすくなり、期待するような答えを得られないケースが多発するのです。
プロンプトエンジニアリングとは?
プロンプトエンジニアリングとは、望む答えを得るためにプロンプトを改善することを指します。
たとえば、出かける前に天気予報を確認するとしましょう。自然言語処理系のツールであるスマートスピーカーに「天気を教えて」と命令すると、その時間の気温や天気のみを教えてくれるかもしれません。
「今日の20時の梅田の気温を教えて」「夜は雨が降る?」「大阪駅の降水確率を教えて」のようにプロンプトを変えて命令しなおす(=プロンプトエンジニアリングをする)ことによって、求める答えに近づけます。
プロンプトエンジニアとは?
プロンプトエンジニアとは、プロンプトエンジニアリングを専門に行う人のことです。職業名でもありますが、特別な資格が必要なわけではありません。
また、「エンジニア」という言葉がついていますが、プログラミングなどのいわゆるエンジニアとしての業務は行いません。プロンプトに対応したコマンドが実行されるように、適切なプロンプトを見つけていきます。
プロンプトエンジニアリングの方法
プロンプトエンジニアリングには、次の方法があります。
- 類似する質問と回答例を提示する
- 回答の流れを提示する
それぞれどのような流れで進めていくのか、ChatGPTをとおして紹介します。
類似する質問と回答例を提示する
ChatGPTでは、枠内に質問だけでなく回答例も記載できます。たとえば、簡単な算数の問題をChatGPTでしてみました。
正しくは、2リットル×2+1.5リットル×3+0.5リットル×5=11リットルです。なぜかChatGPTでは誤って答えが表示されました。
これは、問題と回答の例だけで、答える方法について記載されていなかったからとも考えられます。そこで、次は問題の解き方について記載してみました。
問題の解き方について説明しておくことで、AIも正しい答えを得られるようになりました。
このようにChatGPTのような自然言語処理系のツールを使うときは、簡単な質問と回答のパターンだけでなく、問題の解き方についても例示することで求める答えを得やすくなります。
回答の流れを提示する
プロンプトエンジニアリングの1つの手法として、回答にいたるまでの道筋を書く方法もあります。自然言語処理系のツールは表計算のツールではないため、回答にいたるまでの道筋が明らかにはされていません。問題文に文章で道筋を示すと、望む答えを得やすくなります。
上記と同じ問題で、回答までの道筋を示してみました。
回答だけでなく、解き方の道筋もあわせて表示されました。答えだけでなく計算方法も知りたいときは、解き方の道筋を例示する方法を利用しましょう。また、計算の手順がわかるため、もし回答が間違っているときは、間違った場所も特定しやすくなります。
プロンプトエンジニアリングのスキルを高める方法
プロンプトエンジニアリングの方法は、回答の例示や解き方の道筋を記載する方法だけではありません。そもそもChatGPTなどの自然言語処理系のツールは利用範囲が広いため、課題にあわせて適切なプロンプトを選び、適切な回答が得られるように思考錯誤していくことが必要です。課題の種類と知りたい答えから、適当と思われるプロンプトを探していくようにしましょう。
次の手順でプロンプトの思考錯誤を行うと、プロンプトエンジニアリングのスキルを高められます。
- プロンプトを網羅的に試す
- プロンプトと答えから法則性を見つける
- プロンプトの文章をブラッシュアップする
- 再度プロンプトを試す
ChatGPTなどのAIツールや、スマートスピーカーなどで思うような答えが得られていないときは、ぜひこの手順でプロンプトの改善を図ってください。
1.プロンプトを網羅的に試す
まずは、正しい答えが得られるプロンプトを網羅的に探してみましょう。
映画を観に行きたいけれども、どのような映画を今上映しているかわからない……という状況で、ChatGPTに「おすすめの映画を教えて」と質問してみました。
いずれも名作ですが、過去の作品ばかりで映画館で見ることはできません。そこで「現在上映している映画のなかから、おすすめの映画を教えて」と、より具体的な質問に変えてみました。
1は2020年公開、2は2021年公開、3は2021年公開で日本語タイトルは「シャン・チー/テン・リングスの伝説」でした。また、4は2020年、5は2014年の公開でした。
いずれも上映期間は終了しているため、映画館で観ることは難しそうです。そこで、映画を観たい場所を指定して、実際に上映している映画を調べることにしました。
適切な回答を得られないため、映画館を限定して調べてみました。
どうやら個別のサイトでわかる情報にはアクセスしないようです。目線を変えて、映画のターゲットを絞り込み、評判を聞いてみました。
なんと、ChatGPTに搭載されている情報は2021年9月時点※のものであることが判明しました。現在上映している映画について尋ねたときに、2021年の情報を教えてくれた理由もこれで明らかです。
このようにChatGPTでは、何度も会話を重ねていくことで求める答えに近づけることがあります。時間はかかりますが、ぜひ何度もトライしてみてください。
※執筆は2023年4月
2.プロンプトと回答から法則性を見つける
プロンプトと回答から、何らかの法則性を見つけられることがあります。法則性とは、簡単にいえば「AIのクセ」のようなものです。このクセを見抜くことで、適切なプロンプトを記載できるようになります。
2桁の計算のコツについて尋ねてみたところ、足し算・引き算・掛け算・割り算の四則演算のすべてのコツが表示されました。このことから、ChatGPTでは回答を導く際に考えられるすべてのパターンを網羅することがわかります。
たとえば「2桁の掛け算を暗算するコツを教えて」のように、計算方法も指定することで、より求める答えに近づけるでしょう。
掛け算と指定したところ、掛け算の方法を3つ挙げて説明してくれました。やはりここでも網羅性は発揮されています。
質問と回答についてはすべて記録しておくと、クセを早めに見抜けるでしょう。
ところで、ChatGPTでは、今までのトピックはすべて左欄に記録されます。
振り返ることがない話題については、トラッシュボックスのアイコンを押し、✓記号をクリックすると削除できます。振り返りたい話題はそのままクリックしてください。
3.プロンプトの文章をブラッシュアップする
適切なプロンプトを見つけたら、より的確かつ短い言葉にできないか模索します。たとえば、ガパオライスを作るためのショッピングリストを作成してみましょう。ChatGPTで「ガパオライスに必要なものを教えて」と尋ねてみました。
材料だけを知りたかったのに、作り方まで表示されています。そのため、本当に知りたいこと(=ガパオライスの材料)を知るプロンプトとして「必要なものを教えて」は不適切と考えられます。そこで、材料に限って教えてもらうプロンプトに変更してみました。
作り方の記載がなくなり、より満足度の高い回答を得られました。しかし、このままでは縦に長すぎて、スマートフォンで表示しにくいという問題があります。材料に限定せずに、あえて漠然としたプロンプトに変えてみました。
材料だけでなく、調理器具まで表示されるようになりました。
なお、最初のプロンプト(ガパオライスに必要なものを教えて)と最後のプロンプト(ガパオライスをつくるときに必要なものを教えて)は、ほぼ同じです。しかし、プロンプトを長くすることで、今回のように端的な答えを得られることもあります。
ChatGPTでは以前の答えも踏まえた回答が表示されるため、質問をブラッシュアップすることで回答もブラッシュアップされると考えられます。何度も思考錯誤を繰り返し、より的確な答えを得られるプロンプトを見つけていきましょう。
4.再度プロンプトを試す
的確な答えを得られるプロンプトを見つけたときは、メモにとって控えておきます。ブラッシュアップしたプロンプトを次回の質問に活かすことで、より精度の高い法則が見つかるだけでなく、求める答えを得るまでの時間の短縮も可能です。
なお、ChatGPTには、以前の話題を記憶して、会話のキャッチボールができるという能力があります。そのため、以前の会話によっては、同じプロンプトでも異なる答えが導き出される可能性もあるため注意しましょう。
話題を切り替えたいときは、左側の「Today」の真下にあるトピックのトラッシュボックスをクリックしてください。表示されるチェックをクリックすると、画面上のやり取りが削除され、AIとの会話も一新できます。
プロンプトエンジニアに求められる能力
プロンプトエンジニアに求められるのは、国語力です。AIに対して自分がしたいことを理解させるためには、誤解なく物事を伝える言語能力が求められます。ただし、文法的にあっていれば常に正しい答えが得られるわけではありません。AIのクセを見抜き、クセにあうような言葉遣いや単語選びが求められます。
AIのクセを見抜くためには、法則性を見つける能力が必要です。たとえば数列のようにいくつかの数字やモノが並んでいるときに、それぞれの間でどのようなルールがあるのか見つけることが得意な方なら、プロンプトエンジニアリングもしやすいと考えられます。
また、繰り返すことを苦にしない性格も求められるでしょう。紹介したように、適切なプロンプトを得るためには、何度も似たような言葉でAIと対話を繰り返さなくてはいけません。
プロンプトエンジニアは仕事として作業をするわけですから、一日に何百、何千という類似するプロンプトを入力する必要があります。繰り返す作業が苦手な方では、務まらない仕事といえるでしょう。
プロンプトエンジニアの将来性
ChatGPTが世界中で話題になっていることからも、自然言語処理系のツールについて関心を持つ企業は多いと考えられます。また、関心を持つだけでなく、実際にChatGPTやほかのアルゴリズムを用いて、自然言語処理系のツールを作成する企業も多いでしょう。
そのため、プロンプトエンジニアは、現状ではニーズの高い仕事です。企業によっては数千万円の年俸でプロンプトエンジニアを募集しています。
ただし、このような現状はいつまで続くかわかりません。テクノロジーは驚くべきスピードで進歩しています。プロンプトエンジニアの作業がAIで自動化されるのも、もしかしたらそう遠い未来ではないのかもしれません。
なお、IT系の開発企業に所属するほかのシニアエンジニアやマネージャーとは異なり、プロンプトエンジニアには工学系の学位が必須とはされていません。結果として、応募できる対象者が多くなり、採用される確率は低くなる可能性があります。
プロンプトエンジニアとして採用されるためには、国語力と法則性を見抜く力、繰り返しの作業を苦に思わない根気強さを習得することが必要です。また、これらの能力を適切にアピールすることも求められるでしょう。
将来性のあるベンチャー企業を探してみよう
ChatGPTのように自然言語処理系のツールは、従来の開発ツールとは異なり、プログラミング言語などを理解する必要がありません。そのため、利用のハードルが低く、今後もさらに発展すると考えられます。また、プロンプトエンジニアのように、従来型の工学系エンジニアとは異なるタイプの職業も生まれており、求人も多く生まれると予想されます。
自然言語処理系のツール開発などを手がける、ベンチャー企業への転職をお考えの方は、フォルトナベンチャーズにぜひご相談ください。フォルトナベンチャーズでは、ハイクラスのベンチャー転職をサポートしております。相談は無料です。まずは気軽にお問い合わせください。