Debugar com IA: como descrever um bug para a IA resolver de verdade

Rocketseat

Rocketseat

5 min de leitura
https://prod-files-secure.s3.us-west-2.amazonaws.com/08f749ff-d06d-49a8-a488-9846e081b224/fb399031-5e9a-4cad-82c1-34e7fa91de74/debug-com-ia.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIAZI2LB466WF2K6LRL%2F20260627%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20260627T202630Z&X-Amz-Expires=3600&X-Amz-Security-Token=IQoJb3JpZ2luX2VjELn%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLXdlc3QtMiJHMEUCICpAoDIrTMXJ2jFMvYRYu5SOpo28m563y6aT8OHswxcoAiEA77LEGqzNHDdaQ2SUVUSO4moW4iukcZXBAwE%2BKPOG1ukqiAQIgv%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2Mzc0MjMxODM4MDUiDHxmCzNv6bTHfQ5CGSrcA%2BOWjipaW241dbecczpLBFBfR4wFrVo%2Bha8g%2FHaDl%2BwgjPDFKPmQRVJbKp6%2Bgg0cKfLeRy%2FC%2F726Qkdp6TiL%2BtkYCi5w68TU0ISJWq0XZJERVkiyOWjya1i9CsjgV%2FuAm1joyBOaSwTFl1pgXp%2FTIQ37pucHwD0DHKwPgSeXKLOlTDgy%2BCuTRSGEJ26BDXknjmgiS59NrN2KtMorM77BY%2B9hSoTNbNkZjsEb1pe7XrPSm6hwYnotzJ6NBa5xtXZIbPtf%2BIKMZhd%2BoDiynwxAVkdOt01BolJYkdjdDTqdyx9df0lHx99yPBQPa792hiZWw7gl%2FC1I%2Bb1SMsXa4RJYL23lFX%2B1rQ3kiNHa8CphgdKtReF%2F%2F3AsmT22muimAV7Q8p9O7tu7R14wNtTHvtybvJ1wFgUPMAm5jSWc%2BHhnX7ZamZJ1s3VTMXFYy7vyHnB0t03lmETLqz42FIqBg2kuoV7mIHwKXq6bONsRsb6laIwyu8WXJ%2BJrc45dlAjicNB7eKFNxGvEkSlnb93M%2BXnUazPs8QRrGSZj09F6fzrWvNry81zkm3WIBDmd2CQru9NWAh1WaNRINjHp4RjkUzPCdhvL5yjppJCKvE1%2FZlmU2ESmutNr36qbNdIyz9UUMKqFgNIGOqUBkaovNBKFHgcKh6B5iDaOeTsELOBx7H6pcKT8hQ%2B0XVFTX6EHU%2FDzQG1bLuNImlMt6WsxSpXgnQ9IiN3GWtHnbbWqyC31Zw6paxydUROwVVU87wr5C6YBq%2FTVaZGMJOsOHUtI9y05oLudSDJFIZz4gjefplV5EiDPtQN3AKvyI%2B2Va0oszr8eV7WO830TqSfSQFYgI5Q8YSnNwgQa2FqVqLOZdYtG&X-Amz-Signature=6782cf709963cd2500db404a8696b0dbc28f19404c6a3b05a11d3e9b25f04674&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject
Você já mandou um prompt para o ChatGPT, Claude ou até pro Gemini sobre um bug e recebeu uma resposta genérica que não resolve nada? Ou pior, uma solução que não se aplica ao seu caso específico?
O problema não é a IA. É a forma como você comunicou o problema. Assim como um bom bug report para um colega de trabalho precisa ser claro e contextualizado, descrever um bug para uma IA exige uma estrutura específica. Quando você aprende essa habilidade, os resultados mudam drasticamente.
Neste artigo, você vai entender o framework exato que separa um prompt com respostas inúteis de um prompt que resolve o bug na primeira tentativa.

Por que a maioria dos prompts sobre bugs falha

Quando você digita no ChatGPT "meu código está dando erro", a IA não tem contexto nenhum. Ela não sabe se você está usando React, Laravel ou Python puro, qual é a versão das dependências, ou qual exatamente é o comportamento inesperado.
A IA trabalha com base em padrões estatísticos. Sem contexto suficiente, ela fornece a resposta mais comum e genérica possível. É como descrever um sintoma ao médico dizendo "dói" sem especificar onde, há quanto tempo ou em que circunstâncias.
Prompts vagos geram respostas vagas. Prompts específicos geram soluções precisas.

O framework de 4 pilares para descrever bugs

Existem quatro elementos que toda descrição de bug deve incluir, nesta ordem:

1. Stack técnico

Linguagem, framework, versão e dependências relevantes. Sem essas informações, a IA pode sugerir soluções incompatíveis com seu ambiente.

2. Stack trace ou logs

A saída de erro real, com números de linha sempre que possível. Copie e cole a mensagem de erro exata, não resuma.

3. Comportamento esperado vs. real

O que deveria acontecer versus o que de fato acontece. Seja específico: "esperado 2 usuários, recebido 3" é muito mais útil que "não está funcionando".

4. Passos para reproduzir

Como alguém (ou a própria IA) pode recriar o problema do zero. Inclua o código mínimo necessário para demonstrar o bug.
Sem esses quatro pilares, você está pedindo à IA que adivinhe. Com eles, você fornece tudo o que ela precisa para diagnosticar o problema com precisão.

Exemplo prático: prompt ruim vs. prompt bom

Prompt ruim

Olá, meu array não está filtrando certo. Como faço para corrigir?
⚠️
Por que falha: não há contexto algum. A IA não sabe qual linguagem, qual array, qual tipo de filtro ou qual é o resultado esperado. A resposta será genérica e provavelmente não vai resolver seu problema específico.

Prompt bom

Estou usando JavaScript puro (Node.js 18). Tenho um array de objetos de usuários e estou tentando filtrar apenas os ativos com .filter(). O problema é que o método está retornando 3 usuários quando deveria retornar 2. Aqui está o código:
const users = [ { id: 1, name: 'Ana', active: true }, { id: 2, name: 'Bruno', active: false }, { id: 3, name: 'Carlos', active: true } ]; const activeUsers = users.filter(user => user.active); console.log(activeUsers); // Resultado atual: [{ id: 1, ... }, { id: 2, ... }, { id: 3, ... }] // Resultado esperado: [{ id: 1, ... }, { id: 3, ... }]
A estrutura do objeto é a que mostrei acima. Estou rodando isso em um script Node.js simples. O que está acontecendo?"
📌
Por que funciona: o stack técnico está claro (JavaScript, Node.js 18), o código é reproduzível, o comportamento esperado versus o real está documentado e o contexto de execução foi informado. A IA tem informações suficientes para diagnosticar o problema com precisão.

Comparação de outputs reais

Quando você envia o prompt ruim, a resposta típica é genérica:
Você pode usar .filter() para filtrar arrays. Aqui está um exemplo básico: array.filter(item => item.active).
Quando você envia o prompt bom, a resposta é precisa:
Olhando para seu código, o .filter() está correto sintaticamente. O problema é que todos os três usuários estão retornando. Verificando sua lógica, o valor de active pode estar sendo interpretado como a string 'false' em vez de booleano. Teste console.log(typeof users[1].active) para confirmar. Se for string, use users.filter(user => user.active === true) ou garanta que active seja sempre booleano na origem dos dados.
A diferença é expressiva porque a IA tem contexto real para trabalhar. Uma resposta genérica não ajuda ninguém. Uma resposta específica resolve o problema na primeira tentativa.

Dicas para respostas ainda melhores

  • Inclua mensagens de erro exatas: copie e cole o stack trace completo, não resuma ou parafraseie.
  • Especifique versões de dependências: a IA responde de forma diferente para React 18 e React 19, por exemplo.
  • Mostre tentativas anteriores: "tentei usar .find() em vez de .filter(), mas também não funcionou" ajuda a IA a descartar soluções óbvias.
  • Adicione contexto de negócio quando relevante: "preciso filtrar usuários ativos para exibir em um dashboard em tempo real" pode mudar a abordagem recomendada.
Quanto mais contexto você fornecer, mais a IA consegue raciocinar junto com você sobre o problema. Contexto é a moeda de troca com ferramentas de IA.

Recursos para aprofundar

Quer dominar Engenharia de Prompt?

A habilidade de comunicar problemas com clareza vale mais do que conhecer todas as ferramentas de IA disponíveis. Desenvolva essa competência e qualquer ferramenta vai trabalhar melhor para você.
Acesse a Masterclass de Engenharia de Prompt da Rocketseat e aprenda estratégias avançadas para extrair o máximo das IAs generativas.

Conheça o Rocketseat Para Empresas

Oferecemos soluções personalizadas para empresas de todos os portes.

Rocketseat

Rocketseat

Ecossistema de educação contínua referência em programação e Inteligência Artificial.

Artigos_

Explore conteúdos relacionados

Descubra mais artigos que complementam seu aprendizado e expandem seu conhecimento.

Imagem contendo uma carta e um símbolo de check
NewsletterReceba conteúdos inéditos e novidades gratuitamente