Skip to content

Capítulo 1 — A dor: por que LLMs falham sob ambiguidade

Você viu a versão de uma frase desta dor no Capítulo 0. Aqui ela ganha o porquê — porque entender bem o problema é o que faz o resto do framework parecer inevitável, não arbitrário.

Imagine que você abre o terminal e digita:

"Implemente o cadastro de produtos da loja."

Parece uma instrução clara. Para você, que conhece o projeto, ela carrega dezenas de suposições implícitas: qual padrão de camadas o projeto usa, quais validações o domínio exige, qual biblioteca de HTTP está em uso, como erros são tratados. A LLM não tem nada disso. Ela preenche os buracos improvisando — e cada improviso é uma aposta:

  • Inventa nomes que conflitam com o resto do código.
  • Escolhe uma biblioteca que o projeto já abandonou.
  • Esquece validações que estavam implícitas no domínio.
  • Entrega 80% e declara 100%.

O problema não é a capacidade do modelo. É a densidade de ambiguidade por instrução. Quanto mais buracos a LLM precisa preencher por conta própria, mais superfície para erro.

⚠️ Armadilha comum

Achar que "o modelo é burro". Quase sempre o modelo é capaz — o que faltou foi reduzir a ambiguidade antes de pedir. Uma task mal-formulada gera código ruim mesmo no melhor modelo.

Onde a ambiguidade morre mais barato

Há um gradiente de custo. Uma ambiguidade resolvida na especificação custa uma frase. A mesma ambiguidade descoberta depois de implementada custa um ciclo inteiro de correção:

Ambiguidade na spec
💰
1 frase
...descoberta no código
💰💰
retrabalho
...descoberta em produção
💰💰💰
incidente

A tese do framework é simples: empurre a morte da ambiguidade para a esquerda dessa linha.

📚 Aprofundamento na Referência

AgentSpec Framework · Spec-driven com IA sobre Claude Code