「ChatGPTの文字数制限について知りたい」「制限を突破する方法ってあるの?」 そう思う方もいるのではないでしょうか。
実は、ChatGPTの文字数制限は一定の制約がありますが、適切なプロンプトをChatGPTに入力することによって制限を突破することが可能です。 今記事では、ChatGPTの文字数制限について解説し、効果的な突破方法をまとめてご紹介していきます。
ChatGPTの入力する文字数制限はトークン換算?
ChatGPTに聞いてみると、ChatGPTの最大文字数は「4096トークン」であると述べています。これが実際に本当なのか、実験結果をもとに示していきたいと思います。
トークンとは?
項目名 | トークン数 |
英単語 | 1〜2トークン |
ひらがな | 1トークン |
漢字 | 2〜3トークン |
※上記の表は実験に基づくものです
ChatGPTは、大量のテキストデータを学習し、その学習結果をもとに、ユーザーの問いかけに対して自然な日本語を生成して回答することができます。
ChatGPTにおけるトークンとは、テキストデータを分割する最小単位のことで、単語や句などがトークンとなります。ChatGPTは、トークンを入力として受け取り、それに基づいて自然な日本語を生成することができます。
英語の場合は1ワードが約1トークン、日本語の場合はひらがなであれば1文字約1トークン、漢字だと1文字約1トークン、と言われています。実際にトークン数がどのくらいなのかはOpenAIが公式で公開しているトークン数計算サイト「Tokenizer」を使えば計算をすることが可能です。
実際に見てみると、
英単語の「word」の場合は1トークン、
「I’m」の場合は2トークンとなるようです。しっかりと英語の短縮系についても2トークンとして計算されました。他にも「wanna」「I’d」「Im」「Iam」などの短縮系のワードを試してみましたが、すべて2トークンとなりました。
日本語の場合はいかがでしょうか。まずは例として「あ」のトークン数を計算してみると、
「あ」1文字で1トークンとなりました。他にも「っ」「で」「ん」などで試してみましたが同様に1トークンとなりました。次に漢字で調べてみると
「愛」は2トークンとなりました。それ以外の漢字でも試してみましたが、「土」「要」は2トークンとなりました。それに対して「秒」は3トークンとなりました。
他にも「柱」「商」などは3トークンとして換算されるようです。まとめると漢字は2〜3トークン程度となることが実験をしてみて分かりました。
文字数制限はどれくらい?
一般的にChatGPTに入力する最大文字数は4096「トークン」で定められている、と言われています。つまり、ひらがなの場合は4096文字、漢字も混ざった文章だとおよそ2000〜4000文字の範囲で文字数制限が来ると想定できます。これが本当のことなのか、実際に実験して試してみました。
すべてひらがなで入力した場合の文字数制限
実際にChatGPTに打ち込んで試して実験を行なってみました。すべて「あ」の文字列を入力した場合の実験結果は以下の通りです。
文字数 | 文字数制限 |
2300文字(2300トークン) | エラーは出ない |
2690文字(2690トークン) | エラーは出ない |
2700文字(2700トークン) | エラーは出ない |
2720文字(2720トークン) | エラーは出ない |
2730文字(2730トークン) | エラー(文字数制限) |
2800文字(2800トークン) | エラー(文字数制限) |
4096文字(4096トークン) | エラー(文字数制限) |
上記の実験の結果、2720〜2730文字の間に文字数の上限があるようです。一般的に文字数の上限は4096トークンと言われていますが、実際に実験を行ってみると、2720〜2730トークン(文字)であることが分かりました。
すべて漢字で入力してみた場合の文字数制限
同様に「愛」という言葉で文字数制限がどのくらいなのかを実験してみました。実験結果は以下の通りです。
文字数 | 文字数制限 |
2300文字(4600トークン) | エラーは出ない |
2690文字(5380トークン) | エラーは出ない |
2700文字(5400トークン) | エラーは出ない |
2720文字(5440トークン) | エラーは出ない |
2730文字(5460トークン) | エラー(文字数制限) |
2800文字(5600トークン) | エラー(文字数制限) |
4096文字(8192トークン) | エラー(文字数制限) |
ひらがなと同様、2720〜2730文字で文字数制限が来るという、全く同じ結果になりました。
ChatGPTにおける文字数制限はトークン数ではなく文字数でくる
実験結果の通り、実際はトークン数ではなく、文字数(2720〜2730文字の間)で文字数制限が来ることが分かりました。
英単語で実験を行った場合、13180文字程度で文字数制限が来たので、英語の方が扱える文字数は多いことが分かります。
ChatGPTに対する入力文字数が増えると回答の質が下がる
一般的にChatGPTに対する入力文字数が増えると回答の質は一般的に下がってしまいます。
文字数が多いと「ChatGPTが重要な情報の見逃し」「文脈の複雑性」「文脈の曖昧さ」などの原因で回答の品質が低下してしまします。簡潔で明確な質問を提供することが重要です。
ChatGPTの文字数制限を突破する方法
出力の文字数制限に関しては突破することは難しい
現状、出力が長くなってしまった場合ChatGPTは途中で自動的に回答が途切れてしまいます。これについてはChatGPTの仕様なので突破することが難しいと言えます。その場合は「続き」などと入力することで出力の続きを出すことができます。
入力の文字文字数制限を突破する方法=プロンプトを分割する
2種類のプロンプトを今回は仕様します。
入力文(最初に入力するプロンプト):
これから複数回に分けてプロンプトを入力します。その内容に対して{アクション}を行ってください。
私が「<<<入力完了>>>」と言うまでは「次の回答を待っています」とだけ出力して、他の回答は決して行わないでください。
分かりましたか?
入力文(途中の場合に入力するプロンプト):
{入力文章}
まだ入力は回答は完了していません。次の入力を待ってください。
入力文(入力が完了した際のプロンプト):
{入力文章}
<<<入力完了>>>
実際にChatGPTに入力して試してみました。今回使用したモデルはGPT-3.5です。
上記の通り、入力完了の合図を出すまでしっかりとChatGPTは出力を待機してくれました。