Os desenvolvedores encontram prompts em dois lugares: ao pedir a um assistente de IA que altere código e ao escrever prompts que são distribuídos dentro de uma aplicação. As habilidades se sobrepõem, mas os modos de falha são diferentes. Este guia cobre os dois.
Parte 1: Prompts para assistentes de programação com IA
Escreva uma especificação, não um desejo
Um assistente de programação que recebe uma única frase precisa inferir o escopo, as restrições e o que significa “pronto”. Dê a ele o mesmo que você colocaria em um bom ticket.
fix login issue and make google login work and don't break anything
## Objective
Fix the login failure and make Google login work.
## Constraints
- Do not change the existing email and password flow.
- Keep the public API of AuthService unchanged.
## Edge cases
- Expired or revoked OAuth tokens.
- A Google account whose email already exists as a password account.
## Testing
- Add unit tests for the token exchange and the account-linking path.
## Acceptance criteria
- Existing auth tests pass. New tests cover both edge cases.
## Expected output
A summary of the cause, then the changed files as diffs.
O segundo prompt leva um minuto a mais para escrever e poupa uma rodada de “não era isso que eu quis dizer”. A extensão do VS Code do PromptFlowEngine gera essa estrutura a partir de uma tarefa de uma linha e dos arquivos relevantes.
Forneça o código certo, não todo o código
As janelas de contexto são grandes, mas a atenção não é ilimitada. Inclua os arquivos que a mudança toca, as interfaces que ela deve respeitar e um exemplo das convenções do projeto. Deixe de fora arquivos gerados, arquivos de lock e módulos sem relação.
Diga o que não deve mudar
Assistentes otimizam para o pedido. Se compatibilidade retroativa, uma interface pública ou desempenho importam, diga isso. “Não quebre nada” não é uma restrição que um modelo consiga verificar; “mantenha inalterado o esquema de resposta de GET /orders” é.
Peça um plano em mudanças grandes
Para qualquer coisa além de uma edição pequena, peça primeiro o plano, revise-o e só então peça a implementação. É o encadeamento de prompts aplicado a código, e pega uma abordagem errada antes de qualquer código ser escrito.
Verifique o que volta
Leia o diff. Execute os testes. Para mudanças maiores, escreva um prompt de revisão que dê ao modelo a tarefa original e os arquivos modificados, e peça que liste onde a mudança não atende aos critérios de aceitação.
Parte 2: Prompts dentro da sua aplicação
Mantenha os prompts no controle de versão
Um prompt faz parte do comportamento do seu programa. Guarde-o em um arquivo, revise as mudanças em pull requests e marque versões com tags. Veja o gerenciamento e versionamento de prompts.
Use templates com variáveis delimitadas
Nunca concatene a entrada do usuário nas instruções. Use variáveis nomeadas e envolva cada uma em tags.
PROMPT = """Classify the support ticket in the tags as billing, bug, or other.
Return only the label.
<ticket>
{ticket}
</ticket>"""
Exija saída estruturada e valide-a
Se o seu código analisa a resposta, peça JSON conforme um esquema, use o recurso de saída estruturada do provedor quando houver e valide o resultado antes de usá-lo. Veja os prompts de saída estruturada.
Orce os tokens
Saiba quantos tokens seu prompt fixo usa, porque você paga por ele a cada chamada. Conte com o tokenizador real do modelo, não com uma estimativa por caracteres. Veja a otimização de tokens.
Teste os prompts no CI
Verificações estáticas pegam regressões que não precisam de um modelo: um formato de saída removido, uma seção duplicada, uma contagem de tokens acima do orçamento, uma chave de API commitada. O portão de testes de prompts as executa a cada pull request.
- run: promptflow check "prompts/**/*.md" --min-score 70 --max-tokens 1500
Trate a saída do modelo como não confiável
A saída pode estar errada e pode ser conduzida por texto injetado na entrada. Não a passe a um shell, a uma consulta SQL ou a uma página HTML sem a mesma validação que você aplicaria à entrada de um usuário. Veja a segurança de prompts.
Chamando o motor a partir de código
As mesmas verificações estão disponíveis por HTTP sem chave, o que é útil para um teste de integração rápido ou uma ferramenta interna:
curl -s https://promptflowengine.com/api/v1/analyze \
-H 'content-type: application/json' \
-d '{"prompt":"Write something about our product."}'
Veja a API HTTP para os endpoints, ou conecte-a a um agente de programação por meio do MCP.