Habilitando o Pensamento Adaptativo com thinking: {type: 'adaptive'}
O pensamento adaptativo permite que o Claude decida, por solicitação, quanta raciocínio visível uma tarefa realmente precisa, em vez de você adivinhar um orçamento fixo antecipadamente.
O pensamento estendido expõe o raciocínio do Claude como um bloco de conteúdo thinking separado retornado ao lado da resposta final.
O pensamento adaptativo é o modo recomendado para ativar isso, pois delega a decisão de profundidade para o próprio Claude.
Você o habilita com um único parâmetro thinking na chamada messages.create.
Uma vez ativado, sua análise de resposta precisa lidar com dois tipos de blocos de conteúdo em vez de um: thinking e text.
Esta página cobre a configuração exata, um exemplo de trabalho completo e os problemas que surgem com mais frequência quando as equipes o implementam pela primeira vez.
Cartão de receita de referência rápida - pronto para copiar e colar.
import anthropicclient = anthropic.Anthropic()response = client.messages.create( model="claude-sonnet-5", max_tokens=1024, thinking={"type": "adaptive"}, messages=[{"role": "user", "content": "Projete um plano de rollback para um deploy com falha."}],)for block in response.content: print(block.type)
Quando usar isso:
Tarefas de raciocínio de várias etapas: planejamento, depuração, matemática, quebra-cabeças lógicos.
Tarefas onde você deseja que o Claude auto-calibre o esforço em vez de você codificar uma profundidade fixa.
Qualquer carga de trabalho onde você possa querer inspecionar ou registrar o caminho de raciocínio do Claude posteriormente.
Construindo em direção ao ajuste do parâmetro effort, que compõe com thinking.
Migrando de uma configuração de pensamento com orçamento fixo para uma adaptativa mais simples.
O parâmetro thinking aceita um objeto de configuração; {"type": "adaptive"} é o valor que os exemplos deste site usam em todos os lugares.
Com o pensamento adaptativo ativado, o Claude avalia a solicitação de entrada e decide internamente quanta raciocínio produzir antes de responder.
A API retorna o raciocínio como um ou mais blocos de conteúdo thinking em response.content, ordenados antes do bloco text correspondente.
response.content é sempre uma lista, mesmo para uma resposta de bloco único, portanto, o código deve iterar em vez de indexar uma posição fixa.
Claude Fable 5 é executado com pensamento adaptativo sempre ativo por padrão, refletindo que este modo é tratado como o comportamento base para esse modelo, em vez de um extra opt-in.
# Padrão de extração defensiva usado em todos os exemplos desta seção.def split_content(response): thinking, text = None, None for block in response.content: if block.type == "thinking": thinking = block.thinking elif block.type == "text": text = block.text return thinking, text
Trate block.thinking como opcional em todos os caminhos de código. Uma guarda no estilo getattr ou a verificação if block.type == "thinking" mostrada acima evita AttributeError quando um prompt simples pula o raciocínio inteiramente.
Assumir que response.content[0] é sempre a resposta de texto. Com o pensamento adaptativo ativado, o índice 0 pode ser o bloco thinking em vez disso. Correção: itere sobre response.content e alterne com base em block.type em vez de indexar por posição.
Tratar um bloco thinking ausente como um erro. Prompts simples frequentemente não produzem raciocínio visível, isso é o pensamento adaptativo funcionando corretamente, não um bug. Correção: proteja com verificações is not None e registre-o como inesperado apenas se o prompt for genuinamente complexo.
Esquecer que max_tokens precisa cobrir o pensamento mais a resposta. Um valor baixo de max_tokens pode truncar o raciocínio antes que a resposta final seja escrita. Correção: orce max_tokens generosamente para tarefas que você espera que acionem raciocínio profundo e verifique response.stop_reason para "max_tokens".
Confundir thinking com output_config.effort. Ativar o pensamento adaptativo por si só não define um teto de profundidade de raciocínio. Correção: combine thinking={"type": "adaptive"} com um output_config={"effort": ...} explícito quando você precisar controlar o custo, veja a página de ajuste de esforço.
Exibir o raciocínio bruto para usuários finais sem filtro. O bloco thinking pode ser verboso e destina-se à depuração ou divulgação opcional, não como a resposta principal da interface do usuário. Correção: mostre o bloco text por padrão e restrinja qualquer exibição de raciocínio a um controle explícito de "mostrar raciocínio".
Reenviar o bloco thinking de volta como histórico de conversas sem modificação. Alguns fluxos de vários turnos acidentalmente incluem blocos thinking anteriores como se fossem texto normal do assistente, aumentando o uso de tokens. Correção: remova ou resuma blocos thinking anteriores antes de anexá-los à lista messages do próximo turno.
Por que minha resposta não incluiu um bloco de pensamento?
O pensamento adaptativo permite que o Claude decida que o raciocínio é desnecessário para prompts simples.
Uma pergunta factual trivial ou uma consulta curta geralmente produz apenas um bloco text.
Este é o comportamento esperado, não uma má configuração.
O pensamento adaptativo custa mais do que uma solicitação normal?
Pode custar, pois o raciocínio visível consome tokens de saída adicionais quando o Claude decide que uma tarefa precisa disso. Prompts simples adicionam pouca ou nenhuma sobrecarga; complexos podem usar tokens notavelmente mais.
Preciso definir o parâmetro `effort` para usar o pensamento adaptativo?
Não. thinking e effort são configurações independentes. O pensamento adaptativo funciona por conta própria com esforço padrão; adicionar um effort explícito apenas limita o quão profundo esse raciocínio pode ir.
Como leio o texto de raciocínio da resposta?
for block in response.content: if block.type == "thinking": print(block.thinking)
Devo mostrar o bloco de pensamento diretamente aos usuários finais?
Geralmente não. Trate-o como conteúdo de depuração ou divulgação opcional e apresente o bloco text como a resposta principal. Se você mostrar o raciocínio, torne-o um controle explícito de "opt-in".
O pensamento adaptativo está ativado por padrão para todos os modelos?
Não, exceto para Claude Fable 5, que é executado com pensamento adaptativo sempre ativo por padrão. Outros modelos da linha exigem a configuração explícita thinking para ativá-lo.
O pensamento adaptativo pode ser combinado com entrada multimodal?
Sim. Uma solicitação pode incluir um bloco de conteúdo de imagem e thinking={"type": "adaptive"} na mesma chamada; o Claude raciocina sobre o conteúdo da imagem assim como faria com texto.
O que acontece se `max_tokens` for muito baixo para o raciocínio?
A resposta pode ser truncada no meio do raciocínio ou da resposta.
Verifique response.stop_reason para "max_tokens" para detectar isso.
Corrija aumentando max_tokens para prompts que provavelmente acionarão raciocínio profundo.
Existe uma maneira de forçar o Claude a sempre produzir um bloco de pensamento?
O pensamento adaptativo é projetado para deixar o Claude decidir, então ele pulará o raciocínio visível em prompts que ele julga triviais. Se você precisar de saída de raciocínio garantida, independentemente da dificuldade da tarefa, essa é uma configuração de pensamento diferente e não adaptativa, não abordada nesta página.
O bloco de pensamento conta para `max_tokens`?
Sim, os tokens de raciocínio e os tokens de resposta ambos consomem do mesmo orçamento de saída definido por max_tokens.
Como as conversas de vários turnos lidam com blocos de pensamento anteriores?
Evite reenviar blocos thinking brutos de turnos anteriores como texto de assistente simples em seu histórico messages. Remova-os ou resuma-os para que o uso de tokens não aumente drasticamente em uma conversa longa.
Versões de Stack: Escrito contra a linha de modelos Claude atual em ~junho de 2026 - Claude Fable 5, Claude Opus 4.8, Claude Sonnet 5 (o padrão), e Claude Haiku 4.5 - e o SDK oficial anthropic Python (última versão 0.x). Nomes de modelos, versões de SDK e preços mudam rapidamente - verifique os detalhes atuais em platform.claude.com/docs antes de confiar neles.
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026