Tip2026-06-24#reliability

Design the output schema before the prompt

A schema makes ambiguity visible. If you cannot name the field, type, and allowed absence state, you probably do not know what you are asking the model to produce.

Start with the downstream consumer. Does it need a label, a span, a confidence bucket, a source pointer, or an abstention? Write that contract first and then prompt the model to fill it.

The aha is that schemas are not just for machines. They force human reviewers to decide what counts as complete, partial, unknown, and unsafe.

Aha moment

A schema turns a vague prompt into an interface contract with explicit absence states.

Try this

Write the JSON fields, allowed values, evidence pointers, and unknown states before drafting the prompt.

Watch for

  • Required fields that force the model to invent missing data
  • Enums that do not include blocked, unknown, or partial
  • Fields whose consumer or decision impact is unclear