System Prompts e Role Prompts: Engenharia de Prompts Avançada
System Prompts e Role Prompts: Engenharia de Prompts Avançada
Prompt Engineering

System Prompts e Role Prompts: Engenharia de Prompts Avançada

Técnicas avançadas de prompt engineering para Claude, GPT-4 e modelos open-source. Padrões, anti-padrões e benchmarks com dados reais de produção.

M
Moises Costa
January 05, 202610 min read
Prompt EngineeringClaudeOpenAIAnthropicLLM

System Prompts e Role Prompts: Engenharia de Prompts Avançada

Prompt engineering é frequentemente subestimado como "só escrever texto". Na prática, é uma disciplina de engenharia com padrões, anti-padrões e métricas mensuráveis. Neste artigo, compartilho técnicas que uso em produção.

A Anatomia de um System Prompt de Produção

Um system prompt eficaz tem estrutura clara:

[IDENTIDADE] Quem é o modelo e qual seu papel
[CONTEXTO] Informações sobre o sistema e usuário
[CAPACIDADES] O que o modelo pode e não pode fazer
[FORMATO] Como estruturar as respostas
[EXEMPLOS] Few-shot examples quando necessário
[RESTRIÇÕES] Limites e comportamentos proibidos

Exemplo: System Prompt do Arquimedes

Você é Arquimedes, um professor de matemática especializado em ensino adaptativo para estudantes do ensino fundamental e médio.

IDENTIDADE:
- Nome: Arquimedes
- Especialidade: Matemática básica e intermediária
- Tom: Encorajador, paciente, entusiasmado com matemática
- Idioma: Sempre responda no idioma da pergunta do aluno

CAPACIDADES:
- Explicar conceitos matemáticos com exemplos do cotidiano
- Criar exercícios adaptados ao nível do aluno
- Identificar e corrigir erros de raciocínio com gentileza
- Usar analogias criativas para conceitos abstratos

FORMATO DE RESPOSTA:
- Respostas curtas para perguntas simples (2-3 parágrafos)
- Use LaTeX para fórmulas: $x^2 + y^2 = z^2$
- Sempre termine com uma pergunta de verificação ou exercício prático
- Nunca dê a resposta diretamente — guie o aluno ao raciocínio

RESTRIÇÕES:
- Não resolva exercícios de provas ou trabalhos escolares diretamente
- Não discuta tópicos fora de matemática
- Se o aluno demonstrar frustração, ofereça uma abordagem mais simples

Chain-of-Thought para Problemas Complexos

Para problemas que exigem raciocínio multi-step, CoT é essencial:

python
cot_prompt = """
Resolva o seguinte problema passo a passo.

Problema: {problem}

Instruções:
1. Primeiro, identifique o que está sendo pedido
2. Liste as informações fornecidas
3. Escolha a abordagem matemática adequada
4. Execute cada passo mostrando o raciocínio
5. Verifique a resposta

Mostre seu raciocínio completo antes de dar a resposta final.
"""

Few-Shot Examples: Quando e Como Usar

Few-shot examples melhoram consistência quando o formato de saída é crítico:

python
few_shot_examples = [
    {
        "input": "Qual é 15% de 200?",
        "output": """
**Passo 1**: Converter porcentagem em decimal
15% = 15/100 = 0,15

**Passo 2**: Multiplicar pelo valor
0,15 × 200 = 30

**Resposta**: 15% de 200 é **30**.

*Quer tentar um exercício similar?*
        """
    },
    # Mais exemplos...
]

Técnicas de Controle de Formato

XML Tags para Claude

Claude responde especialmente bem a XML tags para estruturar a saída:

Analise o contrato abaixo e extraia as informações solicitadas.

<contrato>
{texto_do_contrato}
</contrato>

Retorne sua análise no formato:
<analise>
  <partes>Lista das partes envolvidas</partes>
  <vigencia>Período de vigência</vigencia>
  <valor>Valor do contrato</valor>
  <clausulas_criticas>Cláusulas que merecem atenção</clausulas_criticas>
</analise>

JSON Schema para Saída Estruturada

python
from openai import OpenAI

client = OpenAI()
response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Extraia entidades do texto: ..."}],
    response_format={
        "type": "json_schema",
        "json_schema": {
            "name": "entities",
            "strict": True,
            "schema": {
                "type": "object",
                "properties": {
                    "pessoas": {"type": "array", "items": {"type": "string"}},
                    "organizacoes": {"type": "array", "items": {"type": "string"}},
                    "datas": {"type": "array", "items": {"type": "string"}},
                },
                "required": ["pessoas", "organizacoes", "datas"],
                "additionalProperties": False,
            }
        }
    }
)

Benchmarks: O que Realmente Funciona

Após testar centenas de variações de prompts em produção, aqui estão meus dados:

TécnicaMelhoria na PrecisãoCusto Adicional
Chain-of-Thought+23%+40% tokens
Few-shot (3 exemplos)+18%+30% tokens
XML tags (Claude)+15%Neutro
Role prompting+12%Neutro
Instrução negativa+8%Neutro

Anti-padrões Comuns

1. Prompts muito longos sem estrutura: mais de 2000 tokens sem hierarquia clara degrada a atenção do modelo.

2. Instruções contraditórias: "seja conciso" e "explique em detalhes" no mesmo prompt criam outputs inconsistentes.

3. Não versionar prompts: trate prompts como código. Use git, teste antes de deployar, monitore métricas.

4. Ignorar o contexto do modelo: Claude e GPT-4 têm personalidades diferentes. O que funciona em um pode não funcionar no outro.

Conclusão

Prompt engineering é engenharia. Meça, itere, versione e monitore. A diferença entre um prompt mediano e um excelente pode ser de 20-30% na qualidade das respostas — o que em produção se traduz diretamente em satisfação do usuário.


Moises Costa é AI Engineer e especialista em LLM applications. Conecte-se no LinkedIn.

Live AI Agents

See the concepts in action

Interact with Arquimedes, Atlas, Artemis and the Detran-RJ agent — built with the exact techniques described in this article.