Descubra em que modelo e em que esforço cada parte do seu projeto no Claude Code roda, veja o que está caro sem precisar e meça antes de trocar.

O esforço certo é um kit gratuito para quem usa o Claude Code em projetos e robôs. Ele lê as configurações, os agentes e os scripts do seu projeto e mostra em que modelo (Fable, Opus, Sonnet, Haiku) e em que esforço cada coisa roda — esforço é quanto o modelo pensa antes de responder, numa escala de cinco níveis: low < medium < high < xhigh < max. Ele aponta o que está caro sem precisar, traz uma regra pronta para colar no seu CLAUDE.md e um teste que roda o mesmo trabalho em dois esforços, pela sua assinatura, para você comparar. Precisa de Python 3 e, para o teste, do Claude Code; a auditoria não usa internet nem API.
A própria Anthropic, no lançamento do Fable 5.2 (09/11/2026), recomenda começar no Opus 5.5 e subir para o Fable só no trabalho mais difícil. O kit transforma esse conselho em algo que você aplica e confere.
auditar.py varre settings, agentes, skills, scripts, timers e código que chama a API, e lista quem fixa modelo e esforço. Alerta para Max fixo, Xhigh como padrão e Fable como padrão.
politica/CLAUDE-esforco.md é o bloco para colar no CLAUDE.md. Em agentes/ vêm três agentes prontos: dia a dia (Opus, medium), trabalho longo (Fable, high) e mecânico (Haiku, low).
ab.sh roda o mesmo pedido em duas ou mais combinações de modelo e esforço e monta um quadro com tempo, tokens, custo equivalente, o modelo que rodou de verdade e se o seu teste passou.
FrontierCode 2.0 mede se quem mantém projetos abertos aceitaria o código do modelo. Valores lidos no gráfico de custo por tarefa da página da Anthropic (testes da própria empresa).
45,3% por ~US$ 7 a tarefa. Empata com o melhor do Opus 5.5 por cerca de metade do custo.
45,5% por ~US$ 13 a tarefa: a melhor nota do Opus, no esforço mais alto. (No dia a dia, a Anthropic recomenda o Opus; a regra do kit usa medium.)
49,1% por ~US$ 15. A maior nota entre os modelos lançados que a Anthropic testou.
~45,7% por ~US$ 45: menos que o xhigh, cerca de 3× o custo. Por isso o Max não é padrão.
Dois cuidados. No esforço medium, o Fable fica uns 3 pontos acima do Opus pelo mesmo custo; e em outro teste (desenho de hardware) o melhor resultado veio no Max. A regra não é "nunca Max", é "Max só com medida". E toda a tabela de notas é no esforço mais alto disponível, enquanto o Claude Code vem no medium: o placar não é o que você roda.
Nada muda sozinho: o kit lê e sugere; quem troca o modelo ou o esforço é você.
Linux, macOS ou WSL. A auditoria funciona sozinha; o teste A/B usa o Claude Code logado na sua assinatura.
Para o auditar.py (só biblioteca padrão).
# conferir python3 --version
Para o ab.sh: o comando claude no PATH e logado na assinatura.
# conferir claude --version
Para baixar o kit e para o modo --editar do teste (uma cópia do projeto por combinação).
# conferir git --version
Troque ~/meu-projeto pela pasta do seu projeto.
Um repositório pequeno: dois scripts, a regra, três agentes e o plano dos resets do Fable (o que é reset: passo 8).
git clone \ https://github.com/inematds/esforco-certo.git cd esforco-certo
Primeiro, um teste sem risco no projeto de exemplo que vem no kit (dá 8 alertas de propósito). Depois, o seu projeto: a lista mostra cada lugar que fixa modelo ou esforço, com arquivo e linha. --home inclui o seu ~/.claude (settings, agentes e skills globais) e os timers do systemd do usuário.
python3 auditar.py tests/fixture # exemplo do kit python3 auditar.py ~/meu-projeto \ --home # o seu projeto python3 auditar.py ~/meu-projeto \ --json > aud.json # para outro script ler
MAX: esforço max fixo — troque por high (ou xhigh, se medir ganho). PADRAO_ALTO: xhigh como padrão global ou de um modelo — todo pedido paga o topo. FABLE_PADRAO: Fable como modelo padrão — gasta o limite mais rápido. As dicas mostram robôs com claude -p sem --model (herdam o padrão da conta); dica não é alerta e não faz o --estrito falhar.
# onde mudar o padrão do Claude Code (exemplo) # só nesta sessão: claude --model opus --effort medium # ou no .claude/settings.json: "model": "opus", "effortLevel": "medium"
Opus medium no dia a dia, Fable high no trabalho longo, xhigh só medido, Max nunca como padrão, robôs sempre com --model e --effort.
cat politica/CLAUDE-esforco.md \
>> ~/meu-projeto/CLAUDE.md
O Claude Code escolhe o agente pela descrição; cada um já traz o modelo e o esforço no cabeçalho.
mkdir -p ~/meu-projeto/.claude/agents cp agentes/*.md ~/meu-projeto/.claude/agents/ # guarde a regra e os agentes num commit (o passo 6 usa o último commit) cd ~/meu-projeto && git add CLAUDE.md .claude/agents \ && git commit -m "modelo e esforço: regra e agentes" cd -
Sem -c, roda três combinações: opus:high, fable:medium e fable:high (duas com Fable, que gasta o limite mais rápido). Sem --editar, cada rodada só lê o projeto. Com --editar, cada combinação trabalha numa cópia própria do último commit (git worktree) — por isso o projeto precisa estar sem mudanças pendentes — e o --checar roda o seu teste dentro de cada cópia. A cópia vem sem pastas fora do git (node_modules, .venv): instale as dependências no próprio --checar. O quadro mostra tempo, tokens, o modelo que rodou de verdade e o custo equivalente — o preço pela tabela da API; na assinatura você paga em limite, não em dólar. Comece com uma tarefa pequena e real.
./ab.sh "Revise src/ e liste os 5 riscos mais graves" \ --dir ~/meu-projeto ./ab.sh "Corrija o teste quebrado em tests/" \ --dir ~/meu-projeto --editar \ --checar "npm ci && npm test" \ -c opus:high -c fable:high # resultado: ~/meu-projeto/.ab/resultado-<data>/RESULTADO.md # (ponha .ab/ no .gitignore do projeto)
Com --estrito, o auditor sai com código 1 se houver alerta, e o passo do CI falha. Assim ninguém deixa Max ou Fable como padrão sem querer. Copie o auditar.py (um arquivo só, sem dependências) para o seu projeto e chame no CI a partir da raiz do projeto; ele não audita a si mesmo. Funciona em Linux e macOS (no macOS, o ab.sh usa o gtimeout do brew install coreutils, se houver).
mkdir -p ~/meu-projeto/tools cp auditar.py ~/meu-projeto/tools/ # no CI do projeto (ex.: um passo do GitHub Actions): python3 tools/auditar.py . --estrito
Na promoção de lançamento, que vale até 16/11/2026, quem assina ganhou de 1 a 3 resets do Fable: cada reset zera o contador de uso do Fable para você continuar usando na mesma semana. No Pro e no Team padrão, o uso do Fable pode ocupar até metade do limite semanal do plano. O resets.md é o roteiro: escolher um trabalho longo, preparar no Opus, rodar no Fable high, fechar no Opus. Depois de 16/11, o mesmo roteiro serve para qualquer trabalho longo no Fable.
less resets.md claude --model fable --effort high # na sessão do trabalho longo
Depende de quem vai rodar. Pedir na conversa não muda o esforço da sessão em que você está falando; muda o esforço do trabalho que você manda delegar.
Escrever "use esforço alto" na conversa não muda nada: o modelo não troca o próprio esforço. Use o comando /effort (ou /model para trocar o modelo), ou abra a sessão já com o esforço.
/effort high # ou, ao abrir a sessão: claude --model opus --effort high
No trabalho delegado, pedir na conversa funciona. O Claude passa o modelo e o esforço para o subagente, e só fixa o esforço quando você pede explicitamente; sem pedido, vale o padrão do agente.
"faz a revisão com um subagente Opus em esforço alto" "roda essa busca no Haiku, esforço baixo"
Escrito no CLAUDE.md, vale como pedido explícito em toda sessão, sem precisar repetir. Agentes com model: e effort: no cabeçalho, como os três do kit, já nascem com o esforço certo.
# no CLAUDE.md
- revisões: Opus em high
- tarefas mecânicas: Haiku em lowNo claude -p, o esforço vem só pela opção --effort. Sem ela, o robô herda o padrão da conta, e o auditar.py avisa.
claude -p --model opus --effort medium \ "resuma o log de hoje"
Rodado em 09/11/2026: o projeto de exemplo do kit, uma máquina de produção do INEMA e o próprio teste A/B. O último cartão mostra um dos agentes prontos.
tests/fixture)# cd tests/fixture && python3 ../../auditar.py .
17 lugares fixam modelo ou esforço · 8 alertas · 3 dicas
Modelos: fable 6 · opus 5 · herda 2 · codex 2 · variavel 1 · haiku 1
- MAX ./scripts/api.py:4
- MAX ./scripts/rodar.sh:3
- FABLE_PADRAO ./.claude/settings.json:2
- PADRAO_ALTO ./.claude/settings.json:3
… e mais 4 alertas
Relatório completo em exemplos/auditoria-exemplo.md.
38 lugares fixam modelo ou esforço · 3 alertas - FABLE_PADRAO ~/.claude/settings.json (modelo padrão = fable) - PADRAO_ALTO ~/.claude/settings.json (Opus 5.5 em xhigh por padrão) - PADRAO_ALTO ~/.claude/settings.json (Fable 5.1 em xhigh por padrão)
Exatamente o que a página da Anthropic manda evitar: o topo como padrão. 13 robôs recebem o modelo por variável, lida de um arquivo central de modelos (bom: troca num lugar só).
| haiku-low | ok (claude-haiku-5-5) | 12 s | 434 tokens | | sonnet-low | ok (claude-sonnet-5-5) | 16 s | 539 tokens |
Na primeira versão o teste só-leitura usava o modo plan, e nele o Claude Code trocou o Haiku pelo Sonnet sem avisar. Por isso o ab.sh mostra o modelo usado e marca "⚠ pediu X, rodou Y" quando eles diferem.
--- name: trabalho-longo model: fable effort: high ---
Antes de mexer, ele escreve objetivo, critério de pronto e o que não fazer; testa cada etapa; e não sobe para max por conta própria.
O kit é pequeno de propósito. As próximas ideias só entram se ajudarem a decidir melhor.