CMD Master
Voltar ao blog
Arnošt Havelka

Exemplos de engenharia de prompts para engenheiros de software

Exemplos concretos de engenharia de prompts para depuração, refatoração, testes, arquitetura, revisão de código e documentação.

Exemplos de engenharia de prompts para engenheiros de software

Um prompt de engenharia útil faz o assistente raciocinar a partir do problema, das evidências, das restrições e dos critérios de aceitação — não de um comando isolado. Os exemplos abaixo mostram como isso muda o trabalho de depuração, refatoração, testes, arquitetura, revisão de código e documentação.

Cada prompt melhor é deliberadamente específico sobre a decisão que o assistente precisa tomar. Você pode encurtá-lo quando a tarefa for pequena, mas preserve as informações que evitam uma alteração errada para o produto.

Depurando um checkout instável

Problema

Uma solicitação de checkout às vezes é bem-sucedida depois de uma nova tentativa, mas a interface ainda mostra o primeiro erro.

Prompt fraco

Corrija o erro instável do checkout.

Prompt melhor

Sintoma: Uma solicitação de checkout pode falhar uma vez por tempo esgotado e,
em seguida, ser bem-sucedida na nova tentativa automática. A tela de sucesso
não aparece depois da nova tentativa.

Esperado: Uma nova tentativa bem-sucedida deve substituir o estado de erro e
habilitar a próxima etapa do checkout.
Observado: Os logs de rede mostram uma resposta 200, mas o primeiro banner de
erro permanece.

Escopo: Inspecione apenas a mutação de checkout, o callback de nova tentativa e
o estado da tela.
Restrições: Mantenha a integração existente com o provedor de pagamentos e o
texto de erro. Não esconda erros antes que uma solicitação tenha realmente sido
bem-sucedida.

Primeiro, apresente duas ou três hipóteses baseadas em evidências e a menor
reprodução ou sinal de log que as diferencie. Depois, proponha uma correção
mínima e um teste de regressão.

Por que funciona

O prompt separa as evidências da premissa. Ele pede um diagnóstico das transições de estado antes de uma reescrita e protege a integração de pagamentos contra uma alteração não relacionada.

Refatorando lógica de formulário repetida

Problema

Três formulários de configurações repetem o mesmo código de carregamento, erro e estado de salvamento.

Prompt fraco

Refatore estes formulários para remover a duplicação.

Prompt melhor

Os formulários de conta, notificações e perfil duplicam a renderização do estado
de salvamento. Identifique o comportamento exatamente repetido e os pontos em
que os formulários diferem.

Resultado: Reduza a renderização duplicada sem alterar propriedades públicas dos
formulários, o momento da validação, os erros localizados, os eventos de analytics
ou o comportamento do teclado.

Escopo: Os três formulários de configurações e seus testes diretos.
Fora do escopo: Não crie uma estrutura geral de formulários nem mova a
responsabilidade pelas solicitações para fora dos hooks de funcionalidade existentes.

Recomende a menor extração, mostre o contrato preservado e adicione ou atualize
testes de carregamento, falha e sucesso para cada formulário.

Por que funciona

“Remover duplicação” é um objetivo, não um design. O prompt melhor pede ao assistente que encontre o verdadeiro ponto comum e evita uma abstração grande demais.

Escrevendo um teste de condição de corrida

Problema

Os resultados de pesquisa de uma consulta antiga e lenta podem sobrescrever os de uma consulta mais recente.

Prompt fraco

Adicione testes para a pesquisa.

Prompt melhor

Adicione cobertura de regressão para uma condição de corrida na pesquisa.

Cenário: Um usuário pesquisa por "network", altera imediatamente a consulta para
"terminal", e a resposta de network chega por último.

Esperado: A interface mostra apenas os resultados para "terminal". A resposta
mais antiga não pode substituí-los.

Use a pilha de testes existente e asserções acessíveis. Evite fazer asserções
sobre nomes de estado internos. Se o código de produção não consegue expressar
o cancelamento ou a atualidade com clareza, explique a menor alteração necessária
antes de escrever o teste.

Por que funciona

O prompt de teste define o tempo, a ação do usuário e o comportamento visível. Ele não permite que um detalhe conveniente de implementação se torne o contrato do teste.

Avaliando uma alteração de arquitetura

Problema

Uma equipe está decidindo se deve adicionar uma segunda camada de cache para configuração.

Prompt fraco

Adicione cache para a configuração para tornar o aplicativo mais rápido.

Prompt melhor

Avalie se um cache de configuração no cliente melhoraria a tela lenta sem criar
decisões desatualizadas sobre direitos de acesso ou preferências.

Contexto: O aplicativo já tem um provedor de configuração e a tela aguarda um
usuário autenticado. Não medimos se buscar dados ou renderizar é o gargalo.

Compare: nenhum cache, um cache em memória limitado e o cache persistente
proposto. Avalie atualização, invalidação, privacidade, comportamento offline e
a medição necessária para justificar a alteração.

Não implemente nada até declarar qual opção recomenda e por quê.

Por que funciona

O prompt torna “mais rápido” mensurável e pede ao assistente que questione a premissa. Um cache não é automaticamente uma melhoria de desempenho.

Revisando um diff arriscado

Problema

Um pull request altera permissões e a navegação voltada ao usuário na mesma funcionalidade.

Prompt fraco

Revise este pull request.

Prompt melhor

Revise este diff em busca de regressões de autorização, navegação que quebra a
localidade e mudanças de comportamento ocultas pela refatoração.

Rastreie cada decisão de permissão alterada até seu chamador. Verifique se os
links internos preservam a localidade ativa e se estados negados não revelam
dados protegidos.

Relate apenas descobertas com evidências no diff ou em seus pontos de chamada
diretos. Priorize correção e segurança antes de sugestões de estilo. Liste
testes ausentes separadamente de defeitos confirmados.

Por que funciona

A revisão tem um modelo de ameaça e um escopo. Isso produz um resultado menor e mais acionável do que pedir feedback genérico.

Atualizando documentação após uma alteração de ferramenta

Problema

O comando de configuração local mudou, e o guia de primeiros passos agora está desatualizado.

Prompt fraco

Atualize a documentação de configuração.

Prompt melhor

Atualize o guia de configuração local para os scripts atuais do pacote.

Verifique cada comando documentado em relação a package.json e às instruções de
configuração do repositório. Explique pré-requisitos, o sinal esperado de pronto,
sinais comuns de falha e um caminho seguro de recuperação.

Não documente segredos, valores copiados de um ambiente local ou comandos que o
projeto não executa de fato. Adicione uma breve lista de verificação de validação
para uma nova pessoa colaboradora.

Por que funciona

O assistente precisa fundamentar a prosa no repositório, em vez de produzir um guia polido, mas fictício.

Use o exemplo que corresponde à sua tarefa

O padrão recorrente é simples: nomeie o problema, restrinja o escopo, proteja comportamentos importantes, peça evidências e defina a validação. Comece pela estrutura reutilizável em como escrever prompts melhores para IA e, em seguida, veja engenharia de prompts para desenvolvedores para um fluxo organizado por função de engenharia.

Problemas de produção exigem uma trilha de evidências ainda mais rigorosa. Continue com modelos de prompt para depurar problemas de produção antes de pedir a um assistente que proponha uma correção para um sistema ativo. Quando um bug envolver saída de shell ou um script, reproduza o fluxo de trabalho de linha de comando no navegador antes de automatizar uma solução.

Referências

Estes links de documentação trazem detalhes confiáveis sobre os comandos usados neste artigo.