Structured output é o conceito de garantir que o modelo responda em formato estruturado e parseável — não em prosa livre. Crucial para integrar IA em produtos: você não pode chamar uma API com texto livre, precisa de JSON.
Formas de obter:
- Pedir no prompt: "Responda em JSON com campos nome, idade, score."
- Few-shot: mostrar exemplos do formato.
- Function calling / tools: usar a API nativa de funções (JSON validado pelo provider).
- JSON mode: configuração da API que força saída JSON válido (OpenAI, Anthropic).
- Constrained generation: usando bibliotecas como Outlines, Instructor, Guidance — força o modelo a só emitir tokens válidos no schema.
Comparação:
- Pedir no prompt: mais simples, ~80% confiável.
- Few-shot: mais consistente, ~95% confiável.
- JSON mode + schema: praticamente 100% válido.
- Constrained generation: 100% válido + força semântica.
Schemas comuns:
- JSON Schema: padrão da indústria, suportado em function calling de OpenAI/Anthropic.
- Pydantic (Python): define modelos, valida automaticamente.
- Zod (TypeScript): equivalente.
- TypedDict, dataclass.
Casos de uso brasileiros:
- Extração de dados de NFs: estrutura fixa, totais, itens, CNPJ, datas.
- Classificação de tickets: categoria + sentimento + urgência.
- Análise de currículos: extrair experiência, skills, formação para ATS.
- Pipelines de dados: LLM como ETL inteligente.
- Agentes: cada step do agente devolve JSON com action e parameters.
- Forms inteligentes: usuário fala em texto livre, IA preenche formulário.
Boas práticas:
- Schema mínimo: peça só os campos necessários.
- Tipos claros: string, integer, boolean, enum.
- Defaults: o que fazer quando informação ausente.
- Validação posterior: mesmo com JSON mode, valide com Zod/Pydantic.
- Fallback: lógica para quando JSON está inválido (raro mas pode acontecer).
Anti-pattern: "responda em JSON" sem schema. O modelo inventa estrutura.
Boa prática:
``
Responda em JSON seguindo este schema:
{
"categoria": "uma de: bug, feature, duvida, outro",
"urgencia": "uma de: baixa, media, alta",
"resumo": "string até 100 caracteres"
}
Em 2026, structured output é base para qualquer aplicação séria de IA. Sem ele, você não tem produto, tem brinquedo. Combinar LLM + JSON mode + Zod/Pydantic é stack padrão para devs brasileiros construindo com IA.
Tools como Vercel AI SDK e LangChain têm helpers prontos para structured output em qualquer modelo, abstraindo as diferenças entre providers.
