Se você já viu um agente de IA começar afiado e ir ficando burro no meio de uma tarefa longa, não é impressão. Quanto mais coisa entra na conversa, pior o modelo lembra do que importa. A Anthropic tem até nome pra isso: context rot. A boa notícia é que a correção virou recurso de plataforma nas duas maiores casas do mercado, e ela se chama compaction.

Este post é pra quem constrói: o que está acontecendo por baixo, por que resolver isso é o que separa um demo de um produto, e o que dá pra fazer hoje.

O que é a janela de contexto

A janela de contexto é a memória de trabalho do modelo: tudo que ele consegue enxergar pra gerar a próxima resposta. Não é o que ele aprendeu no treino, é o que está na mesa agora — seu prompt de sistema, o histórico da conversa, os resultados das ferramentas, os documentos que você anexou e a própria resposta sendo gerada.

Ela é grande. Os modelos de ponta hoje chegam a 1 milhão de tokens de janela. O detalhe que engana quem está começando: janela maior não é sinônimo de resposta melhor.

Por que o agente "esquece"

Ele esquece porque contexto demais atrapalha. Conforme o número de tokens cresce, a precisão e a capacidade de recuperar informação caem — é o tal do context rot que a Anthropic descreve na própria documentação. O modelo não trava, ele degrada: passa a ignorar instruções do começo, misturar detalhes, repetir passo que já fez.

Isso derruba justamente o tipo de trabalho que faz a IA valer a pena: tarefas de várias etapas, agentes que ficam horas num fluxo, automações que encadeiam dezenas de chamadas de ferramenta. O gargalo deixou de ser "o modelo é inteligente o bastante?" e passou a ser "ele consegue manter o foco por tempo suficiente?".

Por isso curar o que entra no contexto importa tanto quanto o tamanho da janela.

Compaction: o resumo automático que segura a conversa

Compaction é o modelo resumir a própria conversa pra continuar depois do limite sem perder o fio. Em vez de arrastar o histórico inteiro a cada rodada, o sistema comprime o que já passou num formato enxuto e segue em frente. As duas abordagens convergiram no mesmo lugar, com sabores diferentes:

  • OpenAI. Dá pra ligar compaction do lado do servidor na própria chamada da Responses API: você define um compact_threshold e, quando a contagem de tokens cruza esse limite, o servidor comprime o contexto sozinho e continua. Existe também um endpoint dedicado (/responses/compact) pra quem quer controlar a hora exata. O resultado é um "item de compactação" cifrado e opaco, não feito pra humano ler, que carrega o estado e o raciocínio anteriores gastando menos tokens.
  • Anthropic. A compaction server-side resume automaticamente as partes mais antigas da conversa no servidor, deixando o agente passar do limite da janela. Está em beta nos modelos atuais, do Sonnet 5 ao Opus 4.8.

O ganho é o mesmo dos dois lados: equilibrar qualidade, custo e latência à medida que a conversa cresce. Menos tokens arrastados por rodada é menos dinheiro por chamada e menos tempo de espera.

Além do compaction: as outras alavancas

Compaction não é a única ferramenta, e nem sempre é a primeira. Vale conhecer o resto do arsenal:

Alavanca O que faz Quando usar
Limpar resultados de ferramenta Descarta saídas antigas de tools que já não importam Agentes que fazem muitas chamadas e enchem o contexto de lixo
Consciência de contexto O modelo acompanha quanto de janela ainda resta Tarefas longas onde ele precisa dosar o próprio esforço
Memória entre sessões Guarda estado fora da janela pra retomar depois Fluxos que atravessam várias sessões
Busca de ferramentas Carrega só as tools necessárias, sob demanda Agentes com dezenas de ferramentas disponíveis

A Anthropic embutiu a consciência de contexto direto em modelos como Sonnet 5 e Haiku 4.5: eles recebem o próprio orçamento de tokens e sabem quanto sobra, em vez de chutar. Isso muda como um agente decide onde gastar atenção.

O que fazer na prática

Se você está montando um agente ou uma automação séria, três decisões evitam a maior parte da dor:

  1. Não empilhe tudo numa conversa só. Cada resultado de ferramenta, cada documento, cada passo custa janela. Corte o que não vai ser usado de novo.
  2. Ligue compaction antes de precisar. Definir um limite de compactação é barato e evita a queda de qualidade lá na frente. Não espere o agente já estar perdido.
  3. Meça o contexto, não confie no olho. Use contagem de tokens pra saber onde está antes de estourar. "Parece que tá grande" não é métrica.

Nada disso deixa o modelo mais inteligente. Deixa o trabalho mais organizado — e é isso que faz um agente entregar de verdade em vez de só impressionar num vídeo de demonstração.

A próxima leva de produtos com IA não vai ganhar por ter o modelo mais esperto. Vai ganhar por saber o que colocar na frente dele — e o que tirar.