Voltar ao Nível Avançado
MÓDULO 1 NÍVEL AVANÇADO

Engenharia de Contexto

Pare de pensar em prompts como texto. Aprenda a pensar em contexto como sistema. O novo núcleo técnico da engenharia de prompt moderna.

6
Tópicos
90
Minutos
8
Exercícios
1

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:

📋
Expectativas

O que você espera

🚧
Limites

O que não deve acontecer

🎯
Critérios

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]

2

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

SYS
System Layer

Identidade fundamental, regras invioláveis, guardrails de segurança

Prioridade: MÁXIMA - Nunca sobrescrita

GLO
Global Layer

Conhecimento de domínio, padrões de formatação, preferências persistentes

Prioridade: ALTA - Padrão para todas as tarefas

TSK
Task Layer

Instruções específicas da tarefa atual, objetivos, critérios de sucesso

Prioridade: MÉDIA - Específica por interação

DAT
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): ...
```

3

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

1. SYSTEM → Sempre vence
2. GLOBAL → Padrão
3. TASK → Específico
4. USER INPUT

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.

4

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)
}

5

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>

6

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

Boas Práticas

Curar contexto antes de enviar
Posicionar crítico no início/fim
Usar delimitadores claros
Testar com diferentes tamanhos
Revisar hierarquia de prioridade
Medir qualidade vs tamanho

Baixar este módulo

Salve para estudar offline

Nível Avançado Módulo 2: Gestão de Long Context