Engenharia de prompts

Melhores prompts. Melhor código.

A qualidade do código gerado por IA depende quase inteiramente do que você pede e como pede. Este guia cobre os padrões que consistentemente produzem melhores resultados com Claude Code.

De escopo de tarefas a prompts de sistema, de refinamento iterativo a instruções por função. Técnicas práticas que você pode aplicar na próxima sessão de código.

Por que engenharia de prompts importa para código

Quando você pede a um desenvolvedor humano para 'construir uma página de login', ele faz perguntas: qual provedor de autenticação? Quais campos? Deve lidar com OAuth? Mensagens de erro? Estados de carregamento?

Agentes de código IA tentarão responder todas essas perguntas sozinhos. Às vezes acertam. Muitas vezes acertam algo razoável, mas não o que você queria. A diferença entre 'razoável' e 'exatamente certo' é o que a engenharia de prompts fecha.

Bons prompts não precisam ser longos. Precisam ser específicos sobre as coisas que importam e silenciosos sobre as que não. Esse equilíbrio é o tema deste guia.

Cinco princípios fundamentais

Padrões que melhoram resultados independentemente da tarefa.

1

Seja específico sobre resultados, não sobre passos

Em vez de 'crie um componente React, depois adicione estado, depois estilize', descreva o resultado final: 'Construa uma barra lateral recolhível que mostre nomes de projetos, suporte arrastar para reordenar e use nosso tema Tailwind existente.' Deixe o agente decidir como chegar lá.

Avoid

Crie um componente. Adicione useState. Adicione um botão toggle. Estilize com Tailwind.

Better

Construa um componente de barra lateral recolhível que liste projetos por nome. Deve suportar arrastar para reordenar e combinar com nosso tema escuro (bg-[#111318], border-[#262b38]). O estado recolhido deve persistir entre recarregamentos.

2

Delimite o trabalho claramente

Agentes funcionam melhor quando conhecem os limites. Especifique quais arquivos tocar (ou evitar), quais padrões seguir e como 'pronto' se parece. Tarefas sem limites levam a mudanças extensas difíceis de revisar.

Avoid

Refatore o sistema de autenticação.

Better

Refatore o handler de login em src/api/auth/login.ts para usar bcrypt em vez de sha256 para hash de senhas. Não altere a lógica JWT nem o gerenciamento de cookies de sessão. Atualize os testes relacionados em tests/auth/.

3

Forneça contexto relevante

Claude Code pode ler os arquivos do seu projeto, mas não pode ler sua mente. Se há uma convenção que você segue, uma biblioteca que prefere ou um padrão já estabelecido, diga. Isso evita retrabalho.

Avoid

Adicione validação de formulário.

Better

Adicione validação de formulário ao formulário de cadastro usando zod (já usamos no formulário de configurações em src/forms/settings.ts). Mostre mensagens de erro inline abaixo de cada campo. Siga o mesmo estilo de erro do formulário de login.

4

Uma tarefa por prompt

Prompts compostos ('construa a API, escreva testes, atualize a documentação e faça deploy') forçam o agente a manter muitos objetivos de uma vez. Divida trabalho complexo em tarefas sequenciais e focadas. Cada uma se baseia no resultado anterior.

Avoid

Construa a página de perfil, escreva endpoints de API, adicione testes, atualize o README e arrume a barra de navegação.

Better

Construa o endpoint GET /api/user/profile. Retorne os campos id, name, email e plan. Use o middleware de autenticação existente.

5

Itere, não reinicie

Se o primeiro resultado não está certo, refine o prompt em vez de começar do zero. Claude mantém o contexto completo da conversa. Diga o que está errado, o que mudar e o que manter. Iteração é mais rápida que reinvenção.

Avoid

Isso está errado. Comece de novo e construa o componente diferente.

Better

O layout está bom, mas o breakpoint mobile está errado. Abaixo de 768px, empilhe os cards verticalmente em vez de usar grid. Mantenha todo o resto como está.

Prompts de sistema: contexto que persiste

Prompts de sistema definem o comportamento base de um agente antes de você dizer qualquer coisa. São a ferramenta mais subutilizada no código com IA.

Um prompt de sistema diz ao agente quem ele é, no que deve focar e o que evitar. Aplica-se a cada mensagem na sessão. Pense nele como a descrição do cargo do agente.

AgentsRoom inclui 14 prompts de sistema por função: um para cada tipo de agente. O prompt do agente de Frontend diz para focar em componentes, acessibilidade e design responsivo. O prompt do agente de QA diz para pensar em casos limite e escrever testes abrangentes. Você pode personalizá-los ou escrever os seus.

Exemplo: prompt de sistema do agente de Frontend

Você é um desenvolvedor frontend sênior. Foque em componentes React, estilos CSS/Tailwind, acessibilidade (WCAG AA) e design responsivo. Use a biblioteca de componentes existente do projeto antes de criar novos. Prefira composição a herança. Escreva HTML semântico. Nunca modifique arquivos de backend.

Escrevendo prompts de sistema eficazes

  • ✓Defina o papel e seus limites. No que o agente deve focar? O que deve ignorar?
  • ✓Mencione tecnologias e versões específicas. 'React 19 com Server Components' é melhor que 'React moderno'.
  • ✓Referencie convenções do projeto. 'Use Zustand para estado' diz ao agente para não recorrer a Redux ou Context.
  • ✓Defina expectativas de qualidade. 'Escreva TypeScript com modo estrito, sem tipos any' previne atalhos.
  • ✓Inclua restrições negativas. 'Nunca modifique arquivos em /api/' mantém o agente em sua área.

CLAUDE.md: contexto no nível do projeto

O prompt mais eficaz não é digitado num chat. Ele vive no seu repositório.

CLAUDE.md é um arquivo markdown na raiz do projeto que Claude Code lê automaticamente. Contém estrutura do projeto, convenções, detalhes do stack e diretrizes que se aplicam a cada sessão de agente.

Em vez de repetir 'usamos Tailwind CSS 4, Prisma ORM e Next.js 16' em cada conversa, escreva uma vez no CLAUDE.md. Cada agente herda esse contexto. AgentsRoom inclui um editor integrado para CLAUDE.md que você pode atualizar sem sair do app.

Um CLAUDE.md bem escrito vale mais que dezenas de prompts individuais cuidadosamente elaborados. Ele se acumula: cada sessão se beneficia.

Construa uma biblioteca de prompts

Pare de reescrever as mesmas instruções. Salve o que funciona e reutilize.

Se você se pega digitando o mesmo tipo de solicitação em todos os projetos ('escreva testes unitários para este arquivo', 'refatore isso para usar o padrão repository', 'adicione tratamento de erros a todas as rotas API'), salve como um prompt reutilizável.

AgentsRoom inclui uma função de biblioteca de prompts com dois níveis: prompts por projeto para tarefas específicas e prompts globais (sincronizados na nuvem) para padrões que você usa em todo lugar.

Bons candidatos para a biblioteca: checklists de revisão de código, templates de testes, scripts de migração, instruções de scaffolding de componentes, etapas de auditoria de segurança. Qualquer coisa que você colocaria numa wiki de equipe como procedimento padrão.

Exemplos da biblioteca de prompts

Escrever testes unitários

Escreva testes unitários para [arquivo]. Use vitest. Cubra o caminho feliz, casos limite (entrada vazia, null, tipos inválidos) e tratamento de erros. Mocke dependências externas. Mire em >90% de cobertura de branches.

Revisão de código

Revise as mudanças no diff git atual. Verifique: imports não usados, tratamento de erros faltante, problemas de type safety, possíveis race conditions e inconsistências de nomenclatura. Sugira correções para cada problema encontrado.

Endpoint de API

Crie um endpoint REST para [recurso]. Inclua validação de entrada com zod, respostas de erro adequadas (400, 401, 404, 500), tipos TypeScript para request/response e um comentário JSDoc descrevendo o endpoint. Siga o padrão existente em src/api/.

Padrões avançados

Técnicas para tarefas complexas que vão além de prompts individuais.

Encadeamento de prompts

Divida uma tarefa grande em etapas ordenadas. Inicie o primeiro agente com a etapa um, aguarde a conclusão, depois inicie o próximo agente com a etapa dois (referenciando a saída da etapa um). Cada etapa é menor e mais focada. Exemplo: Agente 1 projeta o esquema do banco, Agente 2 escreve a API usando esse esquema, Agente 3 escreve testes contra a API.

Revisão cruzada entre agentes

Após um agente terminar, aponte um agente diferente para sua saída. 'Revise as mudanças que o agente de frontend fez em src/components/. Verifique problemas de acessibilidade e estados de erro faltantes.' Um agente novo com função diferente detecta coisas que o original deixou passar.

Restrições progressivas

Comece com um prompt amplo para ver como o agente aborda o problema. Depois adicione restrições em mensagens de acompanhamento: 'Boa estrutura, mas use server components em vez de client components.' 'Mantenha o hook, mas remova o useEffect e use uma mutação do React Query.' Cada iteração aproxima da solução desejada.

Implementação de referência

Aponte o agente para código existente: 'Construa uma página de configurações seguindo o mesmo padrão de src/pages/profile.tsx. Mesma estrutura de layout, mesmo tratamento de formulário, mesma exibição de erros.' Isso geralmente é mais eficaz do que descrever o padrão com palavras.

Erros comuns

Padrões que consistentemente produzem resultados piores.

Especificar demais a implementação

Dizer ao agente exatamente quais funções escrever, quais variáveis nomear e em que ordem implementar. Esse microgerenciamento remove a capacidade do agente de encontrar uma abordagem melhor. Descreva o resultado, não o procedimento.

Sem limites de escopo

Pedir a um agente para 'melhorar o codebase' sem restrições. Sem limites, o agente pode refatorar arquivos que você não queria tocar, mudar APIs das quais outro código depende ou gastar tokens em melhorias de baixa prioridade.

Ignorar código existente

Não mencionar que um padrão, utilitário ou componente já existe no projeto. O agente criará um novo. Um simples 'já temos um hook useAuth em src/hooks/' economiza retrabalho significativo.

Mega-prompts compostos

Colocar cinco tarefas em uma mensagem. O agente tentará todas, mas a qualidade cai ao lidar com objetivos concorrentes. Divida em solicitações sequenciais e focadas.

Perguntas frequentes

Qual deve ser o tamanho de um prompt de código?+
A maioria dos prompts de código eficazes tem de 2 a 5 frases. Longos o suficiente para especificar resultado, escopo e restrições chave. Curtos o suficiente para que o agente não se perca em detalhes. Se seu prompt é um parágrafo inteiro, considere se parte desse contexto pertence ao CLAUDE.md ou a um prompt de sistema.
Devo escrever prompts diferentes para Opus vs Sonnet?+
Ligeiramente. Opus lida melhor com ambiguidade e pode inferir intenções com menos contexto. Sonnet se beneficia de instruções mais explícitas e limites de escopo mais claros. Para ambos os modelos, especificidade sobre o resultado esperado melhora os resultados.
Como o AgentsRoom ajuda com engenharia de prompts?+
De três formas: prompts de sistema por função integrados para cada um dos 14 tipos de agente, uma biblioteca de prompts para salvar e reutilizar prompts eficazes, e um editor de CLAUDE.md para contexto do projeto. Essas camadas significam que você gasta menos tempo elaborando mensagens individuais porque o contexto base já é bom.
Posso compartilhar prompts com uma equipe?+
Sim. AgentsRoom armazena prompts em dois locais: prompts de projeto em .agentsroom/prompts.json (versionados, compartilhados via git) e prompts pessoais em prompts-personal.json (no gitignore). Prompts globais sincronizam via nuvem em todos os seus dispositivos.
Qual a diferença entre prompt de sistema e CLAUDE.md?+
CLAUDE.md é contexto do projeto que todo agente lê automaticamente: stack, estrutura, convenções. Prompts de sistema são instruções comportamentais específicas do agente: função, áreas de foco, restrições. Eles se complementam. CLAUDE.md diz 'este projeto usa Next.js 16 com Prisma.' O prompt de sistema diz 'você é um desenvolvedor backend focado em rotas API.'

Para se aprofundar

Escreva prompts melhores, entregue código melhor

AgentsRoom oferece prompts de sistema, biblioteca de prompts e edição de CLAUDE.md integrados. Menos tempo criando prompts, mais tempo construindo.

GrátisBaixar para macOS e Linux

App complementar: acompanhe seus agentes em qualquer lugar

Use Claude, Codex, Antigravity CLI ou outro provedor de IA.

Instalar a extensão
Chrome Web Store

Envie bugs e pedidos direto para o seu backlog público.

Multi-projetos
Multi-provedor
Multi-agentes
Status ao vivo
Diff e commit
App mobile
Preview ao vivo
Equipes de agentes
Testes no navegador
Dev guiada por backlog
Biblioteca de prompts
Biblioteca de skills
Ver todas as funcionalidades