A geração virou a parte barata. O trabalho de verdade é montar o contexto/spec (na frente) e revisar (atrás). O 'modelo' escreve código plausível e confiante mesmo quando está errado, então quem não tem fundamento não enxerga o bug sutil escondido no diff que parece certo.
Prompt vago vs prompt spec
// vago: gera código vago
"faz uma função que processa os pedidos"
// spec: fronteira + critério + edge cases
"ProcessOrders(ctx, []Order) (Result, error)
- idempotente por OrderID (aula 36)
- cancela via ctx no timeout (aula 11)
- retorna erro parcial se 1 falhar
- edge: lista vazia, pedido duplicado,
valor negativo"
O que você revisa que a IA não enxerga
// race em estado compartilhado (aula 09)
// p99 / N+1 query sob carga (aula 34/22)
// edge case de borda e nil (aula 04/13)
// 'é a abordagem certa?' (julgamento)