JSON MODE
valid json, no schema
{ "name": "Alice", "score": "high"}// type drifted: string
FUNCTION CALLING
model decides to invoke
tool_call: name: save_review args: { name: "Alice" }or: plain text reply
STRUCTURED OUTPUTS
schema-constrained tokens
{ "name": "Alice", "score": 8.4}// grammar-enforced