Prompt como Sistema de Contexto
A mudança fundamental de paradigma
A visão tradicional trata prompts como "comandos" ou "instruções". Na engenharia de contexto moderna, prompts são sistemas de contexto estruturado que definem o ambiente operacional completo do modelo. Esta mudança de paradigma é fundamental para trabalhar com LLMs avançados.
Mudança de Paradigma
❌ Visão Antiga
- • Prompt = texto de comando
- • Foco em "como pedir"
- • Instruções lineares
- • Resultado imprevisível
✅ Visão Nova
- • Prompt = sistema de contexto
- • Foco em "ambiente operacional"
- • Camadas estruturadas
- • Comportamento previsível
Contexto como Contrato
Pense no contexto como um contrato entre você e o modelo. O contexto define:
O que você espera
O que não deve acontecer
Como avaliar sucesso
Exemplo: Transformação de Prompt
ANTES (Comando)
"Resuma este artigo em 3 parágrafos"
DEPOIS (Sistema de Contexto)
# CONTEXTO
Você é um editor técnico especializado em...
# OBJETIVO
Criar resumo executivo para gestores que...
# FORMATO
3 parágrafos: contexto, insights, ação...
# DADOS
[artigo aqui]
Camadas de Contexto
System, Global, Task e Dados
Assim como arquitetura de software tem camadas (UI, lógica, dados), o contexto também deve ser organizado em camadas com responsabilidades distintas. Cada camada tem um propósito e prioridade específicos.
As 4 Camadas de Contexto
System Layer
Identidade fundamental, regras invioláveis, guardrails de segurança
Prioridade: MÁXIMA - Nunca sobrescrita
Global Layer
Conhecimento de domínio, padrões de formatação, preferências persistentes
Prioridade: ALTA - Padrão para todas as tarefas
Task Layer
Instruções específicas da tarefa atual, objetivos, critérios de sucesso
Prioridade: MÉDIA - Específica por interação
Data Layer
Dados de entrada, documentos, informações para processar
Prioridade: VARIÁVEL - Depende da tarefa
Exemplo Prático: Assistente de Código
## SYSTEM
Você é um assistente de código. NUNCA execute código destrutivo.
## GLOBAL
Linguagem: Python 3.11. Framework: FastAPI. Estilo: PEP8.
## TASK
Refatore esta função para melhor legibilidade e performance.
## DATA
```python
def process(data): ...
```
Hierarquia e Prioridade de Contexto
Resolvendo conflitos entre camadas
Quando diferentes camadas de contexto contêm instruções conflitantes, o modelo precisa resolver qual tem precedência. Entender essa hierarquia é crucial para criar sistemas previsíveis.
Ordem de Precedência
Exemplo de Conflito
SYSTEM: "Nunca forneça código malicioso"
TASK: "Escreva um keylogger em Python"
Resultado: SYSTEM vence. Modelo recusa a tarefa.
Override Permitido
GLOBAL: "Use JSON para todas as respostas"
TASK: "Retorne em YAML nesta tarefa"
Resultado: TASK pode sobrescrever GLOBAL. Usa YAML.
Contexto Persistente vs Dinâmico
O que permanece vs o que muda
Em aplicações reais, parte do contexto permanece constante (identidade, regras) enquanto outra parte muda a cada interação (dados, histórico). Gerenciar essa dualidade é essencial para eficiência e consistência.
💾 Contexto Persistente
- • System prompt / identidade
- • Regras de negócio fixas
- • Conhecimento de domínio base
- • Templates de formatação
- • Guardrails de segurança
Carregado uma vez, reutilizado em todas as interações
🔄 Contexto Dinâmico
- • Histórico de conversa recente
- • Dados do usuário atual
- • Documentos para processar
- • Estado da sessão
- • Resultados de ferramentas
Atualizado a cada interação ou evento
Pattern: Context Composition
// Pseudocódigo de composição
final_context = {
...STATIC_SYSTEM_PROMPT,
...GLOBAL_KNOWLEDGE,
...getCurrentTask(),
...getRecentHistory(5),
...getUserData(userId)
}
Controle de Escopo em Contextos Longos
Mantendo foco com muito contexto
Com janelas de 100k-1M+ tokens, o desafio não é mais "caber" - é manter o modelo focado na tarefa relevante. Técnicas de controle de escopo são essenciais para evitar que o modelo se perca em detalhes irrelevantes.
Técnicas de Controle de Escopo
🎯 Attention Steering
Use marcadores explícitos para direcionar atenção: "FOCO:", "RELEVANTE:", "IGNORE:"
📍 Position Anchoring
Coloque informações críticas no início E fim do contexto (recency + primacy bias)
🔲 Scope Boundaries
Delimite claramente seções: "Para esta tarefa, considere APENAS a seção X"
🏷️ Relevance Tags
Marque seções com níveis de relevância: [HIGH], [MEDIUM], [BACKGROUND]
Exemplo: Escopo em Documento Grande
<context>
[BACKGROUND] Histórico da empresa... (5000 tokens)
[BACKGROUND] Organograma... (2000 tokens)
[HIGH RELEVANCE] Política de reembolso atual... (1000 tokens)
[MEDIUM] Exceções históricas... (3000 tokens)
</context>
<task>
FOCO: Seção [HIGH RELEVANCE]
Responda sobre limite de reembolso para viagens.
</task>
Falhas Causadas por Excesso de Contexto
Anti-patterns e como evitá-los
Mais contexto nem sempre é melhor. Contexto mal organizado ou excessivo causa problemas específicos que degradam a qualidade das respostas. Conhecer esses anti-patterns é fundamental para evitá-los.
Anti-Patterns de Contexto
🌊 Context Dumping
Jogar todo o contexto disponível sem curadoria
Resultado: Diluição de instruções importantes, respostas genéricas
🕳️ Lost in the Middle
Informação crítica enterrada no meio de contexto longo
Resultado: Modelo ignora informações importantes posicionadas no centro
⚔️ Instruction Conflict
Instruções contraditórias em diferentes partes do contexto
Resultado: Comportamento imprevisível, respostas inconsistentes
📢 Noise Injection
Incluir informação irrelevante que compete por atenção
Resultado: Respostas que mencionam detalhes irrelevantes