🔧 Tool Use no 4.7
Por que o 4.7 chama menos tools, como forçar busca agressiva e calibrar Read/Grep/Glob.
O 4.7 prefere raciocinar com o contexto que já tem em vez de disparar Read/Grep. Dispara menos tools que o 4.6.
Menos tool calls = menos latência e mais coerência. Mas pode "parecer preguiçoso" em código legado.
Se precisa de varredura ampla, peça explicitamente — não espere que aconteça.
Effort mais alto aumenta tolerância a tool calls exploratórias. Low reduz drasticamente.
Calibrar effort é uma das duas alavancas principais para regular tool use.
Para busca ampla: xhigh. Para diff cirúrgico com arquivos conhecidos: low.
Prompt instruindo o modelo a preferir evidência do código a especulação.
Codebase legado desconhecido exige leitura prévia — não confie em memória.
"Use Read/Grep liberally. Never guess — verify."
Snippet que instrui preferência por ferramentas de leitura antes de concluir.
Evita alucinação de APIs e reduz retrabalho por baseline errada.
Bloco <investigate_before_answering> como padrão.
Trio de leitura: Glob acha por nome, Grep acha por conteúdo, Read abre o arquivo.
Saber qual pedir evita varredura ineficiente (ex: `find | xargs grep`).
Glob para estrutura, Grep para conteúdo, Read para detalhe.
Prompts 4.6 com "CRITICAL: use tool X" ainda disparam busca excessiva no 4.7.
Evita custos invisíveis herdados de bibliotecas antigas.
Remover "MUST use" antes de medir volume de tool calls.
Mesmo briefing com e sem prompt de tool use proativo — contar tool calls.
Dados próprios calibram suas escolhas melhor que qualquer benchmark genérico.
Registrar: Read/Grep/Glob count + tokens + tempo humano.
⚡ Fan-out Paralelo
Prompt canônico <use_parallel_tool_calls>, dependências, micro-receitas e medição de wall-clock.
Qualquer ação que não depende do output de outra deve rodar em paralelo no mesmo turno.
Reduz wall-clock 3–5x em fases exploratórias.
Independência de dados é o teste — se o output de A não alimenta B, rodar junto.
Bloco <use_parallel_tool_calls> instruindo o modelo a maximizar concorrência.
Pronto para system prompt ou mensagem inicial.
"Make multiple independent calls in the same batch."
Se B precisa do resultado de A, não é paralelizável. Forçar paralelismo quebra.
Erro clássico: ler arquivo depois aplicar Edit — ambos no mesmo turno quebra.
Cadeia ler→escrever/editar é sempre sequencial.
A/B pessoal: contar turnos e segundos em cada execução.
Torna visível o ganho wall-clock da paralelização.
Mesmo tempo de modelo, menos tempo humano.
"Never use placeholders or guess missing parameters" — parte do prompt canônico.
Paralelismo incentiva pular coleta de dados — isso vira bug.
Se não tem param, o modelo deve perguntar ou ler.
5 patterns: git status+diff+log, Read×N arquivos, Grep×N padrões, build+test+lint, Glob+Grep.
Automatiza decisão — já sabe que essas combinam bem.
Bibliotecas de "sempre paralelos" aceleram cada sessão.
Tempo total da tarefa, não tempo do modelo. Só você vê isso.
Métrica de produtividade real — tokens não capturam isso.
Minutos humanos recuperados é o KPI final.
👥 Subagentes Explícitos
Teste mental de delegação, prompt canônico de controle, fan-out múltiplo, economia de contexto.
"Preciso do output intermediário ou só da conclusão?" — se só conclusão, subagente.
Decisão binária substitui debate sobre "vale a pena".
Subagente = economia de contexto, não paralelismo automático.
"Do not spawn a subagent unless the work is genuinely parallelizable…"
Evita over-use em tarefas que cabem em resposta direta.
Defaults do 4.7 já são conservadores, mas prompt ancora.
Disparar 3 subagentes simultâneos quando cada um é independente.
Reduz tempo humano de supervisão a zero até os 3 voltarem.
Paralelismo real — cada subagente tem seu próprio contexto.
Tarefa de 2 minutos virando subagente de 10 minutos — overhead puro.
Subagente tem custo fixo de setup de contexto.
Heurística: se resposta cabe em 1 turno, não delega.
Subagente lê 50k tokens e retorna resumo de 2k — a janela pai fica limpa.
Preserva context window do pai para decisões de alto nível.
Descobrir, investigar, verificar — todos ótimos para subagente.
Subagente começa do zero — tem que receber escopo, constraints, critério.
Subagente ruim = briefing incompleto. Igual ICCA de humano.
Incluir caminhos exatos, não só "procure em algum lugar".
Exercício: refator dividido em 3 módulos, 3 subagentes simultâneos.
Solidifica mental model através de prática imediata.
Medir antes/depois: turnos humanos e tempo total.
🍳 Receitas de Subagentes
6 receitas prontas: pesquisa legada, verificação, docs, testes pesados, design, security.
Subagente varre código antigo e retorna mapa + entrypoints + riscos.
Evita ler 50+ arquivos no contexto principal.
Output: bulletpoints + caminhos absolutos + snippets curtos.
Subagente lê spec + código e lista gaps de implementação.
Separação de papéis evita self-review enviesado.
Coverage > ranking — lista tudo, filtra depois.
Subagente lê git diff e gera entry de CHANGELOG + rationale.
Libera a janela principal para continuar desenvolvendo.
Focar no "why" da mudança, não no "what".
Subagente roda `pytest -v` e resume falhas em tabela estruturada.
Output de testes é ruidoso — 50k tokens de stdout atrapalham.
Retornar: nome do teste + linha + tipo de erro.
3 subagentes exploram 3 abordagens diferentes em paralelo; pai compara.
Substitui brainstorm sequencial por diversidade real.
Dar constraints diferentes a cada — evita resultados idênticos.
Subagente com system prompt "você é security auditor" + diff recente.
Separar o papel evita viés pró-autor no mesmo contexto.
Report every finding + severity + confidence.
Guardar receitas no editor (VSCode snippets / clipboard manager).
Transforma conhecimento em automação pessoal.
Nomear por caso de uso, não por tecnologia.
🤖 Auto Mode (Claude Code Max)
Shift+Tab, critérios de uso, notificações, interrupção, métricas e caso real de 2h autônomas.
No Claude Code Max, Shift+Tab alterna entre manual approval e auto mode.
Toggle reversível — você pode voltar ao modo manual quando quiser.
Plano Max obrigatório — Pro não tem.
Tarefa bem escopada, repositório pessoal, critério de sucesso testável.
Escolher contextos certos evita descobrir problemas tarde demais.
Testes automatizados = guard-rail que habilita auto mode.
Produção, decisões de design abertas, ambientes compartilhados com CI/CD.
Blast radius pode afetar outros humanos — exige aprovação.
Nunca em branch main compartilhado.
Hook `onStop` em settings.json toca som quando o modelo termina/pausa.
Libera sua atenção — você volta ao terminal só quando precisa.
`afplay`/`paplay`/`say` no hook.
Esc pausa; você injeta correção; Continue retoma.
Saber que pode parar reduz ansiedade de delegar horas.
Contexto preservado — não precisa recomeçar do zero.
Antes: 2h babysitting. Depois: 10 min prompt + 2h autônomo.
Número tangível de horas/semana recuperadas justifica Max.
Meta: 60% do tempo sem você no terminal.
Briefing ICCA + tests.json + auto mode — 2h sem supervisão, 1 PR pronto.
Mostra o padrão completo em um único caso real.
Testes verdes são sinal de término para o modelo.
🛡️ Prompts de Segurança
Ações reversíveis vs. irreversíveis, bloco safety canônico, blast radius e checklists.
`git commit` é reversível. `git push --force` é quase irreversível. `rm -rf` é.
Única classificação que importa para decidir "pedir permissão".
Irreversível → sempre confirmação humana explícita.
rm -rf, force push, drop table, envio de email/PR/deploy, `curl | sh`.
Lista explícita dentro do prompt vira guard-rail.
Adapte à sua stack — não copie cegamente.
"Consider the reversibility of any action before executing…" — incluir completo.
Copy/paste ancora comportamento em todas as sessões.
Vira system prompt padrão de projetos sensíveis.
Pular pre-commit hook para contornar teste que falha.
Hook existe para algo — pular gera bugs em main.
Proibir explicitamente no prompt. "Never use --no-verify."
Arquivo .bak ou .tmp pode ser backup crítico do humano.
Deletar por hábito é o erro mais comum de auto mode.
Mover para `.trash/` e perguntar. Nunca `rm`.
Ações que outros humanos ou serviços verão: PR aberto, email, deploy.
Blast radius sai do seu repo — sempre confirmação humana.
"External side effect" = freio de mão obrigatório.
4 perguntas antes de ação sensível: reversível? quem vê? guard-rail existe? aprovado?
Micro-ritual transforma safety em hábito.
Cole como comentário no início de prompts de auto mode.
🌉 Longo Horizonte e Multi-Context
Scaffold (init.sh, tests.json, progress.txt, spec.md), context awareness prompt e git como state tracker.
`init.sh`, `tests.json`, `progress.txt`, `spec.md` — o estado mínimo para atravessar janelas.
Em vez de carregar contexto na memória do modelo, carregar do disco.
Disco > contexto para tarefas de horas/dias.
Bash que cria estrutura inicial + gitignore + primeiros arquivos de estado.
Rodar uma vez, ter o repo pronto para auto mode de horas.
Idempotente — rodar 2x não quebra.
JSON com lista de testes e seu status (todo/passed/failed).
Estrutura > texto livre. Fácil de patching por todo mundo.
Começa como arquivo, termina como métrica de progresso.
"Your context window will be automatically compacted…" — avisa o modelo.
Saber que vai haver compact muda como o modelo escolhe persistir estado.
Prompt instrui: "salve progresso em arquivo antes de chegar a 150k tokens".
Janela 1: monta scaffold e spec. Seguintes: iteram sobre tests.json.
Separação clara permite /clear total entre janelas.
Spec.md é o briefing permanente, readfile é o contexto.
Cada tentativa de tarefa longa = branch. Commits marcam checkpoints.
Rewind com `git checkout` é mais seguro que rewind de sessão.
Branch nomeada: `attempt/YYYYMMDD-shortdesc`.
Tarefa que obrigatoriamente passa de 200k tokens — força uso de scaffold.
Única forma de solidificar: sentir a compactação e ver o retomar.
Saída com métricas: janelas usadas, compacts, commits, tempo humano.