← voltar Esquema de arte linear de um medidor cilíndrico com válvulas de cano ramificadas representando controle de fluxo de contexto

Janela de Contexto Claude Code: Quando Compactar, Limpar ou Dividir

A janela de contexto do Claude Code é a memória de trabalho da sua sessão atual. Ela mantém sua conversa, cada arquivo lido, definições de ferramentas MCP, configs de agente customizados, arquivos de memória e o histórico completo de chamadas de ferramentas, conforme descrito na documentação da janela de contexto Claude Code. Quando fica cheia, você tem três alavancas: /compact, /clear ou iniciar uma nova sessão com uma transição estruturada. Qual você escolhe muda a qualidade de tudo que vem depois.

Escolha Compactar, Limpar ou uma Nova Sessão

Três comandos, três resultados diferentes. Entender a diferença é o jogo inteiro.

Esquema de diagrama de uma junção de cano de três vias com controles de válvula individuais para cada canal de saída

`/compact ` substitui o histórico de conversa por um resumo condensado e mantém a sessão em execução. O contexto encolhe, a sessão continua e Claude retém alguma conscientização histórica. Você pode direcionar o que ela mantém: /compact focus on the auth bug fix diz ao modelo o que importa em vez de deixá-lo adivinhar. A referência oficial da janela de contexto confirma que você pode passar instruções diretamente para a passagem compacta.

`/clear ` é um reset total. A conversa inteira é deletada. Sem histórico, sem contexto de arquivo em memória, sem carryover. Como Damian Galarza descreve em seu resumo da janela de contexto, usar /clear sem primeiro persistir seu plano significa que você começa do zero. Às vezes, é intencional e está tudo bem.

Iniciar uma nova sessão com um documento de transição oferece uma lousa limpa mais continuidade. Mais sobre como estruturar essa transição abaixo.

A árvore de decisão aproximada:

  1. Mesma tarefa, mais espaço necessário: use /compact com uma instrução de foco.
  2. Mudando para trabalho não relacionado: use /clear.
  3. Tarefa grande demais para uma sessão ou qualidade já degradando: crie uma transição e comece do zero.

Uma coisa a sinalizar: /autocompact executa automaticamente conforme você se aproxima do limite. Você pode definir o quão cheia a janela fica antes de dispará-lo, por exemplo /autocompact 500k , mas a passagem automática faz suas próprias decisões sobre o que manter. Está tudo bem para sessões curtas. Para qualquer coisa arquitetural, você quer executar /compact manualmente antes da passagem automática assumir o controle.

Veja o Que Consome Contexto

Antes de você gerenciar contexto, você precisa vê-lo. Execute /context e você obtém um resumo: tamanho total do contexto, as categorias consumindo a maioria dos tokens e uma barra visual mostrando a divisão. Claude Code 101 da academia oficial explica este resultado. As categorias principais são histórico de conversa, conteúdos de arquivo carregados na sessão, histórico de chamadas de ferramentas e arquivos de memória ou config de agente.

A maioria dos desenvolvedores fica surpresa com o histórico de chamadas de ferramentas. Sessões longas de debugging vai e volta se acumulam rápido. Uma dúzia de leituras de arquivo, cada uma com resultado completo, se agrava rapidamente. Geralmente é a primeira coisa a visar.

O que se preserva em um passe compacto

De acordo com a documentação oficial, o conteúdo de inicialização é recarregado automaticamente após um compacto. O que você precisa acompanhar é a nuance na própria conversa: decisões arquitetônicas específicas, razões por trás de uma refatoração, por que você rejeitou uma abordagem particular. Essas sobrevivem a um compacto focado. Frequentemente não sobrevivem ao passe automático, que não sabe o que você se importa.

Escopo de Leituras de Repositório e Saída de Ferramentas

Como você lê arquivos na sessão importa tanto quanto quando você compacta. Ler diretórios inteiros ou arquivos grandes quando você só precisa de uma ou duas funções é uma das formas mais rápidas de queimar contexto.

Alguns hábitos que ajudam:

  • Peça ao Claude para ler apenas o arquivo específico e o intervalo de linhas que você precisa, não o módulo inteiro.
  • Quando você precisa pesquisar uma área grande da base de código, delegue a um subagente. O conteúdo dos arquivos permanece no contexto do subagente, não no seu. Você só recebe o resultado. A documentação oficial da janela de contexto menciona isso explicitamente: "Delegue leituras grandes: envie pesquisas para um subagente para que o conteúdo dos arquivos permaneça na janela de contexto dele, não na sua."
  • Evite reler arquivos que você já discutiu, a menos que algo tenha mudado. Claude já tem esse conteúdo na conversa.
  • Seja específico com chamadas de ferramentas grep e search. Buscas amplas retornam saídas amplas.

Para quem está construindo fluxos multi-agente em cima de Claude Code, o guia de subagentes Claude Code aborda como estruturar essas delegações. E se você está trabalhando no nível do SDK, o guia Claude Agent SDK vai mais fundo em limites de contexto entre agentes.

Se você está gastando mais tempo lutando contra contexto do que escrevendo código, pode valer a pena conversar com alguém que faz isso em tempo integral. O time de desenvolvimento Claude Code da Seahawk pode ajudar a configurar a estrutura correta do projeto desde o início.

Preserve Decisões Ao Compactar

Esse é o passo que a maioria dos desenvolvedores pula. Logo antes de compactar ou limpar, peça um resumo ao Claude:

"Antes de compactarmos, me dê uma lista com os pontos-chave das decisões que tomamos, qualquer coisa que explicitamente rejeitamos e por quê, e o estado atual do trabalho."

Copie isso para seu CLAUDE.md ou uma nota de rascunho. Quando você retomar, cole como contexto inicial. O guia da MindStudio sobre o comando `/compact ` descreve isso como a diferença entre compressão controlada e compressão caótica: quando você executa /compact manualmente, você escolhe o que é preservado; quando o passe automático dispara, o modelo decide, e frequentemente mantém saída mundana em vez de raciocínio arquitetônico.

O outro alavanca é seu próprio CLAUDE.md . Decisões arquitetônicas, relacionamentos de componentes não óbvios, coisas que Claude nunca deve fazer nesta base de código: essas pertencem lá permanentemente, não apenas na conversa. Cada nova sessão carrega CLAUDE.md automaticamente, então é o único lugar onde o contexto realmente persiste entre sessões.

Quando não compactar

  • Durante a depuração, quando mensagens de erro específicas e stack traces ainda são relevantes.
  • Durante uma refatoração onde detalhe no nível de arquivo está sendo ativamente utilizado.
  • Logo antes do trabalho de integração que depende do contexto do componente que você acabou de construir.

O guia de gerenciamento de contexto do Claudefast resume bem isso: compacte em pontos de pausa naturais entre fases de trabalho, não no meio de uma fase.

Divida Tarefas Grandes Sem Perder o Handoff

Algumas tarefas são genuinamente muito grandes para uma sessão. Isso não é uma falha, é apenas como bases de código grandes funcionam. A resposta é um documento de handoff estruturado criado antes do final da sessão, não depois que a qualidade já caiu.

Um documento de handoff útil cobre:

  1. O que foi concluído (com referências de commit ou caminhos de arquivo).
  2. O que está em andamento e em que estado está.
  3. Decisões tomadas e por quê (especialmente qualquer coisa não óbvia).
  4. O que vem a seguir, com detalhes suficientes para que uma sessão nova possa continuar sem reler tudo.
  5. Quaisquer perguntas abiertas ou bloqueadores.

Um profissional no LinkedIn descreveu isso como o núcleo de um sistema de handoff de sessão: em um nível de uso de contexto definido, a sessão cria um documento de handoff com o que foi feito, referências de commit e estado atual. A nova sessão abre com esse documento como sua primeira mensagem. O post no LinkedIn de JD Fiscus sobre compact vs clear descreve um loop TASK > COMMIT > CLEAR > RECAP > RESCAN para manter tarefas focadas, que funciona bem para trabalho em recursos iterativos.

O fluxo de trabalho, concretamente:

  1. Conclua uma unidade lógica de trabalho e faça commit.
  2. Peça ao Claude para produzir um resumo de handoff cobrindo os cinco pontos acima.
  3. Copie o resumo para um arquivo em seu repositório ou para CLAUDE.md.
  4. Execute /clear ou inicie uma nova sessão.
  5. Abra a nova sessão com o documento de handoff como contexto.

Assim você nunca está começando do zero e nunca está arrastando um histórico de sessão desorganizado para um trabalho que precisa de uma cabeça clara.

Limites Específicos do Modelo e Solução de Problemas

Os tamanhos da janela de contexto variam por modelo. O post de Damian Galarza nota que Claude Sonnet 4.5 tem uma janela de contexto de aproximadamente 200.000 tokens como ponto de referência. Outros modelos Claude têm seus próprios limites; verifique a documentação oficial do modelo para números atuais em vez de confiar em números da comunidade que podem estar desatualizados.

O que observar:

  • Repetição. Claude começa fazendo perguntas que você já respondeu, ou contradiz uma decisão anterior. Isso é um sinal de que o contexto relevante foi removido ou resumido mal.
  • Instruções ignoradas. Se Claude parar de seguir convenções de projeto que estava aplicando corretamente antes, o conteúdo de CLAUDE.md pode ter sido sobrescrito. Execute /context para verificar.
  • Respostas lentas e caras. Um contexto grande consome tokens em cada mensagem. Se os custos estão subindo, /context mostrará o motivo.

Uma coisa que vale a pena notar: afirmações sobre limiares universais de compactação (um percentual específico de preenchimento em que a qualidade sempre cai) não são suportadas pela documentação oficial. O momento certo para compactar é dependente da tarefa. A heurística aproximada de vários praticantes é agir em um limite de fase natural, antes de ver degradação, não depois. Mas seus resultados variarão de acordo com o tipo de tarefa, modelo e quanto do seu contexto é código denso versus conversação.

FAQ

`/compact` consome tokens?

Sim. A passagem de compactação em si é uma chamada de modelo e usa tokens. Executá-la manualmente em um limite de fase geralmente custa menos do que deixar a passagem automática disparar em um alto nível de utilização, porque o resumo que ela produz é mais limpo e você gasta menos tokens nas mensagens que seguem.

`/clear` afetará meu `CLAUDE.md`?

Não. CLAUDE.md é um arquivo em disco. /clear remove apenas a conversação em sessão e memória. Seu CLAUDE.md recarrega automaticamente na próxima vez que Claude Code ler seu diretório de projeto.

Posso compactar apenas parte da conversação?

Sim. Execute /rewind, selecione uma mensagem e escolha "Summarize from here" ou "Summarize up to here". A documentação oficial da janela de contexto descreve o que cada opção preserva. Isso é útil quando um segmento específico de depuração está poluindo o contexto, mas a conversação anterior ainda importa.

Worktrees do mesmo repositório compartilham contexto?

Eles compartilham memória automática local por máquina, de acordo com a documentação oficial de memória. Eles não compartilham contexto de sessão. Cada sessão de worktree tem sua própria janela de contexto.

O que acontece com as definições de ferramentas MCP após uma compactação?

A documentação oficial indica que o conteúdo de inicialização, incluindo definições de ferramentas MCP, recarrega automaticamente após uma passagem de compactação. Você não deveria precisar registrar ferramentas manualmente novamente, mas vale a pena executar /context após uma compactação em uma sessão complexa para confirmar que a divisão está correta.

O ressalva mais importante em tudo isso: no momento em que você notar a qualidade degradando, seu resumo de compactação provavelmente incluirá saídas confusas ao lado das boas. Compacte no final de uma fase limpa, não no início de uma desordenada.

← voltar