An unconventional technique for handling classification tasks with large language models is gaining traction across the developer community. Under the design principle 'Don't classify. Hallucinate!', software developers Doug Turnbull and Simon Willison outline an alternative architectural pattern for processing large-scale taxonomies. Instead of forcing a language model to fit unstructured text directly into rigid lists containing hundreds or thousands of categories, the approach relies on controlled generation. The model is allowed to freely hallucinate descriptive, synthetic tags.
Traditional attempts to prompt large language models directly into massive category systems frequently hit practical limits. When presented with extensive taxonomies, classification accuracy drops significantly because context windows become crowded and subtle semantic distinctions get lost. Turnbull and Willison suggest splitting this complex pipeline into two distinct phases. The model first analyzes the text without restrictive constraints and outputs plausible descriptors that capture the core subject matter.
In the second stage, these synthetic keywords are mapped against the target taxonomy using mathematical vector embeddings. A nearest-neighbor similarity search in the embedding space matches the generated descriptors to standardized database categories. This method leverages the natural strength of generative models, which lies in grasping nuances in human language. At the same time, it sidesteps the rigidity and prompt degradation associated with long multi-class selection lists.
Alongside these architectural discussions, Simon Willison published updates to his open-source developer toolchain. On August 13 and 14, he released version 0.33 of llm-gemini, expanding his command-line ecosystem. The update introduces direct support for newer Google models, including Gemini 3.7 Flash, 3.6 Flash and 3.5 Flash-Lite. It also brings support for dedicated embedding models that are critical for running downstream vector-mapping workflows.
In tandem, the database utility sqlite-utils was updated to version 4.2.1. The maintenance release resolves an import issue and expands table transformation and schema inspection capabilities via table.transform(). When used together, these lightweight utilities allow engineers to build modular, local classification pipelines without requiring complex enterprise infrastructure.
The convergence of novel prompting patterns and flexible developer tools illustrates an ongoing evolution in practical artificial intelligence engineering. Rather than burdening models with rigid constraints, modern architectures increasingly rely on hybrid systems that merge generative synthesis with deterministic vector retrieval. For document indexing and internal knowledge bases, this method offers a reliable blueprint to reduce implementation overhead.

