Structured Output
Structured output is when the LLM returns data in a strict format (JSON matching a schema) instead of free-form text — making downstream parsing reliable.
Free-form text from an LLM is hard to consume programmatically — formats drift, fields go missing. Structured output (via JSON schema, Pydantic, Zod, or provider-native modes) constrains the model to return data your code can directly parse and validate. It's the bridge between probabilistic generation and deterministic systems.
Example
Instead of free-form 'I'd categorize this ticket as billing, low priority, refund-related', the model returns `{category: 'billing', priority: 'low', sub_type: 'refund'}` — directly assignable.
How OpenLabor uses it
OpenLabor uses structured output for every classification, extraction, and routing decision so the rest of the system can rely on the shape.
Will the model ever break the schema?
With strict modes from frontier providers, very rarely. Without them, build retries and validation.
Related: function-calling, tool-use, llm.
AI Labor Glossary