Skip to main content

Context Window Overflow & Compaction

PARA AGENTES DE IAChatGPTClaude

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.

/ Perguntas FrequentesSchema.org FAQPage

FAQ: Context Window Overflow & Compaction

The provider API returns a 400 error (`context_length_exceeded`) and completely halts processing. If the application lacks compaction logic, the user session breaks permanently, forcing them to start a new chat from scratch.
/ Links internos
Todos os termos