Vibe coding vs. engenharia real: onde está a linha?
A diferença entre prototipar rápido e construir produto escalável. Quando IA acelera e quando ela esconde débito técnico.
Em fevereiro de 2025, Andrej Karpathy publicou no X um post curto descrevendo um modo de trabalhar com IA que batizou de vibe coding: ditar o que se quer, aceitar o que a IA gera e seguir em frente sem mergulhar no código. O termo viralizou e foi escolhido como palavra do ano pelo Collins English Dictionary.
A discussão saudável que vem junto não é se IA é boa ou ruim em desenvolvimento. É outra: em que contextos vibe coding entrega valor, e em que contextos ele apenas acumula débito técnico sem que ninguém perceba a tempo.
O que é vibe coding na prática?
Vibe coding é o modo de desenvolvimento em que a pessoa dita o que quer, aceita o output da IA e segue, sem revisão profunda. Cursor, Claude Code, Copilot ou outra ferramenta, o padrão é o mesmo.
O resultado costuma ser rápido e funcional, com aparência de produtividade. O que tende a aparecer depois é o efeito acumulado.
Pesquisa da GitClear que rastreou milhões de linhas de código entre 2021 e 2024 mostra que, no período de adoção acelerada de IA, o percentual de código refatorado caiu de 25% para menos de 10% das linhas alteradas, enquanto código copiado/colado subiu de 8,3% para 12,3%. Código gerado por IA introduziu 1,7x mais issues que código humano no mesmo período, e indicadores de débito técnico subiram entre 30% e 41%.
Esses números não são argumento contra IA. São argumento contra IA sem engenheiro no comando.
Quando vibe coding entrega valor?
Há contextos em que aceitar o output da IA com pouca cerimônia faz sentido:
- MVPs e protótipos descartáveis. Quando o objetivo é validar hipótese de produto em dias, e o código será reescrito de qualquer forma.
- Scripts internos e automações pontuais. Um script que roda uma vez por mês e tem um único usuário, sem custo de manutenção relevante.
- Experimentação visual. Testar layouts, animações e variações de UI antes de decidir o que vai para produção.
- Validação técnica rápida. Verificar se uma integração é viável antes de investir arquitetura nela.
Nesses casos, velocidade é o critério dominante. Vibe coding cumpre o papel.
Quando vibe coding cobra a fatura?
A fricção aparece quando o protótipo vira produto sem passar por uma camada de engenharia.
Alguns sintomas comuns alguns meses depois:
- Onboarding lento. Novos devs levam semanas para entender um codebase sem padrão consistente, com abstrações geradas que não conversam entre si.
- Refatoração custosa. Código gerado tende a ser monolítico, com responsabilidades misturadas. Mudanças pontuais quebram pontos distantes.
- Superfície de segurança maior. IA autocompleta padrões inseguros sem alertar. Validações ausentes, dados expostos, dependências desatualizadas.
- Performance que não escala. Queries que funcionam com 100 registros falham com 100 mil porque ninguém pediu otimização e a IA não questionou.
- Atrito com legado. Sistemas existentes têm contexto que a IA não tem. O código gerado assume um mundo limpo que raramente existe.
O débito acumulado costuma não aparecer no sprint, e sim no trimestre seguinte, quando a velocidade despenca sem causa óbvia.
O que muda quando engenheiro sênior usa IA?
A diferença não está na ferramenta, e sim em quem está no comando.
Um engenheiro sênior usando IA mantém julgamento ativo em cada bloco aceito. Trata o output da IA como trataria o código de um dev júnior: revisa, questiona, adapta. A IA acelera execução; o sênior garante que o que foi acelerado tem qualidade para chegar à produção.
Algumas distinções práticas entre os dois modos de trabalho:
| Vibe coder sem critério | Engenheiro sênior com IA |
|---|---|
| Aceita o output sem ler | Revisa cada bloco antes de commitar |
| Delega decisões de arquitetura à IA | Usa IA para execução, decide arquitetura |
| Ignora testes (“a IA corrige depois”) | Exige cobertura mínima, principalmente em código crítico |
| Contexto vive na cabeça do dev | Contexto documentado, padrões explícitos |
| Débito cresce silencioso | Débito identificado e priorizado |
Onde está a linha, na prática?
A pergunta útil para decidir é: quem vai manter isso em seis meses?
Se a resposta é “ninguém, vai ser descartado” ou “eu mesmo, e já tenho contexto inteiro”, vibe coding tende a funcionar.
Se a resposta é “um time que ainda não existe” ou “a empresa inteira depende disso rodar”, engenharia consistente é necessária, com ou sem IA no fluxo.
O critério prático costuma combinar três variáveis:
- Tipo de projeto: produto de longa vida versus protótipo descartável.
- Estágio: pré-PMF validando hipótese versus pós-PMF crescendo em escala.
- Time: quem vai manter, com qual contexto e com qual senioridade.
Usar IA sem responder essas perguntas é a definição prática de débito técnico mascarado de produtividade. Responder bem essas perguntas é a diferença entre IA como alavanca e IA como muleta.
Pronto para levar seu time ao próximo nível?
Nossos talentos sêniores em engenharia, IA e liderança técnica estão prontos para acelerar sua operação. Vamos conversar sobre o que você está construindo.
Agendar diagnóstico com a BeTalent