← Todos os Posts

Compactar o contexto é uma decisão, não um limite

Uma trajetória longa de agente atinge o limite de contexto, o scaffold resume tudo o que foi feito até ali em uma nota compacta, e o resumo aterrissa no meio de uma prova pela metade. O agente tinha três dos quatro lemas em mãos. Agora tem um parágrafo que diz que estava “trabalhando em uma prova” e quatro lemas que precisa redescobrir. A compactação não falhou porque o resumo era ruim. Ela disparou no momento errado.

A maioria dos agentes de codificação compacta o contexto com base em um gatilho fixo: quando os tokens acumulados cruzam um limite, resuma e continue. O gatilho é numérico, mas o custo de compactar é estrutural. Disparar no meio de uma derivação descarta resultados parciais que o modelo então precisa reconstruir, que é o momento mais caro para esquecer. Um artigo de junho de 2026, Self-Compacting Language Model Agents, defende que o modelo deveria decidir quando e como compactar, e mostra que a versão baseada em decisão iguala ou supera o limite a uma fração do seu custo em tokens.1

O resultado reformula um problema que eu vinha tratando como um detalhe de encanamento. A compactação de contexto não é uma tarefa de gerenciamento de memória que dispara em um contador. É um julgamento sobre quando esquecer é seguro, e o agente está em melhor posição para fazer esse julgamento do que um orçamento de tokens está.

Resumo

  • Os scaffolds de agentes, incluindo o Claude Code, compactam o contexto quando ele se aproxima do limite da janela. O gatilho é uma contagem de tokens, então dispara sem levar em conta onde o agente está em seu trabalho.
  • Disparar no meio de uma derivação ou de uma busca é o pior caso: o resumo joga fora resultados parciais que o modelo pagou para calcular e que então precisa calcular de novo.
  • Self-Compacting Language Model Agents (2026) combina uma ferramenta de compactação que o modelo pode chamar com uma rubrica que diz quando disparar (uma subtarefa resolvida, a trajetória está convergindo) e quando esperar (no meio de uma derivação, travado). Nenhuma das metades funciona sozinha.
  • O método não precisa de ajuste fino nem de supervisão externa. Em seis benchmarks e sete modelos, ele superou uma baseline sem resumo em até 18,1 pontos em matemática e de 5 a 9 em busca agêntica, com um custo por pergunta de 30 a 70 por cento menor.
  • A lição se generaliza além do resumo: o gatilho certo para esquecer é semântico (o trabalho está em uma fronteira segura?), não numérico (o buffer está cheio?).

O limite é o gatilho errado

A compactação existe porque trajetórias longas apodrecem. Cadeias de raciocínio e chamadas de ferramentas se acumulam, conteúdo obsoleto ancora as gerações seguintes, e por fim o rastro ultrapassa o tamanho da janela. A correção padrão é resumir em um intervalo fixo, disparado quando o total de tokens cruza um limite.1 É a jogada de engenharia óbvia, e é o que os scaffolds de produção fazem quando uma sessão se estende: o Claude Code, pela sua própria documentação, “compacta automaticamente conforme você se aproxima do limite”.2

O problema é que o limite conhece o tamanho do contexto e nada sobre o seu formato. Um contador de tokens não consegue distinguir entre uma trajetória que acabou de encerrar uma subtarefa de forma limpa e uma que está três passos adentro de uma derivação de cinco passos. Ambas parecem idênticas para um contador: um número que cruzou uma linha. Então o scaffold compacta as duas da mesma maneira, e no segundo caso ele resume e descarta justamente os resultados intermediários de que o agente precisa para terminar.

Eu já vi isso acontecer nos meus próprios loops autônomos. Uma execução longa atinge o limite durante uma refatoração de múltiplos arquivos, o scaffold compacta, e o agente volta tendo esquecido quais arquivos já havia editado. O trabalho não se perdeu em nenhum sentido catastrófico. O agente o refez. Mas a re-derivação é o custo, e é um custo que o limite impõe às cegas, porque o limite não consegue ver que o momento era ruim.

A falha difere daquela sobre a qual escrevi em composição de contexto. A composição trata do que um projeto mantém entre sessões: as convenções, os hooks e as memórias que tornam a sessão 500 mais rápida do que a sessão 1. A compactação trata do que uma única sessão descarta dentro de si mesma. As duas puxam em direções opostas, e a compactação é a que ninguém ajusta, porque o limite faz com que ela pareça automática.

O que o SelfCompact muda

A proposta do artigo, o SelfCompact, move a decisão do scaffold para o modelo. Ela combina duas peças em tempo de inferência.1

Uma ferramenta de compactação. O modelo recebe uma ferramenta que pode invocar para resumir o contexto acumulado, da mesma forma que invoca qualquer outra ferramenta. A compactação se torna uma ação que o agente realiza, não uma interrupção que o runtime impõe.

Uma rubrica de quando disparar. Uma instrução leve diz ao modelo quando compactar é apropriado (uma subtarefa foi resolvida, ou a trajetória está convergindo) e quando suprimir a ação (o modelo está no meio de uma derivação, ou travado). A rubrica é o julgamento que falta ao contador de tokens.

O artigo é direto ao afirmar que ambas as metades são necessárias, e a razão é a parte interessante. Modelos de peso aberto usam a ferramenta de forma irregular: eles a invocam em momentos pouco úteis ou a ignoram por completo. Deixados aos próprios instintos, os modelos não são confiáveis para perceber o apodrecimento do próprio contexto. A rubrica sozinha não consegue fazer nada, porque é apenas uma instrução sem mecanismo para agir. Juntas, elas produzem uma compactação adaptativa sem nenhum ajuste fino nem supervisão externa.1 O modelo já tem a capacidade de resumir bem; o que lhe falta é o senso metacognitivo de quando o resumo vale a perda. A rubrica fornece esse senso.

O enquadramento importa porque separa duas habilidades que as pessoas tendem a confundir. Saber como comprimir uma trajetória é uma habilidade de geração, e os modelos de fronteira são bons nisso. Saber quando comprimir é seguro é uma habilidade de automonitoramento, e os modelos são ruins nisso quando não recebem orientação. O SelfCompact não tenta tornar o modelo mais inteligente para resumir. Ele dá ao modelo um checklist para a decisão de tempo que, de outro modo, ele erraria.

Os números

A avaliação cobre seis benchmarks, abrangendo matemática competitiva e busca agêntica, em sete modelos.1 Os pontos de comparação são uma baseline sem resumo e a abordagem de limite com intervalo fixo.

Contra a ausência de resumo, o SelfCompact melhorou os resultados em até 18,1 pontos em matemática e de 5 a 9 pontos em busca agêntica, com um custo por pergunta de 30 a 70 por cento menor.1 Essa diferença é o custo do apodrecimento de contexto: um modelo afogado em seu próprio rastro obsoleto se sai mensuravelmente pior, e paga mais, do que um que poda de forma inteligente.

Contra o resumo com intervalo fixo, o destaque é a eficiência. O SelfCompact igualou ou superou a qualidade do limite a uma fração do seu custo em tokens.1 Compactar com base em julgamento em vez de em um relógio significa que o agente compacta com menos frequência e em momentos melhores, então ele paga por menos passagens de resumo e reconstrói menos resultados descartados. O limite não estava ocasionalmente fora de hora. Ele era sistematicamente mais caro para a mesma qualidade ou para uma qualidade pior.

Uma redução de custo de 30 a 70 por cento em tarefas de longo horizonte não é um erro de arredondamento. Para quem roda agentes em volume, a política de compactação é uma rubrica de custo, e o artigo diz que a política padrão que a maioria dos scaffolds entrega está pagando por passagens de resumo de que não precisa.

O que isso significa para quem roda agentes

A conclusão prática não é “vá implementar o SelfCompact agora mesmo”. A maioria dos operadores não controla diretamente o gatilho de compactação de seu agente. A conclusão é que a compactação é uma política ajustável com consequências reais de qualidade e custo, e que o padrão baseado em limite merece ser questionado.

Trate as fronteiras de compactação como semânticas, não numéricas. Quando você estrutura uma tarefa longa, dê ao agente pontos naturais de parada: terminar um arquivo, encerrar uma subtarefa, alcançar um checkpoint. Um agente que compacta na fronteira de uma subtarefa não perde nada de que precisa. Um agente que compacta na fronteira de um token perde o que quer que estivesse segurando. O trabalho do operador é em parte moldar a trajetória para que os momentos seguros e os momentos de compactação se alinhem.

Fique atento à re-derivação como um sintoma. Se um agente volta de uma compactação e refaz um trabalho que já havia feito, o gatilho disparou no lugar errado. A re-derivação é a assinatura observável de uma compactação fora de hora, e é um custo que você consegue ver no rastro se procurar por ele.

Espere que o gatilho se mova para dentro do modelo. O SelfCompact não precisa de ajuste fino, o que significa que é um padrão de prompt e ferramenta que qualquer scaffold pode adotar. O resultado limpo em modelos de peso aberto sugere que isso vira o padrão: agentes que decidem a própria compactação em vez de esperar o runtime forçá-la. O limite vai parecer, em retrospecto, um artefato de tratar o contexto como um buffer a ser esvaziado em vez de uma memória de trabalho a ser gerenciada.

O padrão mais amplo é um que continuo encontrando com agentes. A parte difícil raramente é a capacidade. Modelos de fronteira conseguem resumir bem uma trajetória. A parte difícil é a metacognição: saber quando fazer aquilo que já sabem fazer. O tempo de compactação, assim como saber quando pedir confirmação ou quando interromper um loop de pesquisa, é uma decisão de automonitoramento, e o automonitoramento é onde a geração atual é mais fraca. A correção em todos os casos tem o mesmo formato que o SelfCompact usa: pare de torcer para que o modelo perceba, e entregue a ele uma rubrica explícita para o julgamento.

Principais lições

Para operadores de agentes: - Audite quando o seu scaffold compacta. Se ele dispara em um limite de tokens, está disparando sem levar em conta se o agente está no meio de uma tarefa. - Estruture tarefas longas em torno de checkpoints explícitos para que as fronteiras de compactação caiam em momentos seguros em vez de arbitrários. - Trate a re-derivação após uma compactação como um bug no gatilho, não como uma peculiaridade do modelo.

Para quem constrói scaffolds: - Uma ferramenta de compactação somada a uma rubrica de disparo/supressão supera um intervalo fixo a um custo menor, sem necessidade de ajuste fino. - Separe as duas habilidades: os modelos resumem bem, mas julgam mal o tempo. Gaste o seu esforço de design na rubrica de tempo, não no resumidor.

Para quem orça execuções de agentes: - A política de compactação é uma rubrica de custo. Um gatilho baseado em julgamento reduziu o custo por pergunta em 30 a 70 por cento no estudo, com qualidade igual ou melhor.

Perguntas frequentes

O que é compactação de contexto?

A compactação de contexto é resumir a trajetória acumulada de um agente (sua cadeia de raciocínio e chamadas de ferramentas) em uma forma mais curta para que o rastro não ultrapasse a janela de contexto do modelo. Ela troca detalhe por espaço. Bem feita, remove conteúdo obsoleto enquanto preserva o que o agente ainda precisa. Feita no momento errado, descarta resultados parciais que o agente tem de recalcular.

Por que um limite de tokens é um gatilho de compactação ruim?

Um limite de tokens mede o tamanho do contexto, mas não a sua estrutura. Ele não consegue dizer se o agente acabou de terminar uma subtarefa ou se está na metade de uma derivação. Disparar no segundo caso joga fora resultados intermediários que o modelo pagou para calcular, forçando uma re-derivação cara. O gatilho deveria refletir onde o agente está em seu trabalho, algo que um contador não consegue ver.

Como o SelfCompact decide quando compactar?

Ele combina uma ferramenta de compactação que o modelo pode invocar com uma rubrica que especifica quando disparar (uma subtarefa resolvida, a trajetória está convergindo) e quando suprimir a ação (no meio de uma derivação, ou travado). O modelo já resume bem; a rubrica fornece o julgamento de tempo que lhe falta quando não recebe orientação. A abordagem não exige ajuste fino nem supervisão externa.

Isso exige um modelo especial?

Não. O artigo avaliou sete modelos, incluindo os de peso aberto, e o padrão funciona apenas por meio de prompt e uso de ferramentas. Isso o torna adotável por qualquer scaffold sem retreinamento.

Quanto a compactação baseada em julgamento economiza?

No estudo, o SelfCompact igualou ou superou o resumo com intervalo fixo gastando de 30 a 70 por cento menos por pergunta, e superou uma baseline sem resumo em até 18,1 pontos em matemática e de 5 a 9 em busca agêntica.


Fontes


  1. Li et al., “Self-Compacting Language Model Agents,” arXiv:2606.23525 (22 de junho de 2026). O resumo relata o design de ferramenta mais rubrica, a necessidade de ambos os componentes, o resultado sem ajuste fino, a avaliação em seis benchmarks e sete modelos, e os ganhos quantitativos: sobre uma baseline sem resumo, até 18,1 pontos em matemática e de 5 a 9 pontos em busca agêntica com um custo por pergunta de 30 a 70 por cento menor; e igualando ou superando o resumo com intervalo fixo a uma fração do custo em tokens. 

  2. Anthropic, “Explore the context window,” documentação do Claude Code: “Claude Code compacts automatically as you approach the limit, so a full context window doesn’t end your session.” code.claude.com/docs/en/context-window 

Artigos relacionados

Contexto composto: por que projetos de IA melhoram com o tempo

Cada problema que você resolve com um agente de IA deposita contexto que a próxima sessão saca com juros. Isso é context…

10 min de leitura

O documento de handoff: memória de agente entre sessões

Um diagnóstico sobreviveu a três correções ao longo de quatro dias e guiou uma correção que reduziu o carregamento de pá…

7 min de leitura

Seu agente escreve mais rápido do que você consegue ler

Cinco grupos de pesquisa publicaram sobre o mesmo problema nesta semana: agentes de IA produzem código mais rápido do qu…

16 min de leitura