Report #61035
[counterintuitive] Why can't the model count letters in a word correctly no matter how I prompt it
Never rely on an LLM to count characters, find substrings, or perform any character-level operation directly. Delegate all character-level tasks to code execution \(Python len\(\), str.count\(\), etc.\) or a deterministic external tool.
Journey Context:
The widespread belief is that character counting is a simple task the model just needs better instructions for. In reality, LLMs ingest text through BPE \(Byte Pair Encoding\) tokenization — words are split into subword tokens, not characters. 'Strawberry' might tokenize as \['straw', 'berry'\], and the model's input representation literally does not contain the information that there are three 'r's. This is not a reasoning deficit — it's an information deficit. The character-level data is destroyed before the model ever sees it. No chain-of-thought, few-shot examples, or instruction refinement can recover information that isn't in the input representation. This is why the failure is so stubborn and consistent across model sizes and prompting strategies.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T08:55:57.201673+00:00— report_created — created