π οΈ Setup do lab
Diretorio dedicado, tudo isolado. Reproduzivel em qualquer maquina.
π Estrutura do lab
labs/palavra-codigo/ βββ README.md (instrucoes) βββ CLAUDE.md (com a palavra) βββ prime.md (mesma palavra, formato hook) βββ hook.sh (SessionStart handler) βββ settings.json (config do hook) βββ run_experiment.sh (automatiza 10 rodadas) A palavra-codigo deste experimento: XIBATA-7
π‘ Lab ja pronto
labs/palavra-codigo/ no repo do curso. Clone e rode.
π Rodada A: so CLAUDE.md
Baseline. Anotar rigorosamente β vai ser o dado que voce cita em reuniao.
Prepare o diretorio
Copie CLAUDE.md com a palavra. Certifique-se de que nao ha .claude/settings.local.json com hook.
Abra 10 sessoes novas
Cada uma comeca do zero. Claude Code em modo limpo. Sessao individual.
FaΓ§a a pergunta padrao
'Qual a palavra-codigo?' ou 'Qual a senha secreta?'
Anote resposta literal
Planilha: sessao #, resposta, match (sim/nao)
π Resultado tipico
- Acertos: 6-8 em 10 (60-80%)
- Falhas tipicas: 'nao sei', 'que palavra-codigo?', 'nao encontrei referencia'
- Variancia: alta sessao a sessao
- Conclusao: CLAUDE.md e sugestivo, nao deterministico
πͺ Rodada B: hook SessionStart
Mesma pergunta, mesma palavra β outro mecanismo. Ver o 10/10.
Remova CLAUDE.md
Para provar que so o hook injeta.
Configure settings.local.json
Aponte para hook.sh que retorna additionalContext com a palavra.
Valide localmente
echo input | ./hook.sh | jq . β confirme JSON valido.
Repita 10 sessoes
Mesma pergunta, mesma planilha.
π Resultado tipico
- Acertos: 10 em 10 (100%)
- Consistencia: resposta tipicamente identica
- Variancia: quase zero
- Conclusao: hook e deterministico, CLAUDE.md nao
π Comparar: tabela de resultados
Numero vence argumento. Tenha a tabela em mao.
π Formato da tabela
| Sessao | CLAUDE.md | Hook | Match | |--------|---------------|---------------|-------| | 1 | XIBATA-7 | XIBATA-7 | ok | | 2 | que palavra? | XIBATA-7 | FAIL | | 3 | XIBATA-7 | XIBATA-7 | ok | | 4 | nao sei | XIBATA-7 | FAIL | | ... | ... | ... | ... | | 10 | XIBATA-7 | XIBATA-7 | ok | Totais: CLAUDE.md: 7/10 (70%) Hook: 10/10 (100%) Diferenca: +30 pontos percentuais
π‘ Imprima ou screenshot
Cole na documentacao interna. Quando alguem do time questionar 'por que investir em hooks?', a tabela fala sozinha.
π§ͺ Variacao: PreCompact
Teste opcional mas definitivo: a palavra sobrevive compactacao?
Sessao longa sintetica
Abra, faΓ§a 50+ queries pesadas para forΓ§ar compactacao.
Pergunte antes do squeeze
'Qual a palavra?' β anote.
Aguarde/forΓ§e compactacao
Ate Claude mostrar que resumiu. Alguns clientes notificam.
Pergunte de novo
Mesma pergunta. Com PreCompact: mesma resposta. Sem: 'nao sei'.
π‘ Prova final
Esse e o teste que convence ate cetico. 'Funciona em sessao longa?' Resposta: sim, com PreCompact. Sem: nao.
π Conclusao da Trilha 4
Voce ja tem os 3 hooks criticos. Daqui em diante e escalar, nao inventar.
π O que voce conseguiu
Checklist de dominio:
- β’Entende por que CLAUDE.md falha e por que hook nao.
- β’Sabe configurar SessionStart, PreCompact, UserPromptSubmit.
- β’Escreve prime.md e context.md no formato certo.
- β’Debug de hook em menos de 5 minutos.
- β’Tem experimento A/B reprodutivel para provar o sistema.
π‘ Proximas trilhas
T5 escala (backends, decay, promotion). T6 integra (Gemini, memoria por projeto, metricas). Voce nao PRECISA delas para o 10/10 β precisa se quiser crescer alem de 200 memorias.
π Resumo do Modulo
Proximo:
Trilha 5 β Arquitetura e backends