Lição 5 de 7 · 14 min · Verificado em 6 de Outubro de 2026
Contexto, compactação e memória
No fim desta lição vais conseguir:
- Explicar porque é que uma sessão longa começa a correr pior
- Escolher entre compactar a conversa e começar uma sessão nova
- Guardar o estado do trabalho num ficheiro e usar a memória das ferramentas sem depender dela
O Jorge passou a tarde com o agente a montar as inscrições da escola de música. Começou bem. Às sete da tarde, o agente propõe uma base de dados, apesar de terem combinado que não. Às oito, refaz uma função que já estava feita e testada.
O agente não está cansado. A folha onde ele vê a conversa está cheia.
O conceito: a janela de contexto
O modelo só vê o que está na janela de contexto: as tuas mensagens, as respostas dele e tudo o que leu pelo caminho. Se fizeste o curso de Inteligência Artificial, já a conheces da lição «Porque esquece e porque inventa».
Num agente, a janela enche muito mais depressa do que num chat. Cada ficheiro que ele abre e cada resultado de um comando entram lá. Uma hora a explorar código pode ocupar mais do que um dia de conversa.
A documentação do Claude Code é directa: o desempenho piora à medida que a janela enche. O agente começa a «esquecer» instruções do início e a cometer mais erros. Foi o que aconteceu ao Jorge.
Compactar ou começar de novo
Tens duas saídas.
Compactar troca a conversa por um resumo dela. Continuas o mesmo trabalho, com menos peso. Podes dizer o que deve sobreviver:
/compact guarda a lista de ficheiros alterados, as decisões tomadas e o comando dos testes
O resumo perde pormenores. O Claude Code também compacta sozinho quando a janela está quase cheia; depois disso, volta a ler o CLAUDE.md e a memória automática do disco.
Começar de novo dá-te uma conversa vazia. É a melhor escolha entre tarefas diferentes, e quando já corrigiste o agente duas vezes no mesmo problema sem resultado. Nesse caso, a conversa está cheia de tentativas erradas que o puxam para os mesmos erros. Começa outra, com um pedido melhor que inclua o que aprendeste (lição 1/04).
Dica
Regra prática: mesma tarefa e conversa pesada, compacta. Tarefa nova ou o agente às voltas, começa de novo.
Uma tarefa por sessão
O guia de boas práticas do Claude Code chama «sessão lava-loiça» ao erro mais comum: começas uma tarefa, fazes uma pergunta sobre outra coisa, voltas à primeira. A janela fica cheia de assuntos que não ajudam.
Uma tarefa, uma sessão. Quando acabar, testes a passar (lição 2/01), commit, sessão nova.
Escrever o estado num ficheiro
O que tem de sobreviver vai para um ficheiro, não para a conversa. Antes de parar:
Antes de terminarmos, escreve no ficheiro ESTADO.md, em lista e no máximo 15 linhas: o que ficou feito, o que falta, as decisões que tomámos e porquê, e o comando para correr os testes.
Lê o ficheiro, corrige o que estiver mal e faz commit. Na sessão seguinte:
Lê o ESTADO.md e diz-me em três linhas onde ficámos. Depois propõe o primeiro passo do que falta, sem mudar ficheiros.
Se não quiseres um ficheiro, pede pelo menos um resumo antes de fechar: «Resume em cinco linhas o que fizemos e o que falta.» Copia-o para o primeiro pedido da sessão nova.
Memória: o que passa de uma sessão para a outra
Há três sítios diferentes.
- O
CLAUDE.mdou oAGENTS.md(lição 1/07). Escreves tu. É lido em todas as sessões. Serve para regras. - A memória automática. Escreve o agente, sozinho: as tuas preferências, as correcções que lhe fizeste.
- O ficheiro de estado. Escreves tu, com a ajuda do agente. Fica no projecto e no Git.
As duas ferramentas avisam o mesmo: a memória é contexto, não é uma regra garantida. A do Codex manda manter as regras obrigatórias no AGENTS.md. A do Claude Code diz que, para bloquear uma acção a sério, se usa um hook (lição 2/03).
Cuidado
A memória automática pode guardar coisas erradas, desactualizadas ou que não querias guardadas. Revê-a de vez em quando e apaga o que não estiver certo. Nunca digas ao agente uma palavra-passe «para ele se lembrar».
Como se faz hoje
Isto é como está a 6 de Outubro de 2026; se o ecrã for diferente, procura o botão com o mesmo nome.
Claude Code. /context mostra quanto da janela está ocupado. /compact compacta, com ou sem instruções. /clear começa uma conversa vazia. A memória automática vem ligada: /memory mostra os ficheiros de memória e tem o botão para a desligar. As notas ficam em ~/.claude/projects/<projecto>/memory/, e o início do MEMORY.md é lido em cada sessão. Se disseres «lembra-te de que…», vai para a memória; se disseres «acrescenta ao CLAUDE.md…», vai para o CLAUDE.md.
Codex. /status mostra, entre outras coisas, o uso de tokens da sessão. /compact resume a conversa e /new começa uma nova. As memórias locais vêm desligadas e estão marcadas como experimentais. Para as ligar, junta ao ~/.codex/config.toml:
[features]
memories = true
Depois, /memories controla se a conversa usa memórias. Ficam guardadas em ~/.codex/memories/.
Dica
No CLAUDE.md podes dizer o que a compactação deve guardar, por exemplo: «Ao compactar, guarda sempre a lista de ficheiros alterados e o comando dos testes.»
Exercício
Como sei que ficou bem na sessão nova, sem lhe explicares nada, o agente diz que a função e os três testes estão feitos e indica o que falta. A janela ocupada é muito menor do que antes do passo 5.
Se não deu
/contextnão existe: estás no Codex; usa/status.- O agente não encontra o
ESTADO.md: abriste-o noutra pasta. Confirma compwd(lição 1/03). - O
ESTADO.mdsaiu enorme: repete o pedido com «no máximo 15 linhas». /memoriesnão aparece no Codex: as memórias estão desligadas. Vê a configuração acima.
Fontes:
Vídeos
No troço indicado: como funciona a janela de contexto, o comando /context, uma tarefa por conversa, guardar aprendizagens no CLAUDE.md, o /clear e o auto-compact.
A janela de contexto explicada: tokens, limites, o problema do meio perdido, gestão de memória, compactação e o peso dos servidores MCP no contexto.