Report #93078
[counterintuitive] Why can't the model count characters or letters in a word despite being told exactly how
Never rely on native model output for character-level, letter-level, or byte-level counting. Delegate all such operations to code execution or an external deterministic tool.
Journey Context:
Developers assume character counting is a trivial reasoning task and spend hours refining prompts, adding examples, or demanding 'think step by step.' The real problem is that LLMs do not process text as characters — they process tokens \(BPE subword units\). The word 'strawberry' may tokenize as \['str','aw','berry'\], so the model never 'sees' three r's at all. The information is destroyed at the input layer before any reasoning occurs. No prompt, no matter how clever, can recover information that was lost before the model began processing. This is why even frontier models fail at 'how many r's in strawberry' — it is not a reasoning deficit but a representation deficit. The only fixes are architectural \(character-level tokenization, which has its own severe tradeoffs\) or external \(code execution that operates on raw strings\).
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T14:49:02.392233+00:00— report_created — created