Como Escrever Prompts para Copilot que Geram JSON Válido
🔍 WiseChecker

Como Escrever Prompts para Copilot que Geram JSON Válido

Quando você precisa de dados estruturados do Copilot, pedir saída em JSON é comum. Mas o Copilot frequentemente retorna JSON quebrado com vírgulas sobrando, aspas não escapadas ou texto extra ao redor do bloco de código. Esses erros quebram parsers e desperdiçam seu tempo. Este artigo explica por que o Copilot produz JSON inválido e como corrigir seus prompts. Você aprenderá padrões de prompt específicos que forçam o Copilot a retornar JSON limpo e analisável toda vez.

Principais Conclusões: Escrevendo Prompts para JSON Válido

  • Esquema JSON explícito no prompt: Defina os nomes e tipos dos campos exatos para eliminar suposições.
  • Instrução de único objeto ou array JSON: Diga ao Copilot para gerar apenas o JSON, sem texto extra ou markdown.
  • Prompt baseado em exemplo: Forneça uma estrutura JSON válida de exemplo para que o Copilot a espelhe exatamente.

Por que o Copilot Retorna JSON Inválido

O Copilot é um modelo de linguagem grande que gera texto com base em padrões. Quando você pede JSON, o Copilot tenta produzir JSON válido, mas muitas vezes falha devido à ambiguidade no prompt. Erros comuns incluem:

  • Vírgulas sobrando após o último elemento do array ou propriedade do objeto.
  • Aspas faltando em nomes de propriedades ou valores string.
  • Aspas duplas não escapadas dentro de valores string.
  • Texto explicativo extra antes ou depois do bloco JSON.
  • Embrulhar o JSON em um bloco de código markdown com tag de linguagem.

Esses problemas ocorrem porque o Copilot trata o prompt como uma conversa, não como um esquema rígido. Sem restrições explícitas, o Copilot prioriza a legibilidade em vez da sintaxe estrita. A solução é adicionar regras de formatação precisas diretamente no seu prompt.

Passos para Escrever Prompts que Produzem JSON Válido

Siga estes passos para criar prompts que retornem JSON limpo e analisável. Cada passo se baseia no anterior para remover ambiguidades.

  1. Defina o esquema JSON no prompt
    Escreva os nomes exatos dos campos e os tipos de dados esperados. Por exemplo: “Gere um objeto JSON com campos: nome (string), idade (número) e email (string).” Isso informa ao Copilot a estrutura antes de ele gerar qualquer coisa.
  2. Solicite apenas um único objeto ou array JSON
    Adicione uma frase: “Retorne apenas o objeto JSON. Não inclua nenhum outro texto, explicação ou formatação markdown.” Isso impede que o Copilot adicione wrappers conversacionais.
  3. Forneça um exemplo JSON válido
    Inclua um exemplo curto no prompt. Por exemplo: “Aqui está um exemplo de JSON válido: {“nome”: “João”, “idade”: 30}. Agora gere um objeto JSON semelhante para uma pessoa chamada Maria que tem 25 anos.” O Copilot espelha o padrão com mais precisão.
  4. Especifique o formato de saída explicitamente
    Diga: “Coloque o JSON entre três crases sem tag de linguagem. Não use colchetes a menos que a saída seja um array.” Isso controla o formato exato da saída.
  5. Teste a saída com um validador JSON
    Copie a saída para uma ferramenta como jsonlint.com. Se aparecerem erros, ajuste o prompt adicionando mais restrições. Correções comuns incluem remover vírgulas sobrando e escapar aspas.

Exemplo: Prompt que Falha

Prompt ruim: “Me dê uma lista de usuários em JSON.”

O Copilot frequentemente retorna algo como: “Aqui está uma lista de usuários: [ { nome: “Alice”, idade: 30, } ]” — faltando aspas em nome, vírgula sobrando e texto extra.

Exemplo: Prompt que Funciona

Prompt bom: “Gere um array JSON de objetos de usuário. Cada objeto deve ter os campos: nome (string), idade (número) e email (string). Retorne apenas o array JSON. Não inclua nenhum outro texto. Exemplo: [{“nome”: “Alice”, “idade”: 30, “email”: “alice@exemplo.com”}]. Agora gere 5 usuários.”

Este prompt produz JSON válido sem texto extra.

Erros Comuns e Como Evitá-los

Copilot inclui texto extra após o JSON

Se o Copilot adicionar uma frase de encerramento como “Espero que ajude!” após o JSON, seu prompt precisa de uma regra de saída mais rígida. Adicione: “Não inclua nenhum texto antes ou depois do JSON. A saída deve começar e terminar com a estrutura JSON.”

Copilot usa aspas simples em vez de aspas duplas

JSON exige aspas duplas para nomes de propriedades e valores string. Se o Copilot usar aspas simples, especifique: “Use aspas duplas para todos os nomes de propriedades e valores string. Não use aspas simples.” Inclua isso no prompt.

Copilot adiciona vírgula sobrando

Vírgulas sobrando são inválidas em JSON. Adicione: “Não inclua vírgulas sobrando após o último item em um array ou a última propriedade em um objeto.” Forneça um contraexemplo no prompt.

Copilot embrulha JSON em bloco de código markdown com tag de linguagem

Se você precisa de JSON puro sem markdown, diga: “Retorne o JSON sem nenhuma formatação markdown. Não use três crases.” Se preferir um bloco de código para legibilidade, especifique: “Coloque o JSON entre três crases com a tag de linguagem json.” Seja explícito.

Comparação de Estilos de Prompt para Saída JSON

Item Prompt Vago Prompt Estruturado
Definição do esquema Nenhuma ou implícita Nomes e tipos de campos explícitos
Regra de formato de saída Nenhuma “Retorne apenas o JSON. Sem texto extra.”
Exemplo fornecido Não Sim, com JSON válido
Taxa de erro Alta — frequentemente inválido Baixa — geralmente válido na primeira tentativa

Prompts estruturados reduzem erros porque removem toda ambiguidade. O esforço extra ao escrever o prompt economiza tempo depurando a saída.

Conclusão

Agora você pode escrever prompts para Copilot que retornam consistentemente JSON válido. Comece definindo o esquema exato e as regras de saída no seu prompt. Use um exemplo para ancorar o padrão. Teste a saída com um validador e refine o prompt se aparecerem erros. Para dados complexos, divida a solicitação em estruturas JSON menores e combine-as depois. Essa abordagem elimina falhas de parsing e permite usar a saída do Copilot diretamente em suas aplicações.