Assisti um vídeo do Pasquadev essa semana que verbalizou algo que eu já vinha sentindo faz meses: vibe coding não é suficiente. E se você trabalha com IA pra codar — como eu trabalho todo dia — precisa ouvir isso.
O hype do vibe coding dominou 2025. Andrej Karpathy cunhou o termo, o Twitter pirou, e de repente todo mundo estava "construindo apps inteiros só com prompts". Parecia mágico. E em parte é.
Mas tem um problema que ninguém fala nas demos de 2 minutos no Twitter.
O que acontece depois do protótipo
Eu vivo isso na prática. Gerencio múltiplos projetos em produção — Sistema Reino, HubNews, NeuralNets, além de projetos menores. Uso Claude Code como meu par de programação diário. IA não é novidade pra mim. É meu workflow.
E justamente por usar IA intensivamente, eu sei onde ela quebra.
Vibe coding funciona incrivelmente bem pra prototipagem. Você descreve o que quer, a IA cospe código, você itera rápido. Em 30 minutos tem algo funcionando. Mas tenta manter esse projeto por 3 meses. Tenta adicionar uma feature complexa num código que foi "vibado" sem planejamento.
O que acontece: a IA não sabe o que você quer. Ela adivinha. E adivinhar funciona pra scripts simples, mas não funciona pra sistemas reais.
O padrão que eu vi se repetir
Em todo projeto onde eu pulei direto pra implementação — mesmo usando IA — o mesmo ciclo apareceu:
- Velocidade absurda nos primeiros dias
- Desaceleração gradual conforme a complexidade cresce
- Retrabalho constante porque a IA não tinha contexto suficiente
- Decisões de arquitetura inconsistentes porque cada prompt gerava código com premissas diferentes
A IA é rápida. Mas rápida pra onde? Se você não definiu o destino, velocidade é só girar em círculos.
Spec-Driven Development: o que é
SDD — Spec-Driven Development — é a resposta prática pra isso. A ideia central é simples: especifique antes de codar.
Não é nada revolucionário. Engenharia de software clássica sempre pregou isso. A diferença é que agora, com IA como executor, a especificação ganha um papel ainda mais crítico. A IA não tem intuição. Ela precisa de contexto explícito. E uma spec é exatamente isso.
O workflow do SDD tem 4 fases:
1. Specify — Defina o que vai construir
Antes de abrir o terminal, escreva o que o sistema precisa fazer. Não em termos técnicos — em termos de usuário e comportamento.
- Quem usa?
- O que resolve?
- Quais são os fluxos principais?
- Quais são os edge cases?
- O que está fora do escopo?
Isso vira um documento que a IA vai usar como fonte de verdade.
2. Plan — Defina como vai construir
Aqui entra a parte técnica. Stack, arquitetura, restrições, padrões.
No meu caso: "Laravel 13 com Inertia, MySQL, Redis, deploy via Forge, workers no Supervisor." Isso não muda a cada prompt. Isso é contexto permanente que a IA precisa respeitar.
3. Tasks — Quebre em pedaços
Transforme a spec e o plano em tarefas pequenas, implementáveis e testáveis isoladamente. Cada tarefa endereça um componente específico.
A IA executa melhor quando o escopo é claro. Um prompt vago gera código vago. Uma task específica gera código específico.
4. Implement — Execute com contexto
Agora sim, código. Mas cada linha de código tem rastreabilidade. Você sabe por que existe, o que resolve, e contra o que deve ser testada.
Como isso funciona no meu dia a dia
Eu não uso um framework formal de SDD. Não preciso. O que eu faço é aplicar o princípio no meu workflow com Claude Code.
Antes de pedir qualquer implementação, eu escrevo um CLAUDE.md no projeto. Esse arquivo é a spec viva — define stack, padrões, decisões de arquitetura, e o que a IA deve e não deve fazer.
Quando preciso de uma feature nova, eu entro em plan mode. Descrevo o que quero, peço pro Claude propor a abordagem, reviso, ajusto, e só depois aprovo a implementação. Não é vibe coding. É engenharia com IA.
E os resultados são claros:
- Menos retrabalho — a IA já sabe o contexto antes de escrever a primeira linha
- Código consistente — mesmos padrões em todo o projeto
- Deploys mais seguros — cada mudança é rastreável a uma decisão documentada
- Velocidade sustentável — rápido no dia 1 e rápido no dia 90
O que o Pasquadev acertou
O vídeo do Pasquadev toca num ponto que a maioria da comunidade dev brasileira ainda não internalizou: a IA não substitui pensamento. Ela amplifica o que você já tem.
Se você tem clareza do que quer construir, a IA te leva lá 10x mais rápido. Se você não tem, ela te leva 10x mais rápido pro lugar errado.
Vibe coding é o martelo. SDD é o projeto da casa. Você pode martelar o dia inteiro, mas sem planta, não vai ter uma casa — vai ter uma pilha de madeira.
Quando vibe coding ainda faz sentido
Não estou dizendo que vibe coding é inútil. Tem seu lugar:
- Protótipos e provas de conceito
- Scripts únicos que você vai rodar uma vez
- Exploração — quando você não sabe o que quer e está testando ideias
- Hackathons e MVPs descartáveis
O problema é quando vibe coding vira o modo padrão. Quando você constrói sistemas inteiros "na vibe" e depois se pergunta por que tudo virou uma bola de lama.
Minha posição
Eu codo com IA todo dia. Literalmente. Meu servidor de produção é gerenciado por Claude Code via Telegram. Meus deploys, investigações de incidentes, code reviews — tudo passa por IA.
E justamente porque eu levo IA a sério como ferramenta de engenharia, eu não faço vibe coding em produção. Eu especifico. Eu planejo. Eu defino contexto. E aí sim, eu deixo a IA executar.
Spec-Driven Development não é burocracia. É o mínimo de disciplina pra que a velocidade da IA trabalhe a seu favor — e não contra você.
Para de vibrar. Começa a especificar.