ChatGPTが文字数を守らないのはなぜか|仕組みと、現実的にできる対処

ChatGPTが文字数指定を守らない理由と現実的な対処法を解説する記事のアイキャッチ画像 AIの基本

ChatGPTに「400字で書いて」「2000文字でまとめて」と頼んだのに、返ってきたのは大幅に短い250字。もう一度「400字ちょうどでお願いします」と頼み直しても、今度は600字。何度言い直しても、ぴったりの文字数に揃わない——そんな経験はないでしょうか。

これはあなたの頼み方が悪いのではありません。ChatGPTは、そもそも文章を「文字」という単位では処理していないからです。この記事では、OpenAI公式ヘルプと公式ツールでの実測をもとに、なぜ文字数指定が守られにくいのかと、現実的にどこまで揃えられるのかを整理します。

結論を先に|ChatGPTは「文字」ではなく「トークン」で処理しています

疑問 答え
なぜ文字数を守ってくれないのか ChatGPTは文章を「トークン」という単位に分けて処理しており、応答もトークンの列として作られてから文字に戻されるためです(公式ヘルプで説明されています)
どうすればいいか 「ちょうど◯字」ではなく「350〜450字」のようにで頼み、見出しの数や段落数など構造も一緒に指定します。最後は自分で数えて、差分で直させるのが現実的です
「必ず守るプロンプト」はあるか 公式にも保証の記載はありません。効きやすい頼み方はありますが「必ず」ではないという前提で使います

この記事の根拠|OpenAI公式ヘルプと公式Tokenizerでの実測

この記事は、OpenAI公式ヘルプの複数の記事と、OpenAI公式のトークン計算ツール(Tokenizer)を、2026年8月24日に実際に開いて確認した内容にもとづいています。公式ページは英語のため、引用にあたる部分は当サイトの訳を添えます。日本語のトークン数については、当サイトが公式Tokenizerに文章を入力して実測した数値を使います。

1|「モデルは文字数を数えられない」という言い切りは、公式の文言ではありません。公式ヘルプにあるのは「文章はトークンに分割されて処理され、応答もトークンの列として生成されてから文字に戻される」という仕組みの説明までです。そこから「だから1文字単位の指定は構造的に苦手」と説明できますが、これは公式の言葉と当サイトの説明を分けて書いています。

2|「日本語は1トークン◯文字」のような目安は、公式ページには書かれていません。公式ヘルプとTokenizerページの文字数目安は、どちらも明示的に「英語の場合」です。この記事で使う日本語のトークン数は、当サイトが公式Tokenizerで実際に計測した3サンプルの実測値であり、文章によって変わります。

3|確認できなかったことを先に書いておきます。①ChatGPTの画面(アプリ・ブラウザ)に「応答の長さ」を直接設定する機能があるかは、公式ヘルプの該当記事には記載が見当たりませんでした②「語数指定は精度が低い」という文言は、現行の公式ガイドには見つけられませんでした。いずれも断定は避けます。

なぜ守ってくれないのか|ChatGPTは「文字」を数えていません

トークンとは何か|公式の説明

トークンとは、OpenAIのモデルが文章を処理するときの構成単位のことです。公式ヘルプでは、トークンは1文字より短いこともあれば単語まるごとのこともあり、スペースや句読点、単語の一部もトークン数に数えられると説明されています。文章を人間のように「1文字、2文字…」と数えているのではなく、この不揃いな単位に区切ってから扱っている、という点がまず押さえておきたいポイントです。

さらに公式ヘルプは、処理の流れも説明しています。入力された文章はまずトークンに分割され、モデルはそのトークンを処理し、応答もまたトークンの列として生成されてから、最後に文字へ戻されます。公式のTokenizerページにも「OpenAIの大規模言語モデルはトークンを使ってテキストを処理する」(当サイト訳)という説明があります。つまり、モデルが直接触っているのは常に「トークンの列」であり、「◯文字目」という文字単位の情報を最初から持っているわけではありません。

ChatGPTが入力文をトークンに分割し、トークン単位で処理してから文字に戻す5段階の流れ図

公式の目安は「英語で1トークン≒4文字」だけ。日本語の目安は書かれていません

公式ヘルプは「英語の場合の目安」として、1トークンはおおむね4文字前後、100トークンでおよそ75語程度という目安を示しています。公式のTokenizerページにも、一般的な英語の文章であれば1トークンあたりおよそ4文字という目安が載っています。

ただし、この目安はどちらの公式ページでも明示的に「英語の場合」に限定されています。2026年8月24日に確認した範囲(公式ヘルプの該当記事と公式Tokenizerページ)では、日本語(および英語以外の言語)についての文字数目安は記載されていません。公式が案内しているのは、トークン化はモデルとエンコード方式によって変わるため、正確な数を知りたければTokenizerツールやtiktokenで実際に数える、という方針だけです。ネット上でよく見る「日本語は1トークン◯文字」という数字を、この記事では出典なしに使いません。

実測|同じ量の文章でも、日本語は英語よりずっとトークンを使います

そこで当サイトは、公式Tokenizer(エンコーダ「GPT-5.x & O1/3」を選択)に実際に文章を入力し、文字数とトークン数を計測しました。3サンプルの実測結果は次のとおりです。

入力文 文字数 トークン数 文字数÷トークン数
日本語サンプル① 38字 25トークン 約1.5文字/トークン
日本語サンプル② 167字 118トークン 約1.4文字/トークン
英語サンプル 58字 12トークン 約4.8文字/トークン

出典:OpenAI公式Tokenizer(https://platform.openai.com/tokenizer)に入力して実測・2026年8月24日確認。※3サンプルの実測値であり、文章の内容によって変わります。

この試行では、日本語は英語の3倍以上のトークンを使っていました。ざっくりとした感覚では、400字程度の日本語の文章はおよそ260〜285トークン前後になる計算です(実測2サンプルの文字数とトークン数の比率から算出。※あくまで今回の3サンプルをもとにした目安で、文章の種類によって変動します)。

現実的な対処|ぴったりではなく「範囲」と「構造」で頼みます

効きやすい指定の言い換え

公式ヘルプが「具体的な指示を与える」ための例として挙げているのは、「ちょうど5個の選択肢を挙げてください」「50語の要約を書いてください」(いずれも当サイト訳)といった、個数や語数を使った指示です。文字数そのものをぴったり当てるという指示ではなく、数えやすい単位で範囲や構造を渡すというのが公式の推奨する方向性です。これに倣うと、次のような言い換えが効きやすくなります。

効きにくい指定 効きやすい言い換え
「ちょうど400字で書いて」 「350〜450字くらいで書いて」(幅で指定する)
「2000文字でまとめて」 「見出し3つ、各見出しに2段落」(構造で指定する)
「短くまとめて」 「箇条書き5個以内で」(個数で指定する)
感覚だけで頼む 望む長さに近い文章を1つ見本として見せてから頼む

出典:OpenAI公式ヘルプ「具体的な指示を与える」の項目(2026年8月24日確認)をもとに当サイトが整理。

仕上げは分業します|最後は人が数えて、差分で直させる

範囲と構造で頼んでも、出てきた答えがぴったりの長さになるとは限りません。そこで効くのが、「生成」と「調整」を分けて考えるという発想です。まず一度出させたうえで、自分の目で文字数を確かめ(数え方そのものは文字数のカウント方法を解説した記事で扱っています)、「いまの答えを400字前後に縮めて」「もう100字くらい増やして」と差分で直させます。1回で当てにいくより、この2段階のほうが現実的に近づきます。

毎回同じ長さにしたいなら|カスタム指示に書いておきます

ブログ用の文章はいつも400字前後、メールの返信はいつも3行以内、というように毎回同じ長さの傾向を求めたい場合は、ChatGPTの「カスタム指示」に書いておく方法があります。公式ヘルプによると、カスタム指示は全プラン・全端末で利用でき、設定のパーソナライズ画面から入力すると、以後のすべてのチャットに適用されます。文字数の上限はプランによって異なり、Free・Goプランは1,500字まで、Plus以上のプランは5,000字まで書けます。

それでも守れないときに知っておいてほしいこと

「最小の長さ」を強制する設定は、開発者向けのAPIにもありません

公式ヘルプの「応答の長さを制御する」という記事には、開発者向けのAPIについての説明として、「最小トークン数」という設定は存在せず、最低限の長さが必要なら指示文の中で伝える必要がある、とはっきり書かれています。この明文があるのは開発者向けのAPI側だけです。ChatGPTの画面(アプリ・ブラウザ)に同じような設定があるかどうかは、確認した公式ヘルプのページ(2026年8月24日確認の範囲)には記載が見当たりませんでした。少なくとも開発者向けの仕組みには、この機能は用意されていません。あなたの頼み方が足りないのではない、という安心材料として覚えておいてください。

開発者向けAPIですら、制御の単位は「トークン」です

同じ公式ヘルプによると、開発者向けのAPIでは、Responses APIのmax_output_tokensやChat Completions APIのmax_completion_tokensで応答の長さを制御できます。ただし、これらはいずれもトークン数の上限を指定するものであり、「文字数」という単位で長さを設定する機能はどこにも用意されていません。GPT-5系のモデルには詳しさの度合いを調整するverbosity(低・中・高)という設定もありますが、公式ヘルプはこれも「詳しさに影響するだけで、厳密な上限を保証するものではない」と説明しています。これはAPIの話であり、ChatGPTの画面を操作する読者が直接触れる設定ではありません。「開発者向けの仕組みですら文字数指定という概念自体が存在しない」という事実として押さえておくと安心材料になります。

用途別のおすすめの頼み方|3つから選びます

ここまでの内容を、実際の使い方に落とし込むと次の3パターンに整理できます。自分の状況に近いものを1つ選んでください。

状況 おすすめの頼み方
①ブログやレポートで、だいたいの長さでよい人 「350〜450字くらいで」のように幅で指定し、見出しや段落数などの構造も一緒に伝える
②応募書類など、上限を必ず守りたい人 上限より少なめの範囲で出させたうえで、自分で文字数を数え、超えていたら削る(先に少なめに作らせておけば、上限を超えるリスクを最初から減らせます)
③毎回同じ長さ・同じトーンで揃えたい人 カスタム指示に希望の長さの傾向を書いておく

文字数制限がある文章を出す前のチェック

  • 「ちょうど◯字」ではなく「◯〜◯字」の幅で頼んだか
  • 見出し数・段落数・箇条書き個数など、数えやすい構造も一緒に指定したか
  • 出てきた答えを自分の目で数え、差分で直させる余地を残しているか

よくある質問

何度も言い直せば、ChatGPTは文字数を学習して守るようになりますか

その保証は公式にも記載がありません。ChatGPTは文章をトークン単位で処理する仕組み自体を、会話の途中で変えているわけではないため、言い直しは「その回の指示をより具体的にする」効果はあっても、「以後ずっと文字数を守るようになる」ことを約束するものではありません。毎回同じ傾向で揃えたいなら、カスタム指示に書いておくほうが安定します。

「文字数を数えてから出力して」と頼めば正確になりますか

数える作業自体もトークンを使った処理の中で行われるため、ずれが起きることがあります。最終的な文字数の確認は、読者自身の目で数えるほうが確実です。

日本語は本当に1文字1トークンではないのですか

公式ページに日本語の目安は書かれていませんが、当サイトが公式Tokenizerで実測した範囲では、日本語はおよそ1.4〜1.5文字で1トークンでした(前述の実測表を参照)。1文字1トークンではなく、文章の内容によっても変わります。

有料プラン(PlusやProなど)なら文字数を守ってくれますか

文字数を守る精度がプランによって変わるという記載は、確認した範囲の公式ヘルプにはありませんでした。プランによる違いとして公式に確認できているのは、カスタム指示に書き込める文字数の上限(Free・Goは1,500字、Plus以上は5,000字)です。

まとめ

  • ChatGPTは文章を「文字」ではなく「トークン」という単位で処理しており、応答もトークンの列として作られてから文字に戻されます。
  • 公式の文字数目安は英語限定で、日本語の目安は公式ページに記載がありません。当サイトの実測では、日本語は英語よりも3倍以上多くトークンを使っていました。
  • 「ちょうど◯字」ではなく「◯〜◯字」の幅と、見出し・段落数などの構造で頼むと、結果が安定しやすくなります。
  • 最後は自分で文字数を数え、「もっと縮めて」「もう少し増やして」と差分で直させる仕上げの一手間が現実的です。
  • 「最小の長さ」を強制する設定は、開発者向けのAPIには存在しないと公式に明記されています。ChatGPTの画面については、確認した公式ヘルプのページ(2026年8月24日確認の範囲)には記載が見当たりませんでした。

もっと広く「思ったとおりの答えが返ってこない」ときの直し方を知りたい方はChatGPTが期待通りに動かないときの対処法もあわせてご覧ください。表示上の文字数の数え方やタイトルの文字数についてはブログタイトルの文字数の記事で扱っています。

出典

コメント

タイトルとURLをコピーしました