Como desenvolvedores experientes usam IA de forma diferente
Padrões de engenharia úteis para usar IA: prompts com contexto, análise primeiro, alterações menores, evidências, revisão e validação.
Desenvolvedores experientes não usam IA todos da mesma maneira, mas bons hábitos de engenharia produzem um padrão reconhecível: eles fornecem contexto, pedem análise, restringem a alteração e validam a saída. A diferença tem menos a ver com formulações inteligentes de prompts e mais com se recusar a delegar julgamento sem evidências.
Estas são práticas úteis, não afirmações sobre todo desenvolvedor sênior nem uma hierarquia de quem tem permissão para usar IA.
Solicitações vagas versus briefings com contexto
| Solicitação menos confiável | Padrão de engenharia mais confiável |
|---|---|
| “Refatore este componente.” | Explique a duplicação, o comportamento a preservar, os arquivos no escopo e os testes que devem continuar verdes. |
| “Corrija a navegação móvel.” | Descreva o problema de usabilidade em dispositivos móveis enquanto protege o comportamento no desktop e o estado da rota. |
| “Torne isto mais rápido.” | Peça um gargalo medido, hipóteses concorrentes e a menor melhoria mensurável. |
O contexto permite que um assistente escolha entre opções técnicas plausíveis. Sem ele, o assistente pode otimizar o código visível em vez do verdadeiro problema do usuário.
Respostas primeiro versus análise primeiro
Uma solicitação curta de implementação é adequada para um utilitário óbvio. Ela é arriscada para transições de estado, responsabilidade por dados, verificações de permissão ou uma falha de produção.
Um prompt de análise primeiro é assim:
Antes de editar, rastreie como as preferências de notificação passam do formulário
para o registro de usuário armazenado e retornam para a interface.
Identifique o escritor único, o caminho de leitura e o caminho de erro. Separe o
comportamento confirmado dos pressupostos. Depois, liste os menores arquivos que
provavelmente mudarão e o teste que comprovaria o bug relatado.
O assistente primeiro se torna um parceiro de pesquisa. A pessoa desenvolvedora pode revisar o modelo do sistema antes de aceitar um patch.
Alterações grandes versus alterações incrementais
Uma tarefa ampla pode combinar uma correção de bug, uma refatoração, uma reescrita de testes e uma alteração de estilo. Isso torna causa e efeito difíceis de enxergar.
Use pontos de verificação em vez disso:
1. Reproduza a falha e descreva o caminho atual.
2. Faça a menor correção de comportamento.
3. Adicione um teste de regressão focado e execute-o.
4. Mostre o diff e explique separadamente a limpeza restante.
Isso não é trabalho burocrático. Alterações pequenas tornam revisão, reversão e resposta a incidentes mais seguras.
Confiar na saída versus validar a saída
Código gerado por IA pode estar bem formatado, ser seguro quanto a tipos e ainda estar errado para o produto. Fluxos de trabalho robustos validam em vários níveis:
- Verificações estáticas: verificação de tipos, linting, validação de esquema.
- Verificações de comportamento: testes unitários ou de integração focados.
- Verificações de produto: um fluxo manual que corresponde ao problema do usuário.
- Verificações de revisão: inspeção do diff para regressões de escopo, permissão, localidade e efeitos colaterais.
Peça ao assistente que proponha essas verificações e então execute você mesmo as relevantes. Se uma verificação não puder ser executada localmente, registre a lacuna em vez de declarar sucesso.
Pensamento que começa pela implementação versus pelo problema
A primeira ideia de implementação geralmente é a maneira mais cara de resolver um sintoma. Comece pelo problema:
Problema: Um aluno perde a tarefa atual após alternar abas do navegador em uma
tela pequena.
Não presuma que a resposta seja uma nova camada de persistência. Inspecione a
navegação atual, a responsabilidade pelo estado e o comportamento de restauração.
Recomende a menor alteração que permita ao aluno voltar à tarefa ativa sem
duplicar estado nem enfraquecer a privacidade.
Isso preserva espaço para uma resposta mais simples: uma correção de rota, uma correção de estado desatualizado ou uma interação móvel diferente.
Hábitos de desenvolvedores experientes são hábitos de revisão
O padrão mais transferível não é “use determinado modelo” nem “escreva prompts mais longos”. É tornar o trabalho revisável:
- Explique por que a alteração importa.
- Declare o que deve continuar verdadeiro.
- Pergunte quais evidências poderiam refutar o plano.
- Limite a primeira alteração.
- Defina a prova de que funcionou.
É assim que uma boa pessoa da equipe pensa sobre uma issue ou pull request. A IA apenas torna mais visível a necessidade de contexto explícito.
Um padrão de prompt para adotar
Problema: [Impacto para o usuário ou sistema.]
Evidências: [Reprodução, teste que falha, logs ou comportamento atual.]
Pressuposto: [O que você acha que pode estar acontecendo.]
Escopo: [O que inspecionar primeiro.]
Restrições: [O que não deve mudar.]
Resultado: [Sucesso observável.]
Validação: [Testes, caminho manual, medição, revisão.]
Analise o comportamento atual antes de editar. Questione o pressuposto e
proponha a menor alteração respaldada pelas evidências.
Comece com como escrever prompts melhores para IA para ver a estrutura completa e, em seguida, use engenharia de prompts para desenvolvedores para adaptá-la ao trabalho de implementação, depuração e revisão. Para uma lista de verificação do que dá errado quando esses hábitos são ignorados, leia erros de assistentes de programação com IA e como evitá-los.
Para trabalho baseado em comandos, o mesmo princípio se aplica: verifique a entrada e a saída reais em vez de adivinhar o comportamento de um script. Pratique cenários de linha de comando no navegador antes de escrever ou revisar automação.
Referências
Estes links de documentação trazem detalhes confiáveis sobre os comandos usados neste artigo.