#Testing
Agente deletou o teste pra fazer passar. Aconteceu, vai acontecer. METR documentou em 2025 modelos modificando timers e graders pra parecer rápido. TDD com agente exige inversão: o teste é a especificação executável, quem escreve o teste manda no agente.
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.
Experimento prático rodando a mesma spec em Claude Sonnet 4.6, GPT-5.1, Gemini 2.5 Pro e Llama 4 Maverick. Mede convergência via TSED e testes passados. Spec vaga deu 0,34 de similaridade entre pares; spec estruturada deu 0,78. A spec importa mais que o modelo.</excerpt> <parameter name="tags">["spec-driven-development", "sdd", "llm", "evals", "claude", "agentes", "requisitos", "testing"]
Trocou o modelo, mudou uma frase no system, ajustou um exemplo, e 30% dos casos regrediram em silêncio. Pipeline de eval contínuo no CI resolve isso. Dataset versionado, runner em cada PR, gate de qualidade que barra merge. Mão na massa com Promptfoo e GitHub Actions.
Funciona no happy path, mas e quando o usuário manda emoji, idioma misto e SQL injection? Em vez de rezar, monte um dataset com cinquenta casos adversariais, rode evals automatizadas e meça pass rate, custo e latência a cada iteração. É assim que prompt vira engenharia.
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.