The AI Reader.
The Mechanics

A model can't count the words it's writing

GPT-4 Turbo blew past its own word-count limit on 49.3% of prompts in one benchmark, because generation keeps no running count of length and can't take a word back.

Why this matters

"Write exactly 100 words," "give me three sentences," "keep the tweet under 280 characters": the plainest instructions anyone gives a chatbot fail more often than they should. A model that can hold a technical argument together for a page can still hand back 140 words when you asked for 100, sounding just as confident either way. This lesson traces that miss to its source: not a bug, but a handful of ordinary design choices, made for other reasons, that between them leave nothing in the writing process able to count. By the end you'll know exactly which part of a model's architecture that job would have to live in, and why it doesn't.

Background optional reading
01
The instant a model writes a token, it becomes fact: how token-by-token generation works, and why nothing already written can be revised.
02
A model can recognize strawberry's letters and still miscount them: why the units a model counts in don't line up with the units a person counts in.

Ask for ten words, get a hundred

In an informal test run in 2023, one practitioner sent a model 150 separate requests for a specific word count on a specific topic, five target lengths across three topics, ten runs each. Short requests came back badly overshot: a ten-word request produced roughly a hundred words. Long requests came back undershot, output settling around 600 to 700 words even when the prompt asked for 1,000 or 2,000.1 The model wasn't confused about the topic. Every response was fluent and on-topic. It just never landed on the number.

That's strange, because hitting a number sounds like the easiest instruction there is. A person asked for 100 words counts as they go, or writes past it and cuts back until the count is right. A model that can define a term, translate a paragraph, or draft working code can't do what a word processor has done automatically since the 1980s. The reason isn't that counting is hard arithmetic. It's that nothing in how the model writes ever performs the count.

Nothing is tallying while the model writes

A model does not draft an answer and then check it against a limit. It writes forward, one token at a time. At each step the entire model does one job: given everything written so far, produce a distribution over what could come next, and append whichever piece is chosen.2 The model's own training objective states this directly. The probability of the whole output is the product of each next piece's probability, given only the pieces before it.3 Nothing in that equation tracks how long the output has gotten, or how much room is left.

The published lesson on how generation runs shows the other half of the same fact. The moment a token is chosen and appended, it becomes ordinary input for the next step, exactly like every word that came before it. There is no separate scratch space holding a draft that could still be edited. That's why a model can't do what a person does under a word limit: get to the end, notice it ran long, and trim. By the time "long" would be noticeable, the words that made it long are already part of what every later word was conditioned on. Cutting them now would mean generating a different answer from scratch, not editing this one.

Even a counter would count the wrong thing

Suppose the architecture did carry a running tally. It would still be counting the wrong unit. The vocabulary a model generates from isn't built out of words. It comes from byte-pair encoding, a method that merges frequently occurring character sequences into reusable pieces regardless of where a word boundary falls. The method was chosen because a fixed word-level vocabulary can't cover every name, compound, and rare word form a language actually produces.4 The GPT-2 paper gives a small, telling example of what that produces: "dog," "dog.," "dog!," and "dog?" each occupy separate vocabulary slots. The merging procedure treats trailing punctuation as part of the pattern, not as noise to strip before counting.3

A companion lesson works through what this means for a single word. The model never sees "strawberry" as eight letters; it sees a short sequence of integer IDs. Counting those IDs is a different operation from counting the letters, or the words, a person would count by eye. A word-count instruction asks for the reader's unit. A model tracking its own output, even with a hypothetical tally, would be counting in the writer's unit instead. That unit sometimes takes several tokens to cover a single word, and sometimes folds a word and its punctuation into one token. A tally kept in tokens doesn't convert cleanly into a word count without doing the counting again, in the unit that was actually asked for.

Trained to run long before it ever sees a limit

Even without a counting problem, a model would still lean toward one particular kind of miss: too long. A 2024 study of the reinforcement-learning stage of RLHF training found that a learned reward model scores longer answers higher largely independent of whether the extra length says anything useful.5 The researchers isolated the effect directly. They swapped the normal, content-aware reward model for one that scored nothing but output length. Reinforcement learning against that content-blind reward matched or nearly matched a policy trained against the real reward model, on two of three benchmarks tested: 56% against 58% win rate on one question-answering set, 64% against 63% on a dialogue set.5 A policy optimized this way hadn't gotten better at answering. It had gotten longer, and length alone bought most of the apparent improvement.

A separate lesson traces this same reward-shaping pattern to the habit of writing in bullet points and headers whether or not the answer calls for them. It's the same mechanism, one level up: post-training rewards structure and length as shallow signals of quality, regardless of the instruction that produced them.5 One caveat matters before going further: this finding was measured with no length instruction anywhere in the prompt. It describes how a model writes by default, not how it behaves once told to hit a number.

How big the miss gets, and what still isn't measured

Researchers test this directly with what one 2023 benchmark calls a "verifiable instruction": a rule simple enough for a program to check automatically, rather than judged by a human or another model. Length rules are one category that benchmark tests, alongside things like which language a response uses or whether a keyword appears.6

A 2024 benchmark built specifically to isolate length gives the clearest number for how bad the miss gets. Researchers took AlpacaEval's ordinary instruction-following prompts and prepended a hard word ceiling to each one, sized to be tight but achievable. They then checked automatically whether the response stayed under it: no judge, no partial credit, just a word count against a limit.7 On 802 such prompts, GPT-4 Turbo went over its own ceiling 49.3% of the time.7 A second, larger 2025 benchmark tested 26 models under an even stricter "hit the number exactly" rule and found 23 of them scoring below 60 out of 100 on a length-accuracy metric built for the test.8

49.3%GPT-4 Turbo's miss rate against its own word limit
23 of 26models scoring below 60/100 on a separate, stricter length test

The same 2024 benchmark tested nine other models on the identical task, and the spread is itself informative:

Word-limit violation rate by model, same prompts and rule.7
Model Violation rate Note
Llama3-8B-Instruct 7.0% the tightest of the instruction-tuned models tested
Mistral Large 17.6% well ahead of every GPT-4 variant in the study
Claude 3 Opus 37.0% misses more than one prompt in three
GPT-4 Turbo 49.3% the study's headline result
Llama2-70B-Base (zero-shot) 62.6% no instruction tuning applied at all

Instruction tuning clearly helps: the untuned base model at the bottom of the table misses nearly nine times as often as the best tuned model at the top. It doesn't come close to solving the problem. Every model in the full study, tuned or not, missed at least some of the time. The gap between the best and worst performers is itself an open question: why some models track length so much better than others, when none of them has an architectural counter to lean on. No source in this record fully answers it.

None of the studies above measures the whole chain end to end. The reward-model study measured default writing with no length instruction present. The benchmarks that measure explicit misses don't test whether the same models were also biased toward writing long by default. No experiment in this record starts with a length instruction, checks how the same model writes without one, and attributes part of the miss to that inherited habit. Reading the two kinds of finding together still points at a plausible compounding. A model already biased toward writing long starts an explicit word-limit answer further from the target. The architecture then gives it no way to catch that drift as it writes, because nothing is tallying and nothing already written can be taken back. That reading is an inference from what the studies separately show, not a result any one of them reports.

What's settled, and what's still open

The mechanism is not in dispute. Generation runs token by token, each step conditioned only on what's already written, with no reserved state for a running length count.2 And the unit it would be counting in, if anything were counting, is tokens, not words.4 What's open is how much a model can compensate for that architecture internally. A 2025 study found that information correlated with eventual output length is present, and partly separable from content, inside a model's hidden activations. Scaling specific hidden units up or down lengthened or shortened a summarization model's output without making the summaries worse.9 A separate 2025 study found the opposite from the outside. Asked to report the word count of text it had just generated, one tested model reported a number matching its own instructions rather than the words actually on the page. Its authors read that as evidence the model was assuming compliance rather than checking it.8 Some proxy for length appears to exist inside a model. Whether it's reliable enough to use, or even the thing being measured when a model claims to have hit a number, isn't settled by either result.

The same weakness surfaces anywhere a model has to hit an exact count while it writes, not only a word limit. A character limit instead of a word limit is the identical problem in a smaller unit. A list capped at exactly five items, a table with a fixed number of rows, a summary that must land in precisely two sentences: each asks for a tally kept in the right unit and checked before the text is called final. Generation offers none of that, in any of these forms.

The takeaway

A word-count miss isn't a model being careless. It's what three separate design choices, none of them made with counting in mind, add up to when they run together. Generation writes forward one token at a time with no reserved slot for a running length count. The units it would count in, even with a tally, are tokens rather than words. And post-training separately rewards longer answers as a shallow signal of quality, so most models start biased toward writing long before a limit ever enters the prompt. None of that is a defect anyone forgot to fix. It's what falls out of an architecture built to predict the next token, applied to a task that needs a count. The next time a model swears it wrote exactly 100 words and hands back 140, the honest description isn't that it miscounted. It never counted at all.

Go deeper optional reading
01
Yuan et al., the length-instruction study behind the 49.3% figure: the full benchmark construction and every model's violation rate.
02
Zhang et al., the LIFEBench paper: the length-awareness experiment and the full 26-model comparison.

Sources

  1. saxifrage.xyz · Michael Taylor's ChatGPT word-count test
  2. arXiv · Vaswani et al., "Attention Is All You Need"
  3. OpenAI · Radford et al., "Language Models are Unsupervised Multitask Learners"
  4. arXiv · Sennrich, Haddow, Birch, "Neural Machine Translation of Rare Words with Subword Units"
  5. arXiv · Singhal et al., "A Long Way to Go"
  6. arXiv · Zhou et al., the IFEval benchmark paper
  7. arXiv · Yuan et al., the LIFT length-instruction study
  8. arXiv · Zhang et al., the LIFEBench paper
  9. arXiv · Moon et al., the hidden-state length-probing study