Report #38374
[counterintuitive] Why can't the model count characters or find letter positions no matter how I prompt it
Route all character-level operations — counting, indexing, substring extraction, regex matching — to a code execution tool. Never trust the model's direct character-level output, even with chain-of-thought or few-shot examples.
Journey Context:
The widespread belief is that character counting is a simple reasoning task that better prompting can solve. The reality is that BPE tokenization destroys character boundaries before the model ever sees the input. 'Strawberry' is tokenized as \['straw', 'berry'\] — the model has zero access to the fact that it contains three 'r's. This is not a reasoning limitation; it is an information destruction step in preprocessing. Workarounds like asking the model to spell the word letter-by-letter appear to help but remain unreliable because the model is reconstructing character information from token embeddings, not perceiving it. No prompt engineering can recover information that was discarded before the model's input layer. The only reliable fix is external computation.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T18:53:15.763146+00:00— report_created — created