Você instalou as ferramentas e entendeu como escolher entre elas. O que passa a pesar em seguida é "como pedir à IA". Mesmo com o mesmo Claude Code, a qualidade do resultado muda muitas vezes conforme o jeito de dar a instrução. Neste capítulo, apoiados nos dois grandes estilos com a IA — o vibe coding, de criar conversando com leveza, e o desenvolvimento orientado a especificação, de fixar a spec antes para mandar criar com precisão —, você adquire a técnica de "pedir bem". Aqui está o principal segredo do coding com IA.
O lema é "explorar pequeno, vibe; acertar grande, spec"
A qualidade da instrução define o resultado
O primeiro tropeço no coding com IA quase nunca é "operar a ferramenta", e sim "o jeito de pedir". A IA não lê a sua cabeça. Se você entrega uma frase vaga, a IA preenche por conta própria, por adivinhação, as partes que faltam e devolve um código que parece funcionar, mas está desalinhado da intenção. Ao contrário, se você consegue transmitir com precisão o quê, por quê e como quer que seja feito, ela conclui com uma exatidão surpreendente. A "qualidade da instrução" vira, tal e qual, a "qualidade do resultado" — esta é a mensagem central que atravessa o capítulo. E, para esse jeito de pedir, há dois grandes estilos.
Vibe coding — criar conversando
O vibe coding é um estilo de criar por tentativa e erro conversando com a IA, sem fixar de antemão o desenho fino. Você transmite de forma solta "quero uma coisa mais ou menos assim", olha o que sai, empilha o diálogo com "um pouco mais assim", "corrija aqui", e vai dando forma entregue à vibe. Prático e exploratório, o maior charme é materializar uma ideia de uma vez.
🎨 Imagem: a sensação de buscar a forma moldando barro, sem traçar uma planta. Como você "pensa enquanto cria", dá para pôr a mão na massa e testar mesmo com uma ideia ainda não amadurecida na cabeça.
Vamos alinhar as situações ideais e as armadilhas para ficar de olho.
- Coisas pequenas: script avulso, ferramenta simples, app de uma tela.
- Protótipo: quando você quer julgar vendo a forma. Experimento que se pode descartar.
- Aprendizado / treino: quando você mexe numa tecnologia nova para pegar o jeito.
- O desenho geral oscila: a direção balança a cada conversa e a consistência se perde.
- Colapsa ao crescer: quanto mais arquivos, mais IA e humano deixam de abarcar o todo.
- O interior vira caixa-preta: acumula-se código que funciona, mas cujo porquê você não sabe explicar.
💡 Em uma frase: o vibe coding é imbatível para "testar rápido", mas não serve para "crescer grande / manter por muito tempo". Pequeno, descartável, exploração — tomar essas 3 palavras como referência reduz o risco de erro.
Desenvolvimento orientado a especificação — decidir antes e criar com precisão
O desenvolvimento orientado a especificação (spec-driven development) é um estilo contrastante com o vibe coding. Antes de começar a escrever código, você reúne em um documento "o quê e como criar" como especificação e entrega essa spec à IA para que ela implemente com precisão. Em vez de conversar ao sabor do momento, é o jeito de rodar a IA seguindo uma planta acordada.
O procedimento é simples. Primeiro você cria o documento de especificação junto com a IA, o coloca no projeto (na maioria dos casos, como arquivo) e avança a implementação fazendo-a consultar essa spec.
Coloque em texto o objetivo, as funções, entrada/saída e restrições. Fazer a IA gerar um rascunho e depois corrigir é rápido.
Antes de implementar, leia você mesmo a spec e elimine lacunas e contradições. Aqui está o divisor de águas da qualidade.
Instrua "implemente conforme esta spec". Se desviar, volte à spec e corrija.
- Coisas um pouco maiores: desenvolvimento que atravessa várias funções e arquivos.
- Foco em qualidade: algo que dá problema se quebrar depois, que se mantém por muito tempo.
- Que a equipe ou terceiros leem: a spec vira o ponto de apoio comum.
- Não mire perfeição do início; comece com uma spec também pequena e faça-a crescer.
- A spec você sempre lê. Uma spec deixada a cargo da IA tende a ficar cheia de furos.
- Se a implementação desviar, não faça correção improvisada na conversa; conserte a spec e refaça.
📐 Por que funciona: a IA só enxerga "esta conversa de agora". Ao colocar antes um documento de especificação, um critério ao qual sempre se pode voltar, a direção não oscila mesmo que a conversa se estenda, e diminuem as lacunas e o retrabalho na implementação. No fundo é apenas "entregar a planta à IA antes de mandar criar", mas o efeito é enorme.
Como escolher — explorar pequeno ou acertar grande
Não é uma questão de qual é superior. O certo é escolher pela "escala" e pelo "objetivo" do que se cria. Vamos contrapor os 2 estilos por eixos.
| Escala | Pequena |
| Objetivo | Protótipo, exploração, aprendizado |
| Como conduzir | Tentativa e erro na conversa |
| Velocidade | Muito rápida |
| Fraqueza | Colapsa ao crescer |
| Escala | Média a grande |
| Objetivo | Qualidade, manutenção, produção |
| Como conduzir | Spec → implementação |
| Velocidade | Arranque lento |
| Fraqueza | Pesado para coisas pequenas |
✅ Na prática, você "vai e volta". Não é preciso travar numa escolha excludente. Primeiro prototipe rápido com vibe coding e, quando pegar a sensação de que vai dar certo, passe a spec e migre para a implementação de verdade — esse fluxo é o mais potente no dia a dia. Exploração pequena, vibe; fase de crescer, spec. Alterne o estilo dentro de um mesmo projeto.
As 5 dicas de uma boa instrução
Em qualquer um dos estilos, se a instrução (o prompt) que você entrega à IA for boa, o resultado melhora. Vamos fixar em cartões 5 dicas básicas para usar já hoje. Para aprofundar, vá ao guia prático de engenharia de prompt.
Em vez de "deixe legal", diga concretamente o quê e como quer. Quanto mais você explicita valores, condições e alvos, mais a precisão sobe.
Transmita a linguagem, o framework, os arquivos relacionados e as restrições. Quanto mais a IA conhece o pano de fundo, mais precisa ela fica.
Não peça isto e aquilo de uma vez. Se você divide em partes pequenas e pede uma a uma, conferir e corrigir fica mais fácil.
Mostre antes a forma desejada (nome da função, valor de retorno, exemplo de saída, formato). Compartilhar a meta reduz o desalinhamento.
Não mire o perfeito de primeira. É mais rápido olhar a saída e empilhar correções concretas do tipo "aqui, assim".
Só com palavras é difícil captar, então vamos colocar o mesmo pedido lado a lado como "instrução ruim" e "instrução boa".
"Faça uma função de login."
Linguagem, onde armazenar e o comportamento em caso de sucesso/falha, tudo indefinido. A IA preenche tudo por adivinhação e devolve um código em desacordo com o que você imaginava. Causa de retrabalho.
"Adicione ao projeto Laravel uma função de login por e-mail e senha. Use a tabela users existente. Em caso de sucesso na autenticação, vá para /dashboard; em caso de falha, exiba uma mensagem de erro. A senha, ajuste ao esquema de hash já existente. Primeiro proponha só as routes e o Controller; a implementação, após a minha conferência."
Objetivo, contexto, condição de sucesso, escopo de saída e como conduzir, tudo explícito. As 5 dicas estão todas presentes.
🧩 Um passo além: a forma de pensar não só "o que transmitir" à IA, mas como projetar quais informações entregar e como no projeto inteiro, chama-se engenharia de contexto; a forma de pensar que organiza todo o ambiente em que a IA trabalha (ferramentas, permissões, arquivos de instrução) chama-se engenharia de harness. Quando quiser evoluir, dê uma espiada.
Quando a IA ignora as regras
O Claude Code tem um mecanismo para reunir as instruções de cada projeto em um arquivo como o CLAUDE.md e fazer a IA cumpri-las sempre. Só que, ao usar de verdade, você se depara com o momento em que "a IA ignora a regra que você certamente escreveu". As causas são algumas.
Se as regras são vastas, as importantes ficam soterradas. Reduza o número e deixe a prioridade clara.
Se há margem de interpretação, não são cumpridas. Escreva de forma concreta e verificável.
Quando a troca se estende, a instrução inicial se dilui. Relembrar nos pontos-chave é eficaz.
💡 O essencial da solução: escreva as regras "curtas, concretas e com prioridade". E, as regras importantes, reforce-as mais uma vez na conversa no momento necessário. O detalhamento das causas e as correções concretas estão em os motivos pelos quais a IA ignora as regras do CLAUDE.md e como resolver.
- A qualidade da instrução é a qualidade do resultado. Como a IA preenche por adivinhação o que falta, quanto mais preciso o pedido, mais preciso o retorno.
- Vibe coding = tentativa e erro conversando. Forte em pequeno, descartável, exploração. Ao crescer, colapsa.
- Desenvolvimento orientado a especificação = decidir a spec antes e implementar com precisão. Forte em médio a grande, com foco em qualidade.
- A escolha é "explorar pequeno, vibe; acertar grande, spec". Na prática, você vai e volta.
- As dicas de uma boa instrução são 5: concretizar, contexto, uma tarefa por vez, exemplo de saída, repetição.
- A IA ignora as regras porque a instrução é longa, vaga ou a conversa é longa. Curto e concreto, com reforço.
Entendido o jeito de pedir, o coding com IA se estabiliza de uma vez. Ainda assim, ao pôr a mão na massa de verdade, você certamente vai esbarrar em erros e becos sem saída. No próximo Capítulo 5 "Sair dos travamentos", vamos fixar de forma sistemática as causas dos erros comuns e como escapar deles.