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.
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.
Em 2024 era cargo inventado pelo LinkedIn. Em 2026 é o sênior mais disputado dos EUA. O que faz um Engenheiro de IA na prática: as 5 entregas em qualquer JD sênior, o stack típico (LLM API, harness, vector store, evals, observability) e por que a maioria veio de backend, não de Data Science.
LLM-as-judge é o atalho que todo time de IA usa pra escalar evals. Mas tem três armadilhas que silenciosamente invalidam o pipeline: self-preference, position e verbosity bias, e calibração ausente. Cobrimos os três padrões de prompt para grader (rubric, reference, pairwise) e como blindar contra cada erro com mitigação concreta.
Karpathy e Lütke dispararam em 2025: o nome certo não é prompt engineering, é engenharia de contexto. Três experimentos lado a lado da mesma tarefa mostram, com tokens, dólar e testes passando, por que o que você NÃO coloca no prompt importa mais que o que coloca.
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.
Para de discutir "qual é melhor" e comece a discutir "qual cabe no seu contexto". Matriz de decisão com quatro eixos que mapeia SDD, BMAD e Vibe Coding ao quadrante onde performam.
Claude Code não é só um modelo, é um harness com três pontos de extensão (hooks, slash commands e MCPs). Cada um resolve um problema diferente. Esse post disseca peça por peça, com exemplos reais de configuração que rodam todo dia em projetos Laravel.
Tripé Git + spec + ADR (Architecture Decision Records) que mantém doc viva ao lado do código, com hooks de pré-commit que travam o drift. Estrutura mínima, scripts de validação e configuração pre-commit prontos para colar — sem precisar contratar engenheiro de documentação.
Vector-only, hybrid (BM25 + vetor + RRF) e o stack completo com SQL e reranker como tools separadas: comparação prática com benchmarks reais e código de produção.
Padrão pesquisador, executor e validador na prática. Por que três Claudes especializados batem um agente gigante em qualidade e travam menos no limite de contexto. Com números reais publicados pela Anthropic.
SDD nasceu pensando em greenfield. A maioria dos tutoriais começa em mkdir projeto-novo e ignora quem está em projeto maduro. Reverse-spec resolve isso: o agente lê o código existente, gera a specification, humano revisa, e a partir daí o ciclo SDD clássico roda. Vou mostrar 4 passos práticos pra aplicar a técnica num módulo legado real, sem reescrever do zero e sem precisar esperar comando oficial em ferramenta nenhuma.