Chapter CStructured outputs & JSON modePage 4 of 8

Structured outputs & JSON mode

Weigh the tradeoffs

Structured outputs becomes useful when you can predict its behavior, measure it, and name its limits.

~12 minTradeoffs

Before you start

Why this matters

Imagine you must cut either latency, cost, or error rate by 30% for Structured outputs. Which goal would conflict with another? Write the conflict before reading.

1Learn the idea

Read

There is no free setting

Strict schemas simplify downstream code but can make partial answers harder. Large nested schemas consume tokens and reduce model reliability. Retries can repair transient failures but may duplicate side effects unless generation and execution are separate.

Tradeoffs become manageable when expressed on a shared scorecard. Record task quality, p95 latency, unit cost, operational burden, and risk exposure. Do not collapse them immediately into one number; a weighted score can hide an unacceptable safety or privacy threshold. First mark non-negotiable constraints, then optimize among the surviving options.

Consider the mechanism when judging a trade. The application defines allowed fields, types, enums, required properties, and whether extra properties are forbidden. Some providers constrain token decoding to valid schema paths; others offer JSON mode that guarantees only parseable JSON. The application still parses, validates, applies business rules, and handles refusal or truncation. That explains why a control can improve one stage while degrading the whole pipeline. Test at the system boundary seen by the user, not only inside the component. A locally faster retriever, sampler, or model does not help if queueing, retries, validation, or human review dominates end-to-end time.

Read

Apply it to a concrete case

An invoice extractor returns {invoice_id, currency, total_cents, due_date, confidence}. The schema requires integer cents and ISO dates; a business rule checks that line-item cents sum to total_cents before any payment workflow sees it.

The worked number is if 970 of 1,000 outputs parse and 930 pass the schema, parse rate = 97% but end-to-end schema-valid rate = 93%; report both. State the unit and denominator whenever you report it. A percentage without a denominator can conceal a tiny sample; a latency without a percentile can conceal slow users; a similarity score without a labeled task can conceal irrelevant neighbors. Compare the observed value with a threshold chosen before seeing the final test result.

Now test the tempting shortcut. Suppose the team optimizes only the most visible metric. The result may look better while the system becomes less trustworthy. The reason is concrete: Strict schemas simplify downstream code but can make partial answers harder. Large nested schemas consume tokens and reduce model reliability. Retries can repair transient failures but may duplicate side effects unless generation and execution are separate. This is why the decision record must include both the intended gain and the tolerated regression. If the tolerated regression is unknown, the change is not ready for a consequential workflow.

Read

Decision rules

  • Prefer a measured baseline over a persuasive demo.
  • Keep versions, inputs, and thresholds reproducible.
  • Separate syntactic success from semantic correctness and authorization.
  • Escalate or abstain when evidence falls outside the contract.
  • Re-evaluate when data, traffic, models, providers, or user goals change.

These rules turn the topic into an engineering decision rather than a slogan. They also make disagreement productive: another person can challenge the assumptions, rerun the evaluation, and reach a documented conclusion.

Read

Make the decision reversible

Write two candidate designs and place each on a small Pareto chart with quality on one axis and cost or latency on the other. A design is dominated when another is at least as good on every measured dimension and better on one. Eliminate dominated choices, then apply hard constraints such as privacy, authorization, or an SLO. For the remaining choice, define a rollback trigger before launch. Reversibility matters because estimates can be wrong: a feature flag, versioned index, pinned model, or shadow run can turn an uncertain tradeoff into a controlled experiment.

Checking tutor…

Continue learning · glossary & guides