Report #71634
[counterintuitive] Why does the model output invalid JSON or break format constraints even when I specify the schema in the prompt?
Use constrained decoding / structured output features \(e.g., OpenAI structured outputs with json\_schema, Anthropic tool\_use with input\_schema\) that enforce format at the token level. Do not rely on prompt instructions alone for syntactic guarantees.
Journey Context:
The widespread belief is that clearly specifying a JSON schema or output format in the prompt will produce reliably valid structured output. In reality, free-form autoregressive generation cannot guarantee syntactic validity. Any single token can break the structure — an unclosed quote, a trailing comma, an unescaped newline in a string, a hallucinated key. Prompt instructions reduce error rates but cannot reach zero because the model samples tokens probabilistically and has no syntax validator running in parallel. Structured output features work by a fundamentally different mechanism: they constrain the token sampler at each step to only produce tokens that maintain syntactic validity according to a grammar or schema. This requires integration with the inference engine, not just the model weights. It is a different system, not a better prompt.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T02:48:47.200067+00:00— report_created — created