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.