Contexto em faixas: 50, 70 e 85% do ponto de compactação
O maior inimigo de uma sessão longa é a compactação repetida: o objetivo sobrevive, mas o que está feito e o que falta se diluem. O hook-longrun mede o contexto e age antes do limite, em três faixas. Nesta aula você liga o hook e provoca as três faixas num ensaio, sem gastar um token.
1Onde ficam as faixas: ~484, ~677 e ~822 mil tokens
2Compactação × handoff: o que cada um guarda
3Ligar o hook nos cinco eventos do Claude Code
4Ensaiar o hook com uma transcrição falsa
Objetivo: ligar o hook-longrun e provocar as três faixas num ensaio, sabendo o que cada uma pede ao agente e quando fazer /clear + /prime.
01 · As faixas sobre o ponto de compactação
A porcentagem é sobre o ponto em que o Claude Code compacta por tamanho, não sobre a janela inteira.
Nas medições de 07 a 15/10/2026, nenhuma sessão compactou por tamanho: as 93 compactações foram por ociosidade (aula 4).
Hook-longrun 1.9.6 (18/10/2026). As faixas mudam com LONGRUN_FAIXAS="50,70,85". O aviso chega uma chamada de ferramenta depois, porque a transcrição é gravada com atraso.
02 · Compactar, gravar handoff ou abrir sessão nova
O que cada caminho guarda, medido em 15/10/2026 (17 compactações com handoff da mesma sessão nas 3 h antes).
1. Compactação
O resumo cita de 20 a 54 arquivos e preserva passos e comandos recentes. Dentro da mesma sessão, guarda mais detalhe concreto que o handoff.
Mas não separa o confirmado do palpite, mistura as decisões na narrativa e não sobrevive a /clear.
2. Handoff
Cita de 1 a 27 arquivos, mas marca o que foi provado, guarda as decisões e a próxima ação numa seção própria.
É o único que serve para outra sessão, outro dia ou o Codex. Os dois juntos são melhores que qualquer um sozinho.
Erro a evitarGravar o handoff a partir do resumo da compactação: vira cópia de cópia.
3. /clear + /prime
A sessão nova redescobre: 80% dos primeiros 25 passos foram leituras, contra 51–59% depois de compactar.
Por isso a sessão nova vem na faixa 3 ou na 3ª compactação, ao fim da unidade em curso, e não cedo.
4. Gastar menos contexto
Metade de um JSONL de 1,84 GB medido em 01/10/2026 era saída de ferramenta. Grave log em arquivo e leia o trecho (tail -50).
Subagente gasta o contexto dele e devolve só o resumo; a Anthropic cita retornos de 1.000 a 2.000 tokens. Como usar subagentes é assunto do curso 3.
03 · Ligar o hook e ensaiar as faixas
O ensaio escreve uma transcrição falsa com o número de tokens que você quiser e chama o hook como o Claude Code chamaria.
~/.claude/settings.json · trecho "hooks" (junte aos seus)
$ bash ensaio-hook.sh 500000
{"hookSpecificOutput": {"hookEventName": "PostToolUse", "additionalContext":
"Contexto em 52% do ponto de compactação (500 mil de 967 mil tokens). FAIXA 1 de 3:
antes de seguir, acrescente em longrun/2026-10-19-teste/canal.md o que você precisaria
se o histórico sumisse agora (…) Só acrescentar. Depois continue o trabalho normalmente."}}
$ bash ensaio-hook.sh 500000
$ bash ensaio-hook.sh 700000
{… "Contexto em 72% do ponto de compactação (700 mil de 967 mil tokens). FAIXA 2 de 3:
atualize state.md, progress.md e (…) canal.md; termine a unidade de trabalho atual e
grave o handoff agora (…)"},
"systemMessage": "Execução longa em 72% do ponto de compactação: hora de /compact
(o agente foi avisado)."}
$ bash ensaio-hook.sh 830000
{… "Contexto em 86% do ponto de compactação (830 mil de 967 mil tokens). FAIXA 3 de 3:
não abra trabalho novo. (…) /session-handoff, sessão nova e /prime (…) ao fim da
unidade em curso, sem largá-la no meio. (…)"},
"systemMessage": "Execução longa em 86% do ponto de compactação: hora de
/session-handoff + sessão nova + /prime."}
Quebras de linha e (…) acrescentados para caber na tela; o texto é o do hook-longrun 1.9.6. O additionalContext vai para o agente; o systemMessage aparece para você.
Não há hook de compactação nem contador. Acompanhe a porcentagem em /status; quem segue as faixas é a regra do AGENTS.md (aula 1) e você.
Medido no kit: o Codex compacta perto de 90–93% da janela, por volta de 230–240 mil de 258 mil, tarde para a qualidade do resumo. Faça o /compact manual antes.
Com modelo da OpenAI a compactação automática roda no servidor e ignora o compact_prompt; o prompt estruturado em ~/.codex/config.toml só vale no /compact manual.
04 · Prática
O primeiro exercício mexe no seu settings.json: faça um backup antes.
E6 · Hook ligado nos cinco eventos
15 min
Copie o settings.json para settings.json.bak e junte o trecho de hooks aos que você já tem (não apague os seus). Abra uma sessão nova do Claude Code para carregar.
Pronto quando:python3 -c "import json,os;h=json.load(open(os.path.expanduser('~/.claude/settings.json')))['hooks'];print(sorted(e for e,l in h.items() if 'hook-longrun' in json.dumps(l)))" → ['PostToolUse', 'PreCompact', 'SessionStart', 'Stop', 'UserPromptSubmit'].
E7 · As três faixas no ensaio
10 min
Salve o ensaio-hook.sh e rode a sequência das três faixas. Depois apague /tmp/ensaio-hook e rode LONGRUN_TETO=600000 bash ensaio-hook.sh 500000.
Pronto quando: aparecem, nesta ordem, FAIXA 1 de 3, nada, FAIXA 2 de 3 e FAIXA 3 de 3; com LONGRUN_TETO=600000, 500 mil já cai na FAIXA 2 de 3 (83% de 600 mil).
05 · Teste da aula
Pergunta 1 de 4
Num modelo de 1M, em quantos tokens o hook avisa a faixa 2 por padrão?competência
Correto
A conta é sobre o ponto de compactação por tamanho (~967 mil), não sobre a janela. As faixas 112/157/191 mil eram do hook 1.2.x, que usava o teto errado de 225 mil e disparava no meio do trabalho.
Não é essa
A conta é sobre o ponto de compactação por tamanho (~967 mil), não sobre a janela. As faixas 112/157/191 mil eram do hook 1.2.x, que usava o teto errado de 225 mil e disparava no meio do trabalho.Rever: As faixas sobre o ponto de compactação
Pergunta 2 de 4
A faixa 3 disparou no meio de uma refatoração. O que o agente deve fazer?competência
Correto
Desde o 1.4.1 a faixa 3 e a 3ª compactação não mandam largar no meio: a sessão nova custa mais leitura (80% dos primeiros 25 passos), então ela vem ao fim da unidade.
Não é essa
Desde o 1.4.1 a faixa 3 e a 3ª compactação não mandam largar no meio: a sessão nova custa mais leitura (80% dos primeiros 25 passos), então ela vem ao fim da unidade.Rever: As faixas sobre o ponto de compactação
Pergunta 3 de 4
Dentro da mesma sessão, o que guarda mais detalhe concreto (arquivos, passos)?
Correto
Medido em 15/10: o resumo cita 20–54 arquivos; o handoff, 1–27. O handoff ganha em separar provado de palpite, nas decisões e em sobreviver a /clear. Por isso os dois juntos.
Não é essa
Medido em 15/10: o resumo cita 20–54 arquivos; o handoff, 1–27. O handoff ganha em separar provado de palpite, nas decisões e em sobreviver a /clear. Por isso os dois juntos.Rever: Compactar, gravar handoff ou abrir sessão nova
Pergunta 4 de 4
Você usa o Codex. Como segue as faixas?
Correto
O Codex não tem hook de compactação nem contador. A regra escrita e você fazem o papel do hook; e a compactação automática dele ignora o compact_prompt com modelo da OpenAI.
Não é essa
O Codex não tem hook de compactação nem contador. A regra escrita e você fazem o papel do hook; e a compactação automática dele ignora o compact_prompt com modelo da OpenAI.Rever: Ligar o hook e ensaiar as faixas
Teste concluído
Você acertou {a} de {n}. Acertando todas, a aula é marcada como concluída.
Escolha uma alternativa. A explicação aparece depois da sua tentativa.
06 · Em três frases
Sobre o ponto certoAs faixas são 50/70/85% de ~967 mil: canal, depois estado + handoff + /compact, depois nada novo e sessão nova ao fim.
Os dois juntosA compactação guarda mais detalhe; o handoff guarda o provado, as decisões e sobrevive a /clear.
Ensaie antesCom uma transcrição falsa você vê cada aviso do hook sem gastar um token.