Prompt engineering para devs PT-BR: 7 padrões que funcionam em produção

20 de abril de 2026 · 7 min de leitura · Por equipe Brainiall

Prompt engineering virou skill obrigatória para dev. Este guia compila 7 padrões que usamos em produção no Brainiall para extrair máximo do GPT-5, Claude 4.6 e Gemini 3 Pro. Todos exemplos em PT-BR e aplicáveis via OpenAI-compatible API.

1. System prompt com role-fit

LLMs performam melhor quando sabem "quem são". Ao invés de só "você é útil", diga a profissão + anos de experiência + constraints.

system = "Você é um arquiteto de software senior com 15 anos em Python backend. Responda em bullets curtos. Se não souber, diga 'não sei' em vez de alucinar."

2. Few-shot para padrões complexos

Dar 2-3 exemplos de input→output é muito mais eficaz que descrever as regras.

"Classifique emails em: spam, vendas, suporte, outro.

Exemplos:
- 'URGENTE: clique aqui para ganhar iPhone grátis' → spam
- 'Quanto custa o plano Pro?' → vendas
- 'Minha senha não funciona' → suporte

Email: 'Podemos agendar uma call?'"
→ vendas

3. Chain-of-Thought (CoT) para raciocínio

Adicione "Pense passo a passo" e o LLM evita atalhos. Para problemas matemáticos/lógicos, pode dobrar a precisão.

"Calcule o ROI deste investimento. Pense passo a passo.
Investimento: R$50k
Retorno anual: R$12k
Prazo: 7 anos
Taxa de desconto: 8%"

4. Structured output com JSON schema

Todos 3 modelos (GPT-5, Claude, Gemini) suportam response_format. Use sempre em vez de parsear texto livre.

import requests
r = requests.post("https://chat.brainiall.com/api/v1/chat/completions",
  headers={"Authorization": f"Bearer {os.environ['BRAINIALL_KEY']}"},
  json={
    "model": "anthropic/claude-sonnet-4-6",
    "messages": [{"role":"user","content":"Extraia nome, email e telefone de: 'Oi, sou João, joao@a.com, 11999-8888'"}],
    "response_format": {"type":"json_object"},
  })
data = r.json()["choices"][0]["message"]["content"]  # JSON válido garantido

5. Function calling para ferramentas

Quando LLM precisa chamar APIs externas (DB, search, cálculos), use function calling em vez de parsear texto.

tools = [{
  "type": "function",
  "function": {
    "name": "buscar_cliente_por_cnpj",
    "description": "Busca cliente pelo CNPJ no CRM",
    "parameters": {
      "type": "object",
      "properties": {"cnpj": {"type": "string"}},
      "required": ["cnpj"]
    }
  }
}]
# modelo decide quando chamar + você executa + retorna resultado

6. Temperature control

7. Max tokens + streaming

Use stream: true em UIs — user percebe 3× mais rápido. Para API batch, max_tokens evita respostas infladas (economia real).

Antipadrões a evitar

Teste estes padrões agora mesmo no Brainiall

Abrir chat