← todos os posts

"Erro de código, erro de configuração, erro de pedido: os três tipos e por que a IA só resolve um"

"Tem erro que mora no código, erro que mora no painel e erro que mora no seu pedido. A IA só enxerga o primeiro. A triagem de 3 perguntas pra fazer antes."

"you're just going in circles."

"Você só está andando em círculos." Escreveu um usuário do Bolt, em 2025, depois de gastar crédito num projeto simples. É relato de uma pessoa, não estatística, mas é a frase que eu mais ouço de quem constrói com IA.

Tem loop que acontece porque você pediu mal o conserto. Já fiz a autópsia de um desses. Este post é sobre outro: o loop em que a IA nunca ia acertar, porque o erro não estava onde ela olha.

Não é você, e às vezes nem é ela

A IA do Lovable, do Bolt ou do Replit lê o código do seu app. É o mundo dela. Quando você diz "não funciona", ela procura o defeito ali, o único lugar que enxerga. Se o defeito está fora, ela reescreve um código que já estava certo, diz "corrigido", e você paga a rodada.

Existem três lugares onde um erro mora. Ela só vê um.

O mapa: três tipos de erro

1. Erro de código. O defeito está no que foi escrito: um cálculo errado, um botão que não chama nada, um campo que não vai pro banco (a parte do app que guarda os dados). Esse ela resolve, e bem, desde que receba evidência. A documentação do Lovable diz que ele lê sozinho os registros de erro, mas colar a mensagem exata "ainda ajuda" quando o erro acontece no site publicado.

2. Erro de configuração. O código está certo; o que está errado é um valor guardado fora dele, num painel. Chave de acesso de um serviço, endereço do site cadastrado no login, variável de ambiente (um valor, tipo senha, que o app lê de fora do código; expliquei aqui). Dois exemplos das documentações oficiais:

  • No Replit, o segredo que você cadastrou pra rodar no editor não vai sozinho pro app publicado. A documentação manda abrir Publishing → Adjust settings → Production app secrets e cadastrar lá também. Esqueceu, o app no ar não acha a chave.
  • No Supabase, o banco e o login por trás de muito app feito no Lovable, o endereço padrão do site (Site URL) vem como http://localhost:3000, que é o endereço do computador de quem programa. A documentação manda trocar pelo endereço de produção. Não trocou, o e-mail de "esqueci a senha" manda o cliente pra um endereço que não existe no celular dele.

Nos dois casos, a IA reescreve o código dez vezes e nada muda: nada ali estava errado.

3. Erro de pedido. O app faz exatamente o que você pediu, e o que você pediu não era o que você queria. Pediu "10% de desconto pra cliente antigo" e ela deu desconto em cada item, não no total. Pediu "o cliente vê os pedidos" e todo cliente vê os pedidos de todo mundo. A documentação da Anthropic, que faz o Claude, resume bem: trate a IA como "um funcionário novo e brilhante, que não tem o contexto das suas regras". Ela não erra o código. Acerta a coisa errada, e quando você reclama, acerta de novo a coisa errada, de outro jeito.

Tipo Onde mora A IA vê? Quem resolve
Código nos arquivos do app sim a IA, com a mensagem de erro colada
Configuração no painel (Replit, Supabase, Stripe, domínio) não você, clicando no painel
Pedido na sua cabeça não você, reescrevendo a regra

A triagem: três perguntas antes de pedir conserto

Dois minutos, antes do primeiro "conserta".

Pergunta 1: funciona num lugar e quebra em outro? Funciona na prévia e quebra no link publicado. Funciona no seu computador e não no do cliente. Funciona pra você e o e-mail não chega pra ninguém. Se sim, aposte em configuração e mande este pedido, que não mexe em nada:

"Não mude código. Liste cada configuração que fica fora do código e que essa parte do app precisa pra funcionar no ar: variáveis, chaves, endereços cadastrados, permissões. Pra cada uma, me diga em qual painel eu confiro e o nome exato que deve aparecer lá."

A IA não enxerga o painel, mas enxerga o que o código espera achar nele. Com a lista na mão, você confere.

Pergunta 2: o app faz o que eu escrevi, só que não o que eu queria? Pra saber, peça a descrição, não o conserto. No Lovable, use o modo de planejamento (Plan mode); pela documentação, ele "nunca modifica o código" e custa um crédito por mensagem:

"Sem mudar nada, me explique em português simples o que o app faz hoje quando [a situação]. Passo a passo, com um exemplo de números."

Leia a resposta. Se ela descreve certinho o que você pediu e mesmo assim está errado, o erro é de pedido. Escreva a regra de novo, com um exemplo: "cliente antigo é quem comprou antes de janeiro; o desconto é de 10% sobre o total, não sobre cada item; pedido de R$ 200 fica R$ 180". A regra de ouro da mesma documentação da Anthropic serve de teste: mostre o pedido pra alguém sem contexto. Se essa pessoa ficaria confusa, a IA também fica.

Pergunta 3: nenhuma das duas? Aí é código. Abra o console, copie o erro e mande com evidência, do jeito da autópsia. Agora ela procura no lugar certo.

A ordem importa: configuração e pedido vêm primeiro porque a IA não acha nenhum dos dois sozinha.

Era uma parede de várias

Separar os três tipos de erro é a letra D do ciclo que eu uso: definir antes de mandar construir. O erro de pedido some quando a regra é escrita antes, com exemplo. O de configuração some quando você sabe quais painéis o app tem e o que mora em cada um. O de código fica pra IA, com prova. São peças de um caminho só, e têm ordem: quem define a regra antes e conhece os painéis quase não entra no loop.

Fontes