
Como validar JSON produzido por IA antes de usar
Validar JSON produzido por IA antes de usar exige conferir sintaxe, estrutura e regras do seu sistema. Um objeto bem formatado pode conter campos errados, valores inadequados ou uma ação que nunca foi autorizada.
Neste exercício, a IA sugere uma classificação de tarefa fictícia. Vamos definir o contrato esperado e um percurso de validação antes de qualquer dado entrar em outra etapa da automação.
Separe três perguntas diferentes
Primeiro: o conteúdo é JSON válido? Depois: ele respeita os campos e tipos exigidos?
Por fim: os valores fazem sentido para a operação permitida?
A RFC 8259 descreve o formato JSON. Ela não define o significado comercial dos seus campos nem autoriza executar uma instrução que apareça dentro deles.
Texto explicativo antes do objeto e cercas de Markdown podem ser úteis em uma conversa, mas não pertencem automaticamente à entrada de um parser que espera somente JSON. Defina o formato de entrega claramente.
1. Escreva um contrato pequeno
Para a tarefa fictícia, vamos aceitar uma descrição não vazia e uma prioridade limitada a três números. Nenhum campo adicional será necessário para o exercício.
{
"tarefa": "Revisar solicitação",
"prioridade": 2
}
Esse exemplo é sintético e não representa uma tarefa real. Os valores servem para planejar o teste, não para acionar um sistema.
| Regra | O que verificar |
|---|---|
| tarefa | Texto não vazio |
| prioridade | Inteiro entre as opções 1, 2 e 3 |
| Campos obrigatórios | Os dois precisam existir |
| Campos extras | Rejeitar neste contrato |
2. Use um schema para expressar a estrutura
JSON Schema oferece uma forma de descrever restrições sobre documentos JSON. O exemplo abaixo expressa as regras estruturais que escolhemos para o exercício.
{
"type": "object",
"properties": {
"tarefa": {"type": "string", "minLength": 1},
"prioridade": {"type": "integer", "enum": [1, 2, 3]}
},
"required": ["tarefa", "prioridade"],
"additionalProperties": false
}
Um validador compatível precisa aplicar esse schema à saída recebida. Fornecer o schema no prompt ajuda a explicar o contrato, mas não substitui a validação no programa.
3. Peça a saída sem inventar valores
Informe as categorias ou prioridades aprovadas e explique quando o modelo deve indicar falta de informação. Não peça que ele force uma classificação apenas para manter o formato.
Produza somente JSON conforme o contrato fornecido.
Use apenas informações da solicitação fictícia.
Não acrescente campos ou instruções fora do objeto.
Se não houver dados suficientes para uma prioridade, não invente: peça esclarecimento antes de gerar o objeto final.
Se a saída for um pedido de esclarecimento, o fluxo deve reconhecer que ainda não recebeu o objeto final. Não tente executar qualquer texto como se a geração tivesse sido concluída com sucesso.
4. Teste entradas que devem falhar
Verifique objeto sem prioridade, prioridade em texto, valor fora da lista e campo adicional. Inclua também conteúdo que parece JSON, mas usa aspas ou separadores inválidos.
Confira como o parser escolhido lida com nomes de campos repetidos e valores fora do padrão. Uma biblioteca pode aceitar extensões ou escolher um valor de forma que não corresponde à política do seu sistema.
Não faça correções silenciosas que mudem o significado. Converter "alta" para 1, por exemplo, exige uma regra explícita e pode esconder uma saída incompatível.
5. Valide o significado antes da ação
Mesmo um objeto aprovado pelo schema pode ter uma descrição inadequada ou uma prioridade sem suporte. Compare os valores com a entrada e com as permissões do fluxo.
O critério de conclusão é distinguir saída aceita, saída rejeitada e informação pendente sem executar uma ação indevida. Registre o motivo da rejeição para investigar o erro sem expor conteúdo desnecessário.
Erros comuns são confiar na aparência, tratar parsing como autorização e usar a IA para aprovar a própria saída sem controles adicionais.
Veja o desenho de gatilhos e ações para posicionar essas verificações antes da etapa que altera um sistema.
Perguntas frequentes
JSON válido garante uma operação correta?
Não. Além da sintaxe, confira estrutura, significado dos valores e autorização da ação.
Fornecer JSON Schema no prompt substitui um validador?
Não. O programa precisa aplicar um validador compatível à saída recebida.
Posso converter automaticamente valores incompatíveis?
Somente com uma regra explícita. Correções silenciosas podem alterar o significado e esconder uma saída inválida.