💻 プロンプティングTips
ChatGPTで生成する情報の字数をコントロールしたいけど、字数を指示してもその通りに生成してくれない、という経験はありませんか?
これまでは、記事のセクション数を調整して、大まかな字数(3000字~4000字、など)を調整することはできました。
しかし、10文字単位の指定(280字~300字)といった、厳密なコントロールは、プロンプトレベルで実現することは困難でした。
しかし、Code interpreterのおかげで、指定した字数に忠実に沿った情報を、一つのプロンプトで生成できるようになりましたので紹介します。
Code interpreterには、生成した情報に対して指定したコード(プログラム)を実行する、という機能があります。
この機能を使えば、ある情報を生成した後に、Pythonの "len" という関数を呼び出して、生成情報の文字数を「正確に」カウントすることができます。
この時点でChatGPTは、生成した情報の文字数が、指定された情報とどれくらい異なるか、ということが理解できますので、文字数の要求範囲を満たすまで、情報生成を繰り返してもらえばよいのです。
以下のプロンプトを見ていただければ分かりますが、具体的な関数(len)を指定する必要はありませんが、ステップを明確に定義することが重要です。
Code interpreter「字数コントロール」用のプロンプト
「ChatGPTの有効活用法」についての記事を、以下の指示に従って生成してください。
【指示】
1.総文字数280字から300字の記事を生成してください
2.生成した情報の字数をPythonでカウントしてください。
3.2の字数が1の要求範囲内であれば、タスク完了です。2の字数が1の要求範囲外であれば、要求範囲からの差分を考慮して、再度ステップ1の情報生成を実行してください。
以下の実行結果(スクリーン録画)をご覧ください。
👉Code interpreter「字数コントロール」プロンプトの実行動画を見る
最初の情報生成の後、Pythonスクリプトが実行され、文字数がカウントされました。
その結果、213字となり、要求した280字から300字、を満足していませんので、再度情報が生成されました。
2度目は少し増えました(239字)が、まだ足りていないので、3度目の情報が生成されました。
3度目は、285字となり、要求範囲に収まりました。
複数のパターンをテストしてみましたが、単純に、「[トピック]に関する記事を、〇〇字~△△字で生成してください。」だけでは、字数カウントしてくれないケースがありました。
上記のプロンプトのように、明確にステップを定義した方が、より繰り返し安定性の高い結果が得られています。