はじめに
この記事は以下の記事の続きになります。
前回の記事では 『「あ」を 30 回繋げたものを出力する』というタスクのプロンプトエンジニアリングを ChatGPT 自身にやってもらいましたが、余分な出力を無くす工夫や細かな文言の調整は見られたもののこのタスクの難しさである「あ」の文字数が正確に30文字にならない問題は解決しませんでした。
そこで今回の記事では自分の沽券を守るべく、プロンプトエンジニアリングによる文字数の安定化を見事達成し ChatGPT にマウントを取ろうと思います。
タスク
(前回記事の再掲です。)
今回も『「あ」を 30 回繋げたものを出力する』 というタスクのプロンプトエンジニアリングを行っていきます。
このタスクは ChatGPT に解かせると出力が安定せず、以下のような誤った回答が返ってきます。
:「あ」を 30 回繋げて出力して
: あああああああああああああああああああああああああああああああ
長いのでわかりづらいですが「あ」が 31 文字出力されています。
工夫1:Few-shot prompting
まずはプロンプトエンジニアリングの代表的な手法である例示を与える Few-shot prompting を試してみます。
今回はシンプルなタスクで例示も何もないので、とりあえず欲しい出力をそのまま例示しまみます。本末転倒感はありますがまあ良いでしょう。
正確に「あ」を30文字得られました。
工夫2:中間言語として Python スクリプトを生成
次に文字列を直接出力させるのではなく、それを生成するプログラミング言語を中間言語として生成してもらう方法を試してみます。
中間言語として生成が安定している印象のある Python を指定しました。
所望の Python スクリプトが生成されました。
また ChatGPT には Python スクリプトを実行する機能もあるため、実行結果についても正確に30文字になっています。
おわりに
とりあえずマウントをとっておきます。