Skills & Agentes IA
Qualquer IA
Prompt para Saída JSON Estruturada Validada por Schema (Function Calling)
Template de prompt que força a IA a responder apenas com JSON válido contra um schema dado — com retry automático e exemplos de few-shot.
0cópias
0joinhas
0favoritos
O prompt
Crie um prompt reutilizável que faz qualquer LLM extrair dados de texto livre e responder APENAS com JSON válido.
Parâmetros:
- Nome da Tarefa de Extração: {{nome_tarefa}} (ex.: 'extrair dados de nota fiscal')
- Schema JSON Esperado: cole aqui o schema (JSON Schema ou TypeScript interface)
- Texto de Exemplo para Few-Shot: {{texto_exemplo_1}} → {{json_esperado_1}}
Requisitos do Prompt Gerado:
1. Estrutura em 4 blocos: (a) papel ('Você é um extrator de dados...'), (b) schema completo com descrição de cada campo e regras de preenchimento (null quando não encontrar — nunca inventar), (c) 2 exemplos few-shot no formato texto → JSON, (d) regra final em negrito: 'Responda SOMENTE com o objeto JSON válido. Sem markdown, sem cercas de código, sem comentários.'
2. Regras de robustez incluídas no prompt: datas sempre ISO 8601 (YYYY-MM-DD), números como number (nunca string com R$), listas vazias [] quando não houver itens, e campos opcionais omitidos (não null) se o schema marcar optional.
3. Inclua uma seção 'Casos difíceis' no prompt: texto truncado → extraia o que existir + campo _confidence (0-1); dados contraditórios → use o mais recente e registre em _notes; texto em outro idioma → extraia mesmo assim.
4. Gere também o validador: função validateOutput(jsonString, schema) em TypeScript usando Ajv que retorna { ok, errors[] } — para o pipeline rejeitar saídas inválidas.
5. Pipeline de retry documentado no README: se validateOutput falhar, reenvia ao LLM com 'Sua resposta anterior era inválida: [erros]. Corrija apenas os campos apontados.' (máx. 2 retries).
Como usar
- Substitua {{nome_tarefa}}, cole seu schema e prepare 1 par texto → JSON real de exemplo.
- Cole no ChatGPT/Claude — o prompt final + validador Ajv + README do retry saem juntos.
- Rode o pipeline com 10 textos reais: a taxa de JSON válido na 1ª tentativa deve passar de 90%; se ficar abaixo, refine as regras dos campos problemáticos no bloco (b).
- Para function calling nativo (OpenAI/Anthropic), peça à IA: 'converta este prompt para o formato tools do API' — o schema já está pronto para isso.
Exemplo de saída
Prompt em 4 blocos (~60 linhas) com papel, schema anotado campo a campo, 2 exemplos few-shot e regra final de JSON puro; regras ISO 8601/number/[]/omit-optional embutidas; seção 'Casos difíceis' com _confidence e _notes; validateOutput() com Ajv retornando {ok, errors[]} e README do retry (máx. 2) reenviando os erros apontados ao LLM.