ChatGPT:プロンプトってどこまでできたら終わりなん? -コラム編-
20240126追記:コラムを丸ごとChaGPTにぶつけてみました ← を追記
ChatGPTのプロンプトを弄りだして、もうすぐ1年・・・
まず実行したいテーマのインストラクションを挙げ、コンテキストの充実を図ってもらって、その上でアウトラインを与えてプロンプトを書き出させ、その上で できる限り詳細化も図ってもらう・・・
この手続きで完成したプロンプトは、いわば「ワーキングサンプル」。
うーん、なんというか、この段階は「よっしゃ、これでええ」というレベルには達していない。
例えば以下のような感じ。
ここの回答うすいなぁ
なんか思ってたのと反応やニュアンスが違うんですけど・・・
う・・・この段階で放置しないで、次のステップ示してほしいんですけど
ここのところは、まだまだ内容が足らんなぁ
上記のように「ワーキングサンプル」では納得できないから、「この要素も追加して」とか、「次のステップを示して」とか、いろいろ追加・変更を要求し、その度にプロンプトを書き出してもらう。。。
ChatGPTは、回答をこじんまりとまとめちゃおうとするから、こんな時は
変更する箇所以外は省略しないでね。変更を行った後、ヌケモレがないことを確認してね
などと伝えなきゃいけない。
それでも、省略したり、追加・変更した指示内容の実行を忘れちゃったりする・・・厄介なのは、変更を行った以外のところを省略する場合があること・・・これは気がつかんことが多い。
また、このような追加・変更を続けてると、当然プロンプトの文字数が増えてくる。
プロンプトが日本語のままだとChatGPTは吐き出すのがしんどくなる感じだから、英語にした方がいい。
ただ、英語は読むのが大変だから、さっきの省略や実行忘れの確認がさらに面倒になる。ただ、これは慣れるしかない。
当初は”こんなことやってられん”と、「ワーキングサンプル」の出来が悪い時点であきらめることが多かったが、上記を乗り越えないと納得レベルに近づけないな・・・ということにようやく気づき、いまは己に愚直になれと言い聞かせている。
プロンプトの要素がなんとなくでもつかめてると、追加・変更はすこし楽になる。
「この部分は独立してるから、ココだけを切り出して追加・変更を変更をお願いしよう」ということが出来るから。
ただ、プロンプトの追加・変更の内容が複数の要素にからむ場合は注意しないといけない。
ピンポイントで「こう変えて」というのではなく、
”かくがくしかじか”の理由で、”このように”したいんですよ。何かいい方法を提案してくれない?
と投げかけて、出された選択肢の中から自分の意図に合ったものを選んで適用してもらった方が(要素の整合もみてくれてるはずだから)よいと思う。
プロンプトエンジニアの強者は、これらのやり取りで改訂されたプロンプトだけを見て「あぁ、こんな感じかな」と判断されているのかもしれないが、私のような者は、改訂プロンプトを適宜NewChatで実行して「あぁ、こんな感じかな」と確認するしかない。
慎重にやってるつもりでも、途中であらぬ方向にいってしまい、先が見通せなくなることがある。
こんな時は、数回前のやり取りに戻ってやり直し・・・
そんなこんなで、ある程度納得できるレベルになったら、最後のトドメは、
このプロンプトの改善を提案して
これで、思いもよらない改善案を示してくれることがある。
ただ、「それ、ChatGPTで実行できることとちゃうやん」という提案もあるから、盲目的に「全部やって」はまずい。自分が有効だと思うものだけお願いする。
このような、なんともいえない愚直なやり取りなので、「どこまでできたら納得」はそのときどき。
シンプルな指示、シンプルなプロンプトではなく、ひとつのアプリケーション的なプロンプトを作るという場合、最終的に「まぁこれでええか」としたプロンプトの文字量は、初期の「ワーキングサンプル」の文字量(改行と空白含む:英字)が2倍~4倍になってる。
プロンプトは一発で完成!といったことはほとんどなく、「ワーキングサンプル」からの詰めの作業がプロンプト作成の労力をほぼ支配してるなと思う。
ただ、いわば「ワーキングサンプル」という骨格に肉付けするという、このアプローチが取れているから、これで済んでいるともいえる。
骨格から作るとなれば途方に暮れることになる。だから我々は、ゴールシークなどプロンプトの骨組みを開発された先人方に感謝しなければならない。
まぁとにかく、
こんな状況だから「プロンプトをどう作ったらいいよ」をどう伝えるか?はむつかしい。
どなたかは「あきらめないこと」と意見されていた。ほんと、よくわかる。
一度プロンプトを作ってから、それとまったく同じ方法で作っても一語一句 同じものができるということはないし、うまくいかないこともあるだろう。
偶然の出会いなどというと嫌がられるかもしれないが、一期一会に近い。
「人に意図を伝えるのと同じ」という人もいる。たしかにそう。
ただ、人の場合はこれだけやり取りすると嫌になる。でもChatGPTは途中で投げ出したり、ポリシーに反しない限り拒否したりしない。
なので、いつかわかり合えると信じるしかない。これは「〇〇道」のようなものかもしれない。
最近ようやく意図と指示の距離感をすこしは縮められるようになった気はするが、ChatGPTさん、いかがなもんでしょうね?
追記
このコラムの内容を丸ごとChatGPTにぶつけてみました😎。
プロンプト作成能力向上を図りたいが、苦労されている方は多いと思います。そんな方に向けたアドバイスをいただけませんか? テクニックよりも枠組みや構え、留意しておくべきことなどをできるだけ具体的にお願いします。
プロンプトがんばるぞ😤って方は以下noteを🤭
関連