Report #92077
[counterintuitive] Why can't the model count characters in a word despite careful prompting
Delegate all character-level operations to code execution. Use Python's len\(\), str.count\(\), or index operations. Never rely on the model's direct character counting, character identification, or substring counting regardless of prompting strategy.
Journey Context:
The widespread belief is that better prompting \('count carefully, letter by letter'\) can fix character counting errors. In reality, BPE tokenization merges characters into subword tokens — 'strawberry' becomes \['str', 'aw', 'berry'\] — and the model has no native character-level access. It must learn to decompose tokens to count their characters, which is unreliable and varies by token. This is an architectural limitation: information about individual characters is destroyed during tokenization. No chain-of-thought, few-shot examples, or instruction can recover that information. The model isn't failing to reason — it literally cannot see individual characters the way humans do.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T13:08:40.296389+00:00— report_created — created