De copiar resposta até orquestrar agentes
A maioria dos profissionais que trabalha com IA em desenvolvimento está em algum lugar entre “copiar resposta do ChatGPT” e “orquestrar agentes com validação automática”. Observando o que os times realmente fazem no dia a dia, dá pra identificar cinco fases distintas. Elas não são níveis de senioridade nem uma escala linear. Um dev sênior pode estar na Fase 2 pra tarefas simples e na Fase 5 pra projetos complexos. Um PM pode operar na Fase 1 pra sempre e ser efetivo.
O valor de entender essas fases não é saber “onde você está” como nota. É saber o que cada fase oferece, onde ela quebra, e quando faz sentido avançar.
Por que isso importa
Dois erros comuns:
Ficar preso na Fase 1 por inércia. Você sabe que IA pode fazer mais, mas o “copiar e colar do chat” funciona o suficiente pra nunca mudar. O problema é que você está gastando 10x mais tempo do que precisava em tarefas que poderiam ser delegadas.
Pular pra Fase 5 por ansiedade. Você leu sobre agentes autônomos, harness engineering, MCP servers, e quer implementar tudo no seu projeto de CRUD. O problema é que a complexidade extra não se paga em projetos simples.
O mapa de fases ajuda a evitar os dois: mostra o que cada fase resolve e onde não faz sentido forçar a barra.
Fase 1: Consulta
O que é
Você abre um chat de IA (ChatGPT, Claude, Gemini), faz perguntas, copia a resposta e cola no seu trabalho. É o ponto de entrada natural, não exige nenhuma mudança no workflow. A IA funciona como um Google melhorado: você pergunta, ela responde, você decide o que fazer.
Onde funciona
- Tirar dúvidas rápidas sobre APIs, sintaxe, conceitos
- Gerar snippets simples que você vai adaptar
- Explorar ideias antes de começar a implementar
Onde quebra
- Copiar código sem entender o que faz. O modelo gera código plausível, não correto. Se cola sem ler, está terceirizando a responsabilidade.
- Sem contexto do projeto. O chat não sabe nada sobre seu código, tipos ou convenções. A resposta é genérica por definição.
O que a próxima fase resolve
A próxima fase integra IA no editor, eliminando o copy-paste e dando contexto de código automático.
Fase 2: Autocomplete
O que é
Você instala uma extensão de IA no editor (GitHub Copilot, Cursor, Windsurf) e ela sugere código enquanto você digita. Surgiu porque copy-paste entre chat e editor é lento e perde contexto. Com acesso ao arquivo aberto, a IA sugere código que já respeita imports, tipos e padrões locais.
Onde funciona
- Completar funções que seguem padrões claros do arquivo
- Escrever testes unitários e gerar boilerplate
- Acelerar digitação de código repetitivo
Onde quebra
- Aceitação automática. O risco número um é aceitar tudo sem ler. A sugestão parece correta porque é estatisticamente provável, mas pode estar errada logicamente.
- Contexto limitado. Autocomplete vê o arquivo atual e talvez alguns abertos. Não vê a arquitetura do projeto nem entende regras de negócio.
O que a próxima fase resolve
A próxima fase remove o dev do controle granular de cada linha e coloca a IA pra gerar blocos maiores de código a partir de descrições em texto.
Fase 3: Vibe Coding
O que é
Você descreve o que quer em texto natural e a IA gera blocos inteiros de código. O termo veio de Andrej Karpathy descrevendo o ato de programar guiado pela “vibe”, delegando a escrita pro modelo. Autocomplete acelera a digitação, mas você ainda precisa saber o que digitar. Vibe coding é pra quando você sabe o que quer mas não precisa escrever cada detalhe.
Onde funciona
- Protótipos rápidos que não vão pra produção
- MVPs onde velocidade importa mais que qualidade
- Explorar abordagens ou aprender estudando código gerado
Onde quebra
- Sem spec, sem controle. Se você só descreve a “vibe” e aceita o resultado, não tem como garantir que o código faz o que deveria.
- Dívida técnica instantânea. Código gerado tende a ser funcional mas não sustentável, sem tipos, sem testes, sem tratamento de erro.
O que a próxima fase resolve
A próxima fase substitui a descrição vaga por uma especificação clara, transformando “faz isso pra mim” em “implementa segundo esta spec”.
Fase 4: Spec-Driven Development
O que é
Você escreve uma especificação antes de pedir qualquer coisa pra IA: endpoints, tipos, restrições, comportamentos esperados, casos de borda. O agente implementa contra a spec e o output é validado contra ela, não contra a “vibe”. Surgiu porque vibe coding não escala: projetos com complexidade real precisam de algo mais estruturado que “faz um serviço de auth”. O insight é que specs sempre foram importantes, mas agora um agente pode executá-las diretamente.
Onde funciona
- Features com complexidade real que precisam de previsibilidade
- Times onde mais de uma pessoa trabalha no mesmo módulo
- QA gerando cenários de teste a partir de specs
Onde quebra
- Over-engineering a spec. Se você gasta 3 horas numa spec pra algo que levaria 15 minutos de código, a spec não está ajudando.
- Spec sem validação. Mandar pro agente sem validar o output é vibe coding com passos extras.
O que a próxima fase resolve
A próxima fase automatiza a validação e orquestração, tirando do humano a necessidade de rodar manualmente cada checagem.
Fase 5: Harness Engineering
O que é
Você constrói um sistema de trabalho completo pro agente: instruções persistentes (system prompt, rules files), ferramentas configuradas (MCP servers), validação automática e critérios de aceite claros. O agente opera dentro desse sistema, e o sistema garante qualidade sem supervisão constante. Na Fase 4 você valida manualmente; aqui a validação é automática. Surgiu porque agentes geram output mais rápido do que humanos conseguem revisar. Sem automação, a revisão vira o gargalo.
Onde funciona
- Projetos grandes com muitos módulos e convenções estabelecidas
- Times que já têm testes, lint e CI funcionando
- Refactors de grande escala que tocam dezenas de arquivos
Onde quebra
- Complexidade prematura. Sem testes e sem lint, construir um harness é colocar o telhado antes de levantar as paredes.
- Confiança excessiva no sistema. Automação reduz o trabalho de revisão, não substitui. Testes podem estar incompletos. Lint não pega erros lógicos.
O que muda quando você chega aqui
Na Fase 1, você pede uma resposta. Na Fase 5, você constrói o sistema que produz respostas validadas automaticamente. A mudança é de “usuário de IA” pra “engenheiro de sistemas de IA”. Isso não é pra todo mundo, nem pra todo projeto. Mas pra quem trabalha em escala, é a diferença entre operar com IA e ser AI-native.
Exemplo aplicado
Três cenários reais, cada um com a fase mais adequada:
Cenário 1: MVP de 2 semanas
Fase adequada: 3 (Vibe Coding). Velocidade importa mais que qualidade. Gera o código, testa manualmente, itera rápido. Quando validar a ideia, refatora pra produção na Fase 4.
Cenário 2: Refactor de sistema legado
Fase adequada: 5 (Harness Engineering). Configura rules files com as convenções do projeto, conecta testes e lint como validação automática, e deixa o agente trabalhar módulo por módulo.
Cenário 3: Manutenção de produção
Fase adequada: 4 (SDD) pra features, 2 (Autocomplete) pra fixes rápidos. Features novas ganham uma spec leve. Bug fixes são rápidos o suficiente pra autocomplete resolver.
O ponto é: a fase certa depende do contexto, não da sua ambição.
Onde isso quebra
-
Pensamento linear. “Preciso passar da Fase 2 pra 3 pra 4.” Não. Você pode estar na Fase 2 pra 80% do trabalho e na Fase 4 pra 20%. As fases não são uma escada.
-
Over-engineering pra tarefas simples. Spec de 3 páginas pra um typo. Harness completo pra um script de 50 linhas. A fase precisa ser proporcional à complexidade.
-
Confundir fase com identidade. “Eu sou um dev Fase 5.” Não. Você é um dev que escolhe a fase certa pra cada tarefa. Maturidade é saber qual fase usar quando.
Bloco interativo
Fase 1: Consulta
Você abre um chat de IA (ChatGPT, Claude, Gemini) e faz perguntas. Copia a resposta e cola no seu trabalho. A IA funciona como um Google melhorado.
- Dúvidas rápidas sobre APIs e sintaxe
- Explorar ideias antes de implementar
- PM pedindo resumo de documento técnico
- Copiar código sem entender o que faz
- Sem contexto do projeto, resposta genérica
- Sem iteração: pergunta, copia, vai embora
O que levar daqui
- Identifique em qual fase você opera hoje pra cada tipo de tarefa. Provavelmente não é a mesma pra tudo
- Na próxima tarefa, pergunte “qual fase faz sentido aqui?” em vez de usar a mesma abordagem de sempre
- Validação é obrigatória em todas as fases. O que muda é se você valida na mão ou o sistema valida pra você
- Maturidade real é saber quando voltar pra uma fase mais simples