MÓDULO 2.5

🧠 Adaptive Thinking (Migração)

Extended thinking deprecated. Como migrar budget_tokens para adaptive e combinar com effort.

7
Tópicos
40
Minutos
Inter.
Nível
Migração
Tipo
DIAL TRAVADO × KNOB ANALÓGICO DEPRECATED budget_tokens: 8000 dial travado — número fixo 4.7 — ADAPTIVE knob analógico — decide por passo
1

🪦 Extended thinking deprecated

O mecanismo com budget fixo foi aposentado. Não é mais suportado no 4.7 — código antigo falha ou ignora silenciosamente.

⚠️ Importante

Passar {type: "enabled", budget_tokens: N} pode dar erro em alguns SDKs ou simplesmente ser ignorado. Grep seu codebase por budget_tokens antes de fazer upgrade de modelo.

2

🔁 budget_tokens → adaptive

Substituição direta — uma linha.

✗ Antes (4.6)

thinking={
  "type": "enabled",
  "budget_tokens": 8000
}

✓ Depois (4.7)

thinking={
  "type": "adaptive"
}
3

🎯 Effort + adaptive

A combinação substitui budget integralmente. Effort controla intensidade. Adaptive controla alocação passo a passo.

response = client.messages.create(
  model="claude-opus-4-7",
  thinking={"type": "adaptive"},
  output_config={"effort": "xhigh"},
  max_tokens=64000,
  messages=[...],
)

💡 Não tente isso

Usar max_tokens ou stop_sequences para "simular budget" é anti-pattern — corta raciocínio no meio e piora qualidade.

4

📊 Como o modelo decide passo a passo

Adaptive aloca thinking por tool-call, por passo, por complexidade detectada.

SituaçãoThinking alocado
Tool call com parâmetros clarosMínimo
Escolher entre 3 abordagensMédio
Debug de erro ambíguoAlto
Decisão de arquiteturaMáximo local
5

🔍 Output config e effort

O campo effort vai dentro de output_config. Valores: low | medium | high | xhigh | max.

# Explícito:
output_config={"effort": "high"}

# Default do modelo (xhigh):
output_config={}   # ou omitir

# Forçar null reverte para o default da conta:
output_config={"effort": None}
6

🧪 Experimento controlado — 3 execuções

Mesmo prompt, 3 configurações. Observe variações de thinking tokens.

ConfiguraçãoResultado esperado
budget_tokens=8000Erro ou ignore silencioso
adaptive sem effortDefault xhigh, thinking varia
adaptive + effort=mediumThinking reduzido mas ainda adaptativo

💡 Insight

Thinking tokens variam entre execuções idênticas — é esperado. A consistência vem do effort, não do budget.

7

📋 Checklist de migração

  1. 1.grep -rn "budget_tokens" no repo inteiro
  2. 2.Trocar por {"type": "adaptive"} em todos call-sites
  3. 3.Adicionar output_config.effort onde fazia sentido (xhigh default)
  4. 4.Subir max_tokens para 64000
  5. 5.Rodar suite de testes com modelo 4.7 — comparar métricas
  6. 6.PR único de "migração thinking" antes de outras mudanças

📋 Resumo

budget_tokens — morto, migre agora
adaptive + effort — a combinação nova
Thinking varia — é o comportamento correto
Checklist de 6 passos — PR único primeiro

Próximo Módulo:

2.6 — Biblioteca de Frases-Gatilho