DEV Community

Alair Joao Tavares
Alair Joao Tavares

Posted on • Originally published at activi.dev

Como Tornar o Claude Code Mais Inteligente

O Problema: Quando o Modelo Decide Não Pensar

O Adaptive Thinking funciona assim: antes de cada resposta, o modelo avalia a complexidade percebida da sua requisição e aloca tokens de raciocínio proporcionalmente. Tarefa simples? Poucos tokens. Tarefa complexa? Mais tokens.

O problema é que essa avaliação falha com frequência preocupante. Boris Cherny, do time do Claude Code na Anthropic, confirmou publicamente no Hacker News que em certos turnos o modo adaptativo alocava zero tokens de raciocínio — o modelo literalmente decidia não pensar antes de responder.

O resultado era previsível: fabricações confiantes. SHAs de commits que não existiam, versões de API inventadas, pacotes que nunca foram publicados — tudo entregue com a mesma assertividade de uma resposta correta. E o padrão era claro: os turnos com raciocínio profundo acertavam; os turnos com zero raciocínio fabricavam.

Esse cenário piorou em março de 2026, quando o nível de esforço padrão caiu de high para medium. Com menos esforço e raciocínio adaptativo, o modelo passou a economizar em duas frentes ao mesmo tempo — e a qualidade despencou para quem trabalhava em projetos complexos.


A Solução: Forçar um Orçamento Fixo de Raciocínio

Quando você define CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1, o Claude Code para de deixar o modelo escolher quanto pensar. Em vez disso, ele utiliza um orçamento fixo de tokens de raciocínio em todos os turnos, controlado pela variável MAX_THINKING_TOKENS.

Na prática, isso significa que mesmo quando o modelo acha que a tarefa é simples, ele ainda é obrigado a pensar antes de responder. Aquele bug "trivial" que na verdade envolve uma race condition em três microsserviços? O modelo vai analisar em vez de chutar.

Mas a flag sozinha resolve apenas metade do problema. Para máximo impacto, combine-a com o nível de esforço:

export CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1
export CLAUDE_CODE_EFFORT_LEVEL=high
Enter fullscreen mode Exit fullscreen mode

Com essas duas configurações ativas, o Claude Code mantém o nível máximo de raciocínio em todos os turnos, sem nunca decidir autonomamente "economizar" tokens. O modelo pensa com profundidade constante, indiscriminadamente.


O Que Muda na Prática

A diferença é perceptível já nas primeiras interações:

Debugging complexo. Em vez de sugerir "tente adicionar um print aqui", o modelo analisa o fluxo inteiro, identifica dependências entre módulos e aponta a causa raiz — mesmo quando ela está a três camadas de abstração do sintoma.

Refatoração multi-arquivo. O modelo mantém o contexto entre arquivos e propõe mudanças coerentes em vez de editar cada arquivo isoladamente, introduzindo inconsistências.

Decisões de arquitetura. Ao perguntar "qual padrão usar aqui?", o modelo pondera trade-offs reais em vez de entregar a resposta genérica mais provável.

Menos alucinações. Sem a possibilidade de pular o raciocínio, o modelo verifica nomes de pacotes, versões de API e identificadores antes de afirmá-los — reduzindo drasticamente as fabricações que corroem a confiança.


Configuração Completa

Linux e macOS (Bash/Zsh)

Para aplicar apenas à execução atual:

CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 CLAUDE_CODE_EFFORT_LEVEL=high claude
Enter fullscreen mode Exit fullscreen mode

Para tornar persistente, adicione ao seu ~/.bashrc ou ~/.zshrc:

export CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1
export CLAUDE_CODE_EFFORT_LEVEL=high
Enter fullscreen mode Exit fullscreen mode

Windows (PowerShell)

Para a sessão atual:

$env:CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING = "1"
$env:CLAUDE_CODE_EFFORT_LEVEL = "high"
claude
Enter fullscreen mode Exit fullscreen mode

Para tornar persistente, adicione ao seu perfil ($PROFILE):

$env:CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING = "1"
$env:CLAUDE_CODE_EFFORT_LEVEL = "high"
Enter fullscreen mode Exit fullscreen mode

Via settings.json do Claude Code

Se preferir manter a configuração dentro do ecossistema do Claude Code:

{
  "env": {
    "CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING": "1"
  }
}
Enter fullscreen mode Exit fullscreen mode

O nível de esforço também pode ser definido com o comando /effort high dentro da sessão ou configurado no mesmo arquivo de settings.


Quando Usar (e Quando Não Usar)

Essa configuração consome mais tokens em todas as respostas — é o preço da profundidade. Por isso vale calibrar por tipo de tarefa:

Use DISABLE_ADAPTIVE_THINKING=1 + effort high/max quando:

  • Estiver debugando bugs complexos em codebases grandes
  • Fizer refatoração ou migração multi-arquivo
  • Precisar de decisões arquiteturais fundamentadas
  • Trabalhar com APIs desconhecidas ou pouco documentadas
  • Orquestrar múltiplos agentes em tarefas críticas

Mantenha o adaptive thinking ativado quando:

  • Fizer tarefas simples: commits, leitura de código, perguntas rápidas
  • Usar sub-agentes para operações triviais
  • A latência for mais importante que a profundidade

Uma abordagem prática é criar um alias no seu shell:

alias claude-deep="CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 CLAUDE_CODE_EFFORT_LEVEL=max claude"
Enter fullscreen mode Exit fullscreen mode

Assim você mantém o claude padrão para tarefas leves e invoca claude-deep quando precisa de raciocínio máximo.


Conclusão

O Claude Code com Opus 4.6 é extraordinariamente capaz — mas sua configuração padrão prioriza eficiência sobre profundidade. Para quem trabalha em projetos complexos, isso significa conviver com respostas rasas e fabricações evitáveis.

CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 não é um hack obscuro. É um workaround reconhecido oficialmente pela equipe do Claude Code enquanto investigam a subalocação de raciocínio no modo adaptativo. Combinada com effort=high, essa configuração transforma o Claude Code de um assistente apressado em um engenheiro que pensa antes de falar.

O controle está nas suas mãos. Use-o.

Tags: claude-code · anthropic · cli · produtividade · extended-thinking

Top comments (0)