Resposta direta

Você descreve o que quer para a IA, ela escreve o código e funciona. Na primeira vez, parece mágica. Depois de um tempo, você percebe que cada execução entrega um resultado ligeiramente diferente, e nenhum deles é exatamente o que você tinha na cabeça.

Você descreve o que quer para a IA, ela escreve o código e funciona. Na primeira vez, parece mágica. Depois de um tempo, você percebe que cada execução entrega um resultado ligeiramente diferente, e nenhum deles é exatamente o que você tinha na cabeça. É assim que o vibe coding começa a custar caro.

Caderno Moleskine com um documento-spec desenhado à mão à esquerda virando código certo à direita, com o título SPEC ANTES DO CÓDIGO

O problema não está na IA. Está na falta de um documento antes do código.

Neste artigo você vai aprender:

  • Por que "adicione autenticação" não é um pedido específico (e o que a IA decide por você quando você não decide antes)
  • Os 3 documentos que todo mundo confunde: PRD, design doc e spec
  • O framework SPEC-5: os 5 blocos que todo spec precisa ter
  • O loop de 5 passos que transforma o spec em código entregue
  • Quando escrever spec é desperdício de tempo (sim, existe)

Por que o vibe coding trava

O vibe coding funciona bem para coisas pequenas. Um script rápido, uma tela de teste, algo no ar em trinta segundos. Ninguém deveria abrir mão disso. E quem não programa também consegue usar IA para automatizar tarefas — eu escrevi sobre isso em Codex para quem não programa.

O problema aparece quando o resultado não fica exatamente certo. Você ajusta o prompt. A IA reescreve. Você ajusta de novo. Até que parece bom o bastante para publicar.

O que aconteceu nesse loop? A IA tomou centenas de decisões pequenas que você nunca viu, e nada registrou o motivo. Rode o mesmo prompt cem vezes e você terá cem versões diferentes. Nenhuma está errada. Só não é a que você tinha na cabeça.

Pegue um pedido comum: "adicione autenticação". Parece específico. Não é.

Qual estratégia de token? Quanto tempo dura a sessão? Existe fluxo de refresh? Recuperação de senha? Login social? Qual banco de dados? Qual ORM? Como os erros são formatados? Onde os tokens ficam guardados? Precisa de testes, e de que tipo?

Você não respondeu nada disso. Então a IA respondeu por você, em silêncio. Você só descobre quais respostas recebeu depois que o código roda.

O código quase sempre está certo. As decisões é que nunca foram suas. Essa é a falha real do vibe coding.

O que as grandes empresas já fizeram

Enquanto você ajusta prompt, as quatro maiores empresas de engenharia do mundo não escreveram artigos de opinião. Elas lançaram ferramentas.

  • Amazon criou o Kiro, um IDE desenhado em torno de especificações
  • GitHub liberou o Spec Kit como kit open source
  • Google publicou um codelab de desenvolvimento guiado por spec para o Antigravity
  • Microsoft aborda o tema no blog de desenvolvedores

Quatro das maiores organizações de engenharia do planeta não ficaram filosofando. Elas entregaram ferramentas. Quando o mercado age assim, o debate já acabou: a direção é essa.

Os 3 documentos que todo mundo confunde

Grande parte da confusão sobre esse tema é vocabulário. PRD, design doc, spec, requisitos. As pessoas usam as quatro palavras como se fossem a mesma coisa.

PRD é escrito para pessoas. Product managers, stakeholders, quem aprova. Responde o que vamos construir e por que vale a pena. Valor de negócio mora aqui.

Design doc é escrito para engenheiros. Responde o como. Arquitetura, escala, segurança, trade-offs.

Spec é escrito para a IA. É o novo da lista, e é o assunto deste artigo. Pega um pouco do porquê do PRD, porque contexto ajuda a IA a decidir melhor quando algo não foi definido. Mas o spec existe para ser executado, não para ser discutido.

Escreva um spec como PRD e a IA se afoga em justificativa de negócio que não consegue usar. Escreva como design doc e você ganha arquitetura sem critério de aceite. É um documento próprio, com um trabalho próprio.

O framework SPEC-5

Um spec que funciona tem cinco blocos. Falte um e você sente exatamente qual faltou.

1. Why — o porquê

Duas ou três frases de contexto. Qual problema resolve e para quem. É o bloco que permite à IA tomar uma decisão sensata quando você esqueceu de especificar algo.

2. What — o quê

O comportamento observável. Endpoints, entradas, saídas, estados. Concreto o bastante para que dois engenheiros, lendo o mesmo documento, construam a mesma coisa.

3. Constraints — as restrições

O bloco mais subestimado, e o que separa um spec de um desejo. Agentes de IA são ansiosos. Deixados sozinhos, instalam pacote, inventam padrão e refatoram arquivo que você nunca mencionou. Constraints é onde você diz não por antecipação.

4. Out of scope — fora do escopo

Uma lista separada de propósito. Constraints diz como construir. Fora do escopo diz o que não tocar. Toda feature carrega uma feature vizinha óbvia que a IA vai adicionar de boa vontade se você não cortar.

5. Tasks — as tarefas

O trabalho dividido em pedaços discretos. Cada um diz o que construir, quais arquivos toca e como saber que está pronto.

Leia o bloco de constraints de novo. Quatro linhas, e cada uma fecha uma decisão que a IA tomaria por você. É o bloco que todo mundo pula, e é o que mais trabalha.

O loop de 5 passos

O spec não é o fluxo de trabalho. Isto é:

  1. Gerar. Descreva a feature e peça para a IA rascunhar o spec. Escrever a primeira versão à mão é mais lento e não é melhor.
  2. Revisar. Leia como adversário. Em qualquer lugar onde a IA ainda tenha espaço para adivinhar, feche agora. Toda ambiguidade deixada aqui vira reescrita depois.
  3. Quebrar. Divida o trabalho em tarefas pequenas o bastante para terminar e verificar de uma sentada.
  4. Rodar uma tarefa. Uma. Não o spec inteiro. É o passo que as pessoas mais erram.
  5. Revisar e commitar. Confira o trabalho contra a condição de pronto que você já escreveu, faça o commit e vá para a próxima tarefa.

Você não entregaria a um engenheiro novo um documento de quarenta páginas e sumiria. Você daria um ticket, revisaria e daria o próximo. Com IA não é diferente, e ela falha do mesmo jeito quando você pula esse passo.

O ganho composto aparece na segunda sessão. O spec continua lá. A IA retoma a tarefa quatro com as mesmas restrições da tarefa um, e nada deriva.

Quando escrever spec é desperdício

Honestidade faz parte do método. O spec compra previsibilidade. Não compra velocidade, e em trabalho pequeno ele custa as duas coisas.

Pule o spec quando:

  • A tarefa é um arquivo com uma função. Escrever o spec demora mais que o conserto
  • Você ainda está explorando. Se você não sabe o que quer, um spec trava uma suposição e torna caro abandoná-la
  • É descartável. Um protótipo que você vai apagar na sexta não precisa de contrato
  • Tanto faz qual abordagem a IA escolher. Se qualquer implementação razoável serve, deixe-a escolher

O teste é simples. Pergunte se você ficaria irritado se a IA tomasse aquela decisão de forma diferente. Se sim, a decisão pertence ao spec. Se você der de ombros, pode continuar vibrando.

E existe a armadilha do outro lado: um spec tão detalhado que vira a implementação é só código escrito em prosa, e agora você mantém duas coisas. Se o seu spec é maior que a feature, você não escreveu um spec. Você escreveu a coisa.

Perguntas rápidas

O que é spec-driven development?

É a prática de escrever, antes do código, um documento curto que define o que será construído, as restrições, o que está fora do escopo e as tarefas. A IA executa o spec em vez de adivinhar com um prompt solto.

Preciso saber programar para escrever um spec?

Não. O spec descreve comportamento observável, não implementação. Um founder consegue escrever o Why, o What, as restrições e o fora do escopo do próprio produto sem escrever uma linha de código.

Vibe coding morreu?

Não. Vibe coding continua ótimo para protótipos, scripts e exploração. Ele simplesmente não escala para o que você vai manter em produção. Spec-driven development é o próximo degrau.

Qual a diferença entre PRD, design doc e spec?

O PRD é para pessoas e fala de valor de negócio. O design doc é para engenheiros e fala de arquitetura. O spec é para a IA e existe para ser executado, com critérios de pronto.

Quanto tempo leva para escrever um spec?

Minutos para tarefas pequenas, algumas horas para features grandes. A regra é simples: se o spec demora mais que a feature, você escreveu a coisa errada.

Na prática

Escreva um spec curto antes do próximo código que você pedir à IA. Cinco blocos, sem perfeccionismo. Se a IA ainda tiver espaço para adivinhar em algum ponto, feche esse ponto antes de rodar.

O papel do líder muda junto. Você deixa de ser quem digita e vira quem decide: o que entra, o que não entra e onde ficam as fronteiras. A IA cuida do como. Os engenheiros que escrevem um spec limpo vão entregar mais do que os que ficam ajustando prompt até parecer certo.

Vibe o demo. Especifique o que você vai entregar de verdade.

Se você quer levar esse debate para a sua liderança ou seu time, eu falo sobre IA, inovação e futuro do trabalho em palestras para empresas. Conheça a palestra sobre IA e veja como preparar seu time para construir com IA previsível.

---

Fontes: post original de 0xjeyx sobre spec-driven development, GitHub Spec Kit, Amazon Kiro, Google Antigravity

Aplicação executiva

Quer transformar esta ideia em uma palestra, workshop ou advisory conectado ao desafio da sua empresa?

Conversar sobre o resultado esperado