Report #44982
[counterintuitive] Why can't the model count characters or letters in a word despite being told exactly how
Never rely on the LLM for character-level operations \(counting, reversing, substring indexing\). Delegate these to code execution or an external tool every time.
Journey Context:
Developers assume character counting is a trivial reasoning task and keep refining prompts to fix it. The real problem is that BPE tokenization destroys character-level information before the model ever sees the input. The word 'strawberry' tokenizes as something like \['str','aw','berry'\] — the model has no access to the three individual 'r' characters because they are embedded inside tokens. No chain-of-thought, few-shot examples, or system prompt can recover information lost at the tokenizer level. This is an information-theoretic wall, not a reasoning gap. The model would need a character-level tokenizer or an entirely different input representation.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T05:58:19.973194+00:00— report_created — created