JSON Mode é uma feature de APIs de LLMs (OpenAI, Anthropic, Gemini, vários) que garante que a resposta seja sempre JSON válido sintaticamente. É a forma mais simples e confiável de receber dados estruturados.
Como funciona:
- Você ativa flag na chamada (
response_format: { type: "json_object" }na OpenAI). - O modelo só pode emitir tokens que mantenham a saída como JSON válido.
- A resposta sempre parsa com
JSON.parse()sem erro.
Exemplo (OpenAI):
const response = await openai.chat.completions.create({
model: "gpt-5",
response_format: { type: "json_object" },
messages: [
{ role: "system", content: "Extraia dados em JSON." },
{ role: "user", content: "Maria, 28 anos, engenheira em SP." }
]
});const data = JSON.parse(response.choices[0].message.content); // { nome: "Maria", idade: 28, profissao: "engenheira", cidade: "SP" } ```
Versão avançada — JSON Schema:
OpenAI, Anthropic e outros suportam não só "JSON válido" mas "JSON conforme schema específico". Você fornece o schema e o modelo devolve JSON validado contra ele.
response_format: {
type: "json_schema",
json_schema: {
name: "extracao_pessoa",
strict: true,
schema: {
type: "object",
properties: {
nome: { type: "string" },
idade: { type: "integer", minimum: 0 },
profissao: { type: "string" },
cidade: { type: "string" }
},
required: ["nome", "idade"]
}
}
}
Vantagens:
- 100% confiável (com strict mode).
- Tipos preservados: integer é integer, não string.
- Não precisa try/catch elaborado para parse.
- Documenta a estrutura explicitamente no código.
Quando usar:
- Sempre que vai parsear a saída.
- APIs públicas que recebem entrada via IA.
- Pipelines de dados: ETL com LLM no meio.
- Agentes: cada decisão estruturada.
Quando NÃO usar:
- Conteúdo livre: textos, e-mails, posts. JSON estraga.
- Conversação: chat livre, não estruture.
Diferenças entre providers em 2026:
- OpenAI: JSON Mode + strict JSON Schema. Gold standard.
- Anthropic Claude: tools como structured output (function calling).
- Gemini: response_schema parameter.
- Open source (Ollama, vLLM): variável, depende de ferramentas como Outlines, JSONFormer.
Para o profissional brasileiro:
- Sempre que monta produto sério: use JSON mode com schema.
- Combine com Zod (TS) ou Pydantic (Python) para validação dupla.
- Cuidado com defaults: quando IA não tem certeza, define comportamento.
Em 2026, JSON mode é base. Quem ainda parseia regex sobre prosa de LLM vive perigosamente. Stack moderno: LLM + JSON Schema + validação tipada + lógica de erro robusta. Esse padrão evita 90% dos bugs em produção com IA.
