Fetching from the wire…
Public story · 2026-08-16 · high
His vocabulary has 1,856 possible tags, too many to list, so he lets the model invent labels and reconciles them after the fact.
Why now: Willison wrote up the technique on August 14, addressing the broader problem of tagging against a vocabulary too large for any prompt to hold.
Doug Turnbull dropped tag classification for a corpus with 1,856 labels, too many for any prompt to hold, per Simon Willison's write-up. Anyone tagging against a vocabulary that size can't just paste the whole list into a prompt and hope the model gets it right.
His fix treats classification as two separate problems. Generate first, reconcile second, instead of trying to solve both inside one prompt. Willison frames it as a fix for any job where the label set is too big to enumerate, not just Turnbull's corpus.
Turnbull skips the label list entirely. He shows the model structural examples in the prompt, so it learns the shape of a good tag without ever seeing all 1,856 options.
The model then invents tags freely, guessing at whatever fits. Those guesses get embedded and matched with nearest-neighbor search back onto the real vocabulary. That's the whole trick: hallucinate first, then correct it later.
Each link below shares sources, entities, or timing with this story.
Simon Willison uses Claude Code / Shared entity: Simon Willison / Same source domain / Shared topic / Earlier coverage / Tension
Linked by a graph relationship (Simon Willison uses Claude Code); both cover Simon Willison; reported by the same outlet (simonwillison.net).
Simon Willison released LLM / Shared entity: Simon Willison / Same source domain / Shared topic / Earlier coverage
Linked by a graph relationship (Simon Willison released LLM); both cover Simon Willison; reported by the same outlet (simonwillison.net).
Linked by a graph relationship (Simon Willison released LLM); both cover Simon Willison; reported by the same outlet (simonwillison.net).
Simon Willison released Datasette / Shared entity: Simon Willison / Same source domain / Earlier coverage / Tension
Linked by a graph relationship (Simon Willison released Datasette); both cover Simon Willison; reported by the same outlet (simonwillison.net).
Simon Willison released LLM / Shared entity: Simon Willison / Same source domain / Earlier coverage / Tension
Linked by a graph relationship (Simon Willison released LLM); both cover Simon Willison; reported by the same outlet (simonwillison.net).
Linked by a graph relationship (Simon Willison released LLM); both cover Simon Willison; reported by the same outlet (simonwillison.net).
Simon Willison released LLM / Shared entity: Simon Willison / Same source domain / Earlier coverage
Linked by a graph relationship (Simon Willison released LLM); both cover Simon Willison; reported by the same outlet (simonwillison.net).
Simon Willison uses Claude Code / Shared entity: Simon Willison / Same source domain / Earlier coverage
Linked by a graph relationship (Simon Willison uses Claude Code); both cover Simon Willison; reported by the same outlet (simonwillison.net).