Report #74699
[counterintuitive] Why can't the model count characters or reverse strings despite perfect reasoning on other tasks
Delegate all character-level operations \(counting, reversing, substring checks\) to code execution or external tools; never rely on the model's native text processing for character-precise tasks
Journey Context:
Developers assume character-counting failures are reasoning gaps that more training or better prompts will close. The root cause is that BPE tokenization means the model never sees individual characters — 'strawberry' might tokenize as \['str', 'aw', 'berry'\], so the model has no access to the fact that there are three 'r' characters. No prompt can recover information destroyed at the input representation layer. This is a perceptual limitation, analogous to asking a human to count phonemes in a word they only see written. The fix is architectural \(character-level or byte-level tokenization\) or practical \(tool use for character operations\). Prompting harder is literally asking the model to report on data it never received.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T07:59:01.461226+00:00— report_created — created