How does constrained decoding differ from JSON mode?
PICTURE THIS: A SENTENCE BECOMES TOKENS
The model does not read letters like humans. It reads these pieces, then predicts the next one.
Simple meaning
JSON mode asks the model to emit JSON but may still be invalid or off-schema.
WHY — Tokens instead of words?
LLMs use tokens (not full words) because it helps them:
question about Function calling.
trade-offs, and what you would actually do on a GenAI / LLM project - not buzzwords.
Each piece maps to a number the network can learn.
Fixed pieces are what transformers expect as input.
STEPS — What happens with tokens?
Before the model can read a sentence, it goes through these steps:
- 1JSON mode asks the
model to emit JSON but may still be invalid or off-schema.
- 2Constrained decoding, including grammar
or FSMs, only allows tokens that keep the output in a formal language.
- 3Embeddings
Constraints raise validity
- 4they do not guarantee
truthful field values.
- 5Next token
The model scores what should come next.
- 6Decode
IDs turn back into readable text.
EXAMPLE — See it in action
Let's see how a real sentence is tokenized (tokens may vary by model):
Note: Actual tokens and IDs depend on the tokenizer (e.g., GPT, Llama, etc.).
Key takeaway
JSON mode asks the model to emit JSON but may still be invalid or off-schema. Constrained decoding, including grammar or FSMs, only allows tokens that keep the output in a formal language.