💻 プロンプティング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字となり、要求範囲に収まりました。

複数のパターンをテストしてみましたが、単純に、「[トピック]に関する記事を、〇〇字~△△字で生成してください。」だけでは、字数カウントしてくれないケースがありました。

上記のプロンプトのように、明確にステップを定義した方が、より繰り返し安定性の高い結果が得られています