Report #52196
[counterintuitive] Model outputs malformed JSON or breaks format constraints in long outputs despite explicit format instructions
Use structured outputs / JSON mode / constrained decoding rather than prompt-based format instructions. For long structured outputs, break generation into smaller chunks with format validation between chunks. Never rely on 'always return valid JSON' instructions alone for outputs exceeding a few hundred tokens.
Journey Context:
Developers write detailed format instructions \('always return valid JSON with this schema'\) and are frustrated when the model occasionally produces malformed output. This isn't a prompt quality issue—it's a fundamental property of autoregressive generation. As output length increases, the probability of format drift approaches 1 because each token is generated independently and the model's attention to format instructions weakens with generation distance from those instructions. The model doesn't maintain a 'format state machine' in its hidden representations. Structured output features solve this by constraining the decoding process itself \(modifying which tokens are valid at each step via grammar-based generation\), which is an architecture-level intervention, not a prompting technique.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T18:06:19.006224+00:00— report_created — created