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=ASIAZI2LB466WZF5PJPK%2F20260511%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20260511T120607Z&X-Amz-Expires=3600&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEEsaCXVzLXdlc3QtMiJHMEUCIQCWkVbgfXoyMlrkW9YJFRuH81pIdR5tJUsH5Ord3erw0gIgMCSGCqIpr7Lw7adTUswT9nsVC2I2upMg%2BPy0ndJryHsq%2FwMIFBAAGgw2Mzc0MjMxODM4MDUiDBJgfFcX3Fvww%2B5%2BwSrcA80KdnzzFnItWKujD0kTCaBeT8LxJqxtuWtjsR2P7CZDwWtVA6rXVxknzeA%2FmZR5NvVzR%2F%2B3CtWDUzGJQL1wSHdqnoM9zGrPb2YRie9nrAv6Q4pqkrY0Vv6gN6x9ZrBL10FvwIPSA8crqEurbWWfaIcaDzE5%2BmJK7gqRSJ8ukXlbKI8a3Bbs0UBXgtY%2BUAQ0maaGAmZ28bQ%2Fwo4onegTTCgZ5d8zjxMzF%2FzIWZj6w926YBthnzF4UE3Pz25GkSFLGVAYkoNjNnwr5eB%2FIQl1HL%2FvsK4u1qjkuZCtW8iLTDA1N%2FWhLVP%2Bum%2FK%2B5vZ2xBgi6jBoUxfd4wHX0hgHoklal5AwptCkTw%2FnxJ1A53dKwlFMEWAfja6v9IcBqtaLSVOd6tvwtRtERchHe95%2FcAHVLlwjgd8cbpS89N%2FIoqtxb7dP%2F3Dis3HHAYIltuYqisiH7oMWQ74Zz%2FqKWX0po84g2aPml9jadRJQq1LASdSskI%2Bz9QsTYcOm3FSnUYhiyCfJs%2BehQH569Grh1aqEleM0GSSQ5IU%2Bj6qO09IqUrL21jrFuqGd4eTOEQYlpQjUlcWKdKjEPtxIvMJ0vdzG0WoHfB%2FZKoKiBFswYEnoIR46rtH8h7YA4%2F9gnxUiGh3MLHzhtAGOqUB6%2BLMW0tzFu%2BGXZgk5d86hfp3DU%2FmcEbnLKAETNuB8f%2FfWvywnDIrpgDEQckRx4K6E%2BSSJIYvTDp8vmuQpAfwFx2NRjL0no%2BYb8ElCVFJfTixYNW0MTjO3gVcLT8EZ%2Fik0ZU1gU28slHzqLCa223iBopqt8esZ%2F5G63Hcfbsj7IJH2g7fpj0Voas2wf4uY5B4Xd7yio0FLHbaXtxFO%2B5lM%2FyQh%2Bto&X-Amz-Signature=cd0605d231ea943aace833ac915f57513b8c87e8906d910d98eb237c661ae482&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