Context Window Overflow & Compaction
Engineering patterns to prevent fatal failures when the context limit is exhausted: rolling summaries, state folding, and selective eviction of outdated history.
1. Visão geral do conceito e o problema sistêmico
Em projetos de engenharia de longa duração, um agente pode operar por horas: lendo arquivos, executando testes, obtendo logs e corrigindo erros. Mais cedo ou mais tarde, até mesmo uma janela de 200.000 tokens se enche:
- Abordagem ingênua: simplesmente truncar (Truncate) as primeiras mensagens. No entanto, junto com elas desaparece a instrução inicial do usuário, fazendo com que o agente subitamente "esqueça" qual tarefa exata está resolvendo.
- Outra abordagem ingênua: interromper a operação e reportar um erro, obrigando o usuário a reexplicar tudo manualmente desde o início.
Context Window Compaction (Compactação da Janela de Contexto) é uma técnica de compressão contínua do histórico de diálogo em tempo real (on the fly), permitindo que o agente conduza sessões de trabalho infinitas sem falhas por estouro de contexto e sem perder os objetivos iniciais.
2. Taxonomia arquitetural e modelo mental
┌─────────────────────────────────────────────────────────────┐
│ CICLO DE VIDA DA COMPACTAÇÃO DO CONTEXTO │
├─────────────────────────────────────────────────────────────┤
│ 1. MONITORAMENTO DO BUFFER (Total de Tokens: 165k / Limite 200k) │
│ • Limiar de disparo: 80% de preenchimento da janela │
├─────────────────────────────────────────────────────────────┤
│ │ │
│ ▼ Disparar Worker de Compactação │
├─────────────────────────────────────────────────────────────┤
│ 2. PARTICIONAMENTO & RESUMIZAÇÃO ROLANTE │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ [FIXADO] Prompt do Sistema & Regras Principais (Imutável) │ │
│ ├─────────────────────────────────────────────────────┤ │
│ │ [FATIADO] Turnos Antigos 1–30 ➔ Destilados em Estado │ │
│ │ Executivo: "Autenticação configurada, DB migrado" │ │
│ ├─────────────────────────────────────────────────────┤ │
│ │ [MANTIDO BRUTO] Turnos Recentes 31–40 (Detalhe exato para dev) │ │
│ └─────────────────────────────────────────────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ 3. RE-MONTAGEM DO CONTEXTO: Novo Tamanho = 45k tokens (Espaço fresco!) │
└─────────────────────────────────────────────────────────────┘
3. Cenários práticos de engenharia em produção
01. Sessão infinita de vibe coding em IDEs agênticas
O desenvolvedor trabalha no Cursor ou Claude Code há seis horas seguidas. A cada 40 mensagens, o sistema compacta discretamente os logs antigos do terminal em um bloco Markdown organizado <previous_session_summary>, mantendo a sessão rápida, barata e responsiva.
02. Preservação de artefatos de decisões (Architectural Decision Records)
Durante a compactação, o agente armazena separadamente as hipóteses rejeitadas: "Tentamos usar a biblioteca X, mas ela é incompatível com Windows". Isso garante que, após 100 mensagens, o agente não tente reinstalar a biblioteca X novamente.
4. Armadilhas, erros comuns e segurança
- Perda de detalhes sutis (Information Loss): O modelo de sumarização pode decidir que um número específico de porta ou o nome de um campo raro não são importantes e removê-los do resumo. Parâmetros críticos devem ser armazenados em campos dedicados do JSON State, e não em texto livre.
- Drift de objetivo em múltiplas compactações: Se a sessão durar semanas e o resumo for resumido pela décima vez, surge o efeito do "telefone sem fio". A intenção original do usuário (
User Intent) deve permanecer sempre imutável na raiz do prompt.
5. Conclusão estratégica para o engenheiro de 2026
A compactação de contexto é a chave para criar sistemas autônomos de longa duração (Long-Running Agents). A capacidade de projetar algoritmos de rotação e consolidação de memória permite construir agentes que podem trabalhar em um projeto por semanas sem perder o foco.
FAQ: Context Window Overflow & Compaction
Termos relacionados
Janela de Contexto (Context Window)
O volume máximo de tokens que um modelo de linguagem consegue manter simultaneamente no mecanismo Self-Attention e na memória do cache KV durante o processamento de uma única requisição de inferência.
Degradação de Contexto (Context Rot & Attention Decay)
Redução sistêmica da precisão, do seguimento de instruções e da coerência lógica dos LLMs à medida que se acumulam no contexto de trabalho ruído de diálogo, rascunhos de código obsoletos e saídas do compilador.
Memória do Agente
Um subsistema abrangente de armazenamento, filtragem e recuperação de dados que transforma chamadas LLM stateless em sistemas stateful: desde um buffer scratchpad de curto prazo até um repositório de conhecimento multissessão.
Memória Episódica vs. Memória Semântica em Agentes
Separação arquitetural da memória do agente de IA entre uma base factual de longo prazo (Memória Semântica) e um registro cronológico de eventos de sessões de trabalho específicas (Memória Episódica).