Claude Code: o que significa cada nível de Esforço de Thinking
Como cada nível mapeia para budget_tokens e como o LiteLLM traduz isso para a Zhipu ou DeepSeek.
Se você olhar a lista de configurações do Claude Code (rodando o comando /config), verá uma opção chamada Effort (Esforço) ou Thinking Budget. Você tem opções como Low, Medium, High ou Max.
Mas o que isso realmente significa na prática, e como isso impacta a sua cota e o tempo de resposta, especialmente quando você está usando uma API que não é da Anthropic (via LiteLLM)?
A Anatomia do Esforço (Thinking)
O modo “Thinking” (Raciocínio) permite que o modelo gere “tokens de pensamento invisíveis” antes de te dar a resposta final. Ele resolve o problema passo a passo mentalmente.
Quando você seleciona uma opção no Claude Code, a CLI converte isso em um número bruto de budget_tokens que ela manda para a API.
A tabela de correspondência geralmente se traduz assim na API da Anthropic:
| Nível (Claude CLI) | Tokens de Pensamento (budget_tokens) |
Uso recomendado |
|---|---|---|
| Low / Nenhum | 0 a 1.024 | Refatorações simples, tirar dúvidas rápidas, alterar cores. |
| Medium | 2.048 a 4.096 | Criar funções novas, analisar erros de log simples. |
| High | 8.192 a 16.384 | Desenvolver componentes complexos do zero, reescrever arquitetura. |
| Max | 32.000+ | Projetos inteiros, debugging profundo de sistemas complexos. |
O Paradoxo da Tradução: Zhipu e LiteLLM
O problema ocorre quando usamos o LiteLLM. O Claude Code manda uma requisição com "thinking": {"budget_tokens": 8192}.
Se o destino final for a Zhipu AI (GLM-5), a Zhipu não aceita a sintaxe da Anthropic. O que o LiteLLM faz?
No nosso config.yaml, configuramos o LiteLLM com a opção:
drop_params: true
Isso faz com que o LiteLLM apague silenciosamente o bloco thinking para não quebrar a chamada de rede para a Zhipu.
“Espera, quer dizer que o modo Thinking não funciona com a Zhipu?”
Sim e Não.
A Zhipu possui modelos de raciocínio (como o GLM-4-Plus ou futuras versões), mas a forma de acionar o raciocínio profundo nesses modelos geralmente é controlada diretamente pelo nome do modelo que você aponta, ou pelo uso do temperature e de outros parâmetros específicos da Zhipu, não pelo parâmetro budget_tokens da Anthropic.
Ou seja: no Claude CLI, você pode colocar “Max Effort”, mas se o LiteLLM está descartando esse parâmetro para enviar para a Zhipu, o seu LLM final não vai “pensar mais” porque você escolheu Max. Ele vai responder da mesma forma que responderia no Low.
E se eu usar DeepSeek V4 Pro?
Aqui a história muda! O DeepSeek API suporta nativamente o conceito de Thinking Mode semelhante à Anthropic.
Se você apontar o LiteLLM para o DeepSeek, o LiteLLM sabe fazer a tradução correta do budget_tokens do formato Anthropic para o parâmetro equivalente esperado pela API da DeepSeek.
Neste caso, escolher “High” no Claude Code realmente faz o DeepSeek V4 Pro pensar por mais de 8 mil tokens antes de começar a gerar o código.
A Regra de Ouro
Se você está usando Zhipu GLM via proxy com parâmetros ignorados: Mantenha o Effort no Claude Code baixo ou ignore a configuração, pois o modelo fará o esforço padrão inerente a ele. Deixe o “trabalho sujo” para as versões mais parrudas do GLM apontando o modelo corretamente no YAML.
Se você está usando DeepSeek via proxy: O parâmetro de Effort afeta diretamente o custo. Um esforço “Max” consumirá sua cota diária do DeepSeek drasticamente rápido. Use o High para tarefas complexas e Medium para o dia a dia.