chatGPTに文字数を指定した際に、カウントが合わないドキュメントが生成されたという経験のある人もいはずだ。「文字カウント」はExcelやWordにもあるような古い技術のようにも思えるが、AIで対応できないのはどうしてなのだろうか?
この記事では、chatGPTの文字数カウントがおかしい原因について説明している。また、文字数を指定した場合に、そのルールを守らないときの対処法も解説しているので、chatGPTを使ってテキストを生成する人たちは試してみてほしい。
読み込み中...

chatGPTに文字数を指定した際に、カウントが合わないドキュメントが生成されたという経験のある人もいはずだ。「文字カウント」はExcelやWordにもあるような古い技術のようにも思えるが、AIで対応できないのはどうしてなのだろうか?
この記事では、chatGPTの文字数カウントがおかしい原因について説明している。また、文字数を指定した場合に、そのルールを守らないときの対処法も解説しているので、chatGPTを使ってテキストを生成する人たちは試してみてほしい。
さて、chatGPTの文字数カウントがおかしいのは、本当なのだろうか?
実際に、chatGPTに「300文字でチンパンジーについて説明してください」という指示を与えてみた。すると、次のようなドキュメントが生成された。
チンパンジーはアフリカの熱帯林やサバンナに生息する大型の霊長類で、人間に最も近い動物の一つです。高度な知能を持ち、道具を使って食べ物を得たり、仲間と協力して狩りを行うことが知られています。社会性も高く、複雑なコミュニケーションや感情表現を行い、家族や群れの中で強い絆を築きます。また、学習能力が高く、観察や模倣を通じて新しい行動を身につけることができます。
文字数を数えてみると、178文字で122文字も足りない。
次に、「300文字でチンパンジーについて説明してください。300文字という文字数は必ず守ってください。299文字以下でもだめだし、301以上でもだめです」というプロンプトに変更してみた。その結果は以下の通りだ。
チンパンジーはアフリカの森林やサバンナに生息する霊長類で、人間に非常に近い遺伝子を持つ動物です。道具を使って食べ物を取り出したり、石で木の実を割るなど高い知能を示します。社会性も高く、群れの中で協力しながら生活し、感情表現やコミュニケーションも豊かです。また学習能力に優れ、観察や模倣によって新しい行動を習得します。さらに、彼らは個体ごとに性格が異なり、遊びや学習を通じて社会的な地位を形成します。母子関係は特に強く、長い期間にわたり子を守り育てます。しかし生息地の減少や密猟により個体数は減少しており、保護が必要とされています。研究によって人間の進化や行動理解にも重要な手がかりを与えていますね。
文字数を数えると、なんと299文字。あと1文字足りなかった。
以上のことを踏まえると、「chatGPTの文字数カウントがおかしい」というのは本当のようである。


実際に「文字数カウンター(Japanese ver)」を起動させて、「300文字でチンパンジーについて説明してください」という指示を与えてみた。その結果、出力された文章は以下の通りだ。
チンパンジーはアフリカの熱帯雨林やサバンナに生息する大型の類人猿であり、人間に最も近い動物の一つとされている。社会性が高く複雑なコミュニケーションや道具の使用が観察されており、木の枝を使ってシロアリを捕まえるなど知能の高さを示す行動が知られている。また家族や仲間との絆を大切にし、毛づくろいを通じて関係を深める。母親は子どもを長期間育て、学習や社会的行動を伝える役割を果たす。森林伐採や密猟によって生息数は減少しており、保護活動の重要性が高まっている。彼らの存在は生態系の維持にも関わり、人間社会にも多くの示唆を与える。私たちは共存のために理解と保全を進める必要がある。未来へつなぐ努力が求められる。
文字数を数えてみると、ぴったり300文字になっている。
ふたつめは、長い文章を1度で生成させるのではなく、短いパートに分けて複数回にわたって出力させ、最後につなぎ合わせる方法だ。
前述のとおり、chatGPTはテキストを1トークンずつ順番に生成しており、「今何文字目を書いているか」をリアルタイムで把握する仕組みを持っていない。そのため、文章が長くなればなるほど、累積の文字数に対する推測の精度は落ちていく。
たとえば「3000文字の記事を書いて」とまとめて指示するのではなく、「まず導入部分を500文字で書いて」「次に本論を500文字で書いて」のように、500文字程度のブロックに分けて生成すると、各パートの文字数の精度が上がりやすい。短い文章のほうが、chatGPTにとっても分量を推測しやすいからだ。
最終的にすべてのパートを結合すれば、指定した文字数に近い長文が仕上がるので試してみてほしい。
chatGPTをはじめとする生成AIは構造上、文字カウントを正確に指定しづらいという難点を抱えている。しかし、「文字数を指定することにどれだけの意味があるのか?」を考えると、それ以上に意味を適切に説明することのほうが重要なのは間違いない。
もちろん、「3000文字以内で書け」といった指定されたルールの中で執筆しないといけない場面もあるが、その微調整は生成AIではなく自分が編集者として行えばいいだけだ。むしろ、完全にAIのみで文書を書かせるのはファクトチェックの観点からもおすすめしない。必ず最後は人間の目に触れさせたほうがいい。
現在、文章の生成は極めて簡単だ。けれども、同じような内容の記事がこれまで以上に量産されていくなかで。最後は発信者の独自性が差別化ポイントになる。その意味では、均質化が進めば進むほど、独創的な文章が当たり前の時代になるのかもしれない。
結論から言えば、リアルタイムでは把握していない。chatGPTはテキストを1トークンずつ順番に生成しており、全体の文字数を逐次カウントしながら書いているわけではない。人間がペンで文章を書くとき、何文字目を書いているかをいちいち意識しないのと似ている。完成後に数え直すことはできるが、その精度も前述のとおり高くない。「1500文字です」と自信満々に答えた文章が実際は2200文字だった、ということも珍しくないのだ。
モデルが進化するにつれて、指示への追従精度は向上している。GPT-4はGPT-3.5と比較して、文字数に関する指示をより意識する傾向がある。しかし、トークンベースで処理しているという根本的な仕組みは変わらないため、完璧に文字数を守ることは依然として難しい。将来的にはコード実行機能などを活用して、生成後にAI自身が文字数を正確に検証し、自動で調整するような仕組みが一般化する可能性はある。だが、現時点では過度な期待は禁物だ。
一般的にはそのとおりだ。英語ではスペースで区切られた「単語」の数をある程度把握しやすいため、「Write in 200 words」のような指示は日本語よりも高い精度で守られる傾向がある。日本語の「文字数」は、chatGPTにとっては特に扱いにくい概念なのだ。