Janela de contexto do Claude Code cheia? Compactar, limpar ou recomeçar
Quando o Claude Code ou outro agente de programação está a ficar sem contexto, escolha entre compactar, limpar ou abrir uma sessão nova, e guarde as decisões numa nota de passagem.
Quando a janela de contexto do Claude Code está quase cheia, ele age por conta própria: primeiro limpa os resultados mais antigos das ferramentas e depois, se for preciso, resume a conversa. As instruções do início podem perder-se, por isso escolha antes que ele o faça. Se continua na mesma tarefa, execute /compact com uma nota sobre o que manter. Se vai passar a um trabalho sem relação com este, execute /clear. Se o agente continua a esquecer decisões, escreva uma nota de passagem curta e comece uma sessão nova a partir dela.
Outros agentes de programação podem usar comandos diferentes, mas as escolhas são as mesmas. O Mono consegue mostrar quanto do contexto está ocupado quando o agente o comunica, mas é o agente que compacta e limpa.
1. Saiba o que enche a janela de contexto
O contexto guarda tudo aquilo com que o agente trabalha: as suas mensagens e as respostas dele, os ficheiros que leu, os resultados de comandos e testes, as listas de ferramentas dos servidores MCP ligados e os ficheiros de instruções carregados no início. Um único registo de testes longo pode pesar mais do que tudo o que escreveu.
Sinais de que está a encher:
- O agente quebra uma regra que lhe deu antes.
- Faz-lhe uma pergunta a que já respondeu.
- Um aviso diz que o contexto está a acabar.
No Claude Code, /context mostra o que está a ocupar espaço. A explicação de como o Claude Code funciona descreve o que acontece perto do limite.
Um exemplo fictício: há duas horas que está a passar 30 ficheiros do «tidy-recipes» de uma função de datas antiga, oldDate(), para uma nova, formatDate(), quando o agente volta a perguntar que biblioteca deve usar. /context mostra a janela quase cheia.
2. Escolha entre compactar, limpar e uma sessão nova
Compactar substitui a conversa por um resumo na mesma sessão. Limpar ou começar uma sessão nova descarta a conversa, mas os ficheiros de instruções voltam a ser carregados. Com cada opção perde-se alguma coisa:
| Situação | O que fazer | O que perde |
|---|---|---|
| Mesma tarefa, a correr bem | Compactar com uma nota de foco | Os pormenores que o resumo omite |
| A seguir vem trabalho sem relação | Limpar ou começar uma sessão nova | A conversa inteira |
| O agente esquece decisões | Escrever uma nota de passagem e começar uma sessão nova | Tudo o que a nota de passagem deixar de fora |
Uma nota de foco diz ao resumo o que deve manter: /compact Focus on date decisions and failing tests. O guia de gestão de custos do Claude Code mostra isto e sugere /rename antes de /clear, para poder reabrir a sessão com /resume.
No exemplo, o agente já esqueceu uma decisão, por isso escreva uma nota de passagem.
3. Escreva uma nota de passagem antes de recomeçar
Uma nota de passagem é um texto curto para a sessão nova. Escreva-a por si ou corrija o rascunho do agente:
Goal: Replace oldDate() with formatDate() in recipes/ (30 files).
Done: 18 files, on branch tidy-dates.
Decisions: formatDate() uses Intl.DateTimeFormat, so no new library.
Keep oldDate() for importing v1 files, which use the old format.
Open problem: The recipes/print.ts test has failed since the change.
Next step: Fix print.ts, then move the remaining 12 files.Junte a cada decisão o seu motivo, ou a sessão seguinte pode desfazê-la. Guarde a nota no projeto ou nas suas notas e exporte a conversa para o caso de precisar dos pormenores.
Depois, execute /clear ou comece uma sessão nova no mesmo projeto e cole apenas a nota de passagem, não a transcrição.
4. Tire da conversa as regras permanentes
Algumas correções contam para lá de uma única tarefa. Se está sempre a repetir «usa a função de datas do projeto» ou «corre os testes com o script do projeto», ponha a regra no ficheiro de instruções do projeto, como o AGENTS.md ou o CLAUDE.md do Claude Code. As sessões novas leem esse ficheiro, por isso a regra não se perde quando recomeça.
Mantenha o ficheiro curto, porque é carregado em todas as sessões. O guia de custos sugere manter o CLAUDE.md abaixo das 200 linhas. O progresso, como «18 de 30 ficheiros», fica na nota de passagem. O guia do AGENTS.md explica o que incluir.
A regra dos ficheiros v1 do exemplo também vai para lá: é válida enquanto existirem ficheiros v1.
5. Reduza o que cada turno acrescenta
Um contexto mais pequeno dura mais. Antes de cada pedido:
- Indique o ficheiro e a função, em vez de «corrige as datas».
- Cole as linhas relevantes do erro, não o registo inteiro.
- Corra só os testes de que precisa e mostre apenas as falhas.
- Desligue os servidores MCP que o projeto não usa.
- Passe as pesquisas amplas a um subagente, quando o agente o permitir.
- Mantenha uma tarefa por sessão.
O guia de custos aborda a maior parte destas medidas, incluindo um hook que filtra os resultados dos testes.
6. Verifique o agente depois de recomeçar
Antes de a sessão nova editar alguma coisa, peça-lhe que resuma o objetivo, as decisões e o passo seguinte, e compare a resposta com a sua nota de passagem. No exemplo, deve mencionar a regra dos ficheiros v1 sem que seja preciso pedir. Se faltar alguma coisa, corrija-o já. Depois, reveja o primeiro diff, a correção do print.ts, antes de o agente avançar. O guia de revisão de código tem uma lista de verificação.
No Mono, quando o agente comunica a utilização, um pequeno anel por cima da caixa de mensagem mostra o contexto usado. Passa de verde a laranja a meio e a vermelho aos 80 por cento e, se o premir, mostra «Contexto: usado / total». Se escrever «/», aparecem os comandos de barra que o agente oferece. No Agent Client Protocol, os agentes não são obrigados a anunciá-los. Para recomeçar do zero, guarde a conversa antiga com Exportar conversa e depois escolha Nova sessão no cartão do projeto (também a partir do telemóvel, quando o computador está ligado). O Mono ainda não está disponível, mas pode inscrever-se na lista de espera.
