~ / noticias /agentic-code-vs-vibe-coding-vs-sdd-tabela-decisao $ _

Agentic Code vs Vibe Coding vs SDD: a tabela definitiva pra escolher por contexto

Lucas Souza Lucas Souza 10 min de leitura Notícias
Agentic Code vs Vibe Coding vs SDD: a tabela definitiva pra escolher por contexto

Agentic Code vs Vibe Coding vs SDD: a tabela definitiva pra escolher por contexto

Três comunidades. Três paradigmas. Uma briga eterna no Twitter sobre qual é o "jeito certo" de escrever software com IA em 2026.

E o dev no meio dessa confusão escolhe pelo barulho. Vê alguém com 300 mil seguidores dizendo que vibe coding morreu, vê outro dizendo que SDD é overengineering, vê um terceiro defendendo agentic engineering como se fosse religião. Resultado: ninguém entende quando cada um performa de verdade.

Esse post resolve isso. Você vai sair daqui com a definição operacional dos três paradigmas, uma tabela com oito critérios e uma árvore de decisão pronta pra colar na wiki do seu time.

TL;DR

Os três paradigmas, sem hype

A briga começa porque ninguém define. Cada um usa o termo do jeito que quer. Vamos travar a definição operacional dos três antes de qualquer comparação.

Vibe coding

Termo cunhado pelo Karpathy em 2025 e atualizado por ele em 2026. Definição enxuta: você descreve em linguagem natural o que quer, aceita o que volta, e segue. Não lê o código. Não revisa. Não testa antes de rodar.

Karpathy é direto sobre o escopo: vibe coding eleva o piso. Permite que não-programadores construam software funcional descrevendo resultado. Ótimo pra protótipo, projeto pessoal, brincadeira de fim de semana. Mas, nas palavras dele, "você ainda é responsável pelo seu software, como antes", e essa responsabilidade não combina com não ler o código.

Em produção real, vibe coding puro é uma faca apontada pro próprio pé.

Agentic coding (ou agentic engineering)

Karpathy renomeou pra deixar claro que não é "vibe coding com mais tokens". Definição operacional: você orquestra agentes capazes (Claude Code, Codex, Cursor em modo agent) que quebram tarefa, usam ferramentas, rodam testes, recuperam de erros e iteram. Você atua como oversight: lê os diffs, valida o output contra um padrão de qualidade, mantém a accountability.

O número que sustenta o paradigma é benchmark de modelo. Claude Opus 4.7 marca 87.6% no SWE-bench Verified em maio de 2026, e a Anthropic já admitiu publicamente que a maioria do código deles é escrita por Claude Code. Não é hype: é a régua atual.

A diferença pro vibe coding é uma só: agentic engineering eleva o teto, mas exige que o dev mantenha o mesmo bar de qualidade que tinha quando escrevia tudo na mão.

Spec-driven development (SDD)

A tese é inversa: a especificação é a fonte da verdade, e o código é o output gerado a partir dela. Você não prompta solto. Você escreve uma spec estruturada, ela vira plano, vira tasks, vira código.

Três tools dominam a categoria em 2026, com filosofias diferentes:

  • GitHub Spec Kit: Python CLI open-source, 93 mil estrelas, cinco fases (Constitution, Specify, Plan, Tasks, Implement), suporta 30+ agentes incluindo Claude Code e Copilot.
  • Kiro (Amazon): IDE agêntico com três fases (Requirements, Architecture, Implementation) e notação EARS pra critérios de aceitação.
  • Tessl: vai mais longe, spec como artefato primário, humano edita só a spec, código é regenerado.

Martin Fowler categoriza isso em três níveis de maturidade: spec-first (escreve a spec, descarta depois), spec-anchored (mantém pra evolução) e spec-as-source (spec é o artefato, código é descartável). Cada nível tem custo e payoff diferentes.

Os cinco critérios que mais mudam o resultado

Antes da tabela completa, esses cinco critérios decidem 80% das vezes. Use eles primeiro.

1. Tipo de tarefa. Greenfield, refator, bug ou exploração? Cada um pede um paradigma diferente. Greenfield bem definido tolera SDD. Bug pontual em legado sangra com SDD. Exploração agradece vibe coding.

2. Maturidade do time. Time só de júnior fazendo vibe coding em produção é receita pra incidente. Time sênior consegue rodar agentic engineering com 4 agentes em paralelo sem perder a régua. SDD pede maturidade de processo, não só técnica.

3. Criticidade da feature. Protótipo descartável aceita qualquer coisa. Feature interna aceita agentic com revisão leve. Sistema crítico (pagamento, autenticação, dado regulado) pede SDD ou agentic com contrato explícito.

4. Orçamento de tokens. Plano gratuito não roda Spec Kit completo. Plano de equipe com Claude paga o agentic. Conta enterprise sem teto deixa o SDD com 5 agentes rodando em loop.

5. Tolerância a retrabalho. Quanto custa jogar o output fora e refazer? Se é zero, vibe coding ganha. Se é "uma semana de retrabalho", o custo de spec na frente compensa.

A tabela: 8 critérios x 3 paradigmas

Critério Vibe coding Agentic coding SDD
Tipo de tarefa ideal Protótipo, exploração, script de uso único Feature de produto, refator médio, bug não-trivial Greenfield bem definido, sistema crítico, contrato externo
Maturidade do time Indiferente (até júnior puro) Sênior ou pair com sênior Time com cultura de spec/revisão
Criticidade da feature Baixa (descartável ou interno) Média a alta (com human review) Alta a regulada
Orçamento de tokens Baixo (modelo barato resolve) Médio a alto (vale modelo top) Alto (muitas iterações de agente)
Tolerância a retrabalho Alta (refaz do zero é OK) Média (corrige diff a diff) Baixa (custo de mudança é alto)
Observabilidade exigida Nenhuma Logs de agente, diffs, testes Spec versionada, ADR, trace de decisão
Esforço de revisão Leitura rápida ou nenhuma Code review tradicional + agent log Revisão de spec + sample de código
Throughput esperado Altíssimo por hora, baixo por release Alto por release, sustentável Médio por release, mais previsível

A tabela não diz que SDD é "melhor". Diz que SDD ganha onde criticidade alta e baixa tolerância a retrabalho se encontram. Em bug fix de meia hora, SDD é overhead burocrático, e o Martin Fowler já documentou exatamente isso: aplicar workflow de spec-kit em bug pequeno gera "user stories e critérios de aceitação desnecessários", e o reviewer acaba lendo markdown gerado ao invés de código.

Árvore de decisão pra colar na wiki

START: Que paradigma usar nessa tarefa?

├─ É descartável OU prova de conceito de menos de 1 dia?
│  └─ SIM → VIBE CODING. Não invente processo.
│
├─ É bug pequeno OU ajuste pontual em código existente?
│  └─ SIM → AGENTIC CODING com 1 agente. SDD aqui é overhead.
│
├─ É feature de produto com usuário real, sem regulação pesada?
│  └─ SIM → AGENTIC CODING. Spec leve (1 parágrafo) + agente + review.
│
├─ É greenfield grande (>1 semana) OU sistema crítico (pagamento,
│  auth, dado regulado, contrato externo)?
│  └─ SIM → SDD. Constitution + Specify + Plan + Tasks antes de implementar.
│
├─ É refator de legado sem testes?
│  └─ SIM → AGENTIC CODING com checkpoint manual a cada agente.
│          NUNCA VIBE. NUNCA SDD puro (a spec do legado é o código).
│
└─ Está em dúvida?
   └─ Default: AGENTIC CODING. É o ponto médio que mais raramente queima.

Cola isso. Adapta com os critérios do seu time. E principalmente: não trate como dogma. Hybrid é normal: começar com SDD pra a arquitetura, descer pra agentic na implementação, e fazer um spike em vibe coding pra testar uma hipótese de UX antes de subir pra produção é um fluxo perfeitamente saudável.

Onde cada paradigma te queima

Cada um tem zona de morte. Conhecer evita incidente.

Vibe coding em refator de legado. Você descreve "limpa essa função", o agente "limpa", o teste passa porque não existia teste, e três semanas depois você descobre que uma regra de negócio implícita virou bug em produção. Vibe coding pressupõe que o output é descartável. Legado não é.

Agentic coding sem checkpoints. Rodar Claude Code em loop autônomo numa feature de 8 horas sem revisar diff intermediário é a forma mais cara de fazer vibe coding, porque você paga o token de agente sem ganhar o oversight. Se você não vai ler o diff, é vibe coding mais caro. Sem meio termo.

SDD em bug pequeno. Aplicar /speckit.specify num "ajusta o cálculo do imposto na linha 47" gera 4 arquivos markdown que ninguém lê, atrasa o fix em 30 minutos e adiciona zero valor. SDD precisa de escopo suficiente pra amortizar o custo do processo. Abaixo desse limite, vira teatro.

SDD em time sem cultura de revisão. A spec só funciona se alguém lê. Se o time aprova PR sem ler descrição, não vai ler a spec. O paradigma fica em volta do prédio mas nunca entra.

A escolha do paradigma pesa, mas pesa menos que o harness que você constrói em volta dele: o conjunto de hooks, slash commands, evals e guardrails que faz o agente performar de verdade no seu contexto. É exatamente esse harness sob medida que a gente destrincha no workshop ao vivo Harness Engineering com Claude Code: do loop autônomo ao agente em produção, com decisões de arquitetura na mesa.

FAQ rápido

Posso misturar os três no mesmo projeto? Sim, e provavelmente deveria. SDD pra arquitetura inicial, agentic pra implementação das features, vibe coding pra spike exploratório de UX ou prova de conceito antes de subir pra plano. O erro é tratar como religião e usar um só.

SDD substitui agentic coding? Não. SDD é um meta-paradigma sobre como você prompta. Você ainda precisa de um agente capaz (Claude Code, Kiro, Copilot) pra executar a spec. Spec sem agente decente é só documento bonito.

Qual modelo escolher pra agentic coding hoje? Em maio de 2026, Claude Opus 4.7 lidera SWE-bench Verified com 87.6% e tem o menor índice de erro de ferramenta entre os tops. GPT-5 e Gemini 3 são alternativas viáveis com pequenos trade-offs. Veja o leaderboard atualizado.

Vibe coding morre em 2026? Não. Karpathy foi explícito: ele continua usando vibe coding, só renomeou o lado profissional. Vibe coding sobrevive como ferramenta de prototipação e exploração. O que morre é a ideia de que vibe coding é o padrão pra produção.

Conclusão

Os três paradigmas não são mutuamente exclusivos. Eles são modos de operação: você liga e desliga conforme a tarefa, o time e o risco. Vibe coding eleva o piso. Agentic engineering eleva o teto. SDD trava o contrato.

O dev sênior em 2026 não é o que escolhe um paradigma e se casa com ele. É o que tem repertório pra trocar de paradigma três vezes no mesmo dia (protótipo de manhã em vibe coding, feature de produto à tarde em agentic, arquitetura de novo serviço crítico à noite em SDD) sem perder a régua de qualidade em nenhum.

E nada disso funciona sem harness. Modelo top sem hook, sem eval, sem guardrail, sem slash command sob medida, é potência sem chassi. O paradigma só vira engenharia quando o harness segura.

Lucas Souza
Lucas Souza

{AI Engineer} — apaixonado por Laravel, arquitetura de software e construir produtos com impacto. Compartilho aqui tutoriais, descobertas e reflexões sobre o dia a dia de engenharia.

Você também pode gostar

Agentic Code: o que muda quando o agente escreve, executa e testa o próprio código
Notícias

Agentic Code: o que muda quando o agente escreve, executa e testa o próprio código

Vibe coding deixou o dev no volante. SDD desenhou o mapa. Agentic Code tira o dev do carro e dá a chave pro agente, com freio de mão na mão. Cunhagem do termo em PT-BR, taxonomia de 4 níveis de autonomia, anatomia do ciclo plan/act/observe/reflect, demo comparativa de CRUD em três paradigmas, modos de falha reais e o que o harness precisa garantir pra rodar agente em produção sem quebrar tudo.

· 11 min
BMAD-Method para quem já usa SDD: onde acerta e onde adiciona ruído
Tutoriais

BMAD-Method para quem já usa SDD: onde acerta e onde adiciona ruído

BMAD promete um time agil de IA com personas para cada papel. Em termos de SDD, e Spec-Driven com mais cerimonia. Mapeio onde isso vale o overhead e onde so vira cerimonia que atrasa entrega.

· 8 min
O paradoxo da especificação: quando SDD vira overengineering disfarçado de boa prática
Tutoriais

O paradoxo da especificação: quando SDD vira overengineering disfarçado de boa prática

Quatro horas escrevendo spec para uma feature de duas horas é o sintoma. SDD virou ortodoxia em 2026 e pouca gente discute o custo: tempo de leitura, revisão dupla, drift entre spec e código, falsa sensação de controle. Aqui vamos ver de onde veio o método, onde entrega de verdade, onde virou cerimônia, e como aplicar spec proporcional ao risco.

· 9 min
SDD do zero em Laravel: transformando uma feature real em specification executável
Tutoriais

SDD do zero em Laravel: transformando uma feature real em specification executável

Vibe coding com agente em Laravel funciona até a feature ter regra de negócio. Aí o agente inventa. Spec-Driven Development resolve isso virando a especificação na fonte da verdade. Neste post a gente percorre o ciclo PRD, spec, plan, tasks, código e testes em uma feature aparentemente boba: exportar relatório de vendas em PDF. Stack PHP, Claude Code e Spec Kit, do zero.

· 8 min

VirguIA

beer & code assistant

conectando…

Não foi possível iniciar o chat agora.

tocando