This feature is eligible for Zero Data Retention (ZDR). When your organization has a ZDR arrangement, data sent through this feature is not stored after the API response is returned.
O raciocínio estendido oferece ao Claude capacidades de raciocínio aprimoradas para tarefas complexas, enquanto fornece vários níveis de transparência em seu processo de pensamento passo a passo antes de entregar sua resposta final.
Para Claude Opus 4.6 e Claude Sonnet 4.6, use raciocínio adaptativo (thinking: {type: "adaptive"}) com o parâmetro de esforço em vez do modo de raciocínio manual descrito nesta página. A configuração manual thinking: {type: "enabled", budget_tokens: N} ainda é funcional nesses modelos, mas está descontinuada e será removida em uma versão futura do modelo.
O raciocínio estendido é suportado em todos os modelos Claude suportados. Alguns modelos têm comportamento específico do modo:
thinking: {type: "enabled", budget_tokens: N} também é aceito. thinking: {type: "disabled"} não é suportado, e display padrão é "omitted" em vez de retornar conteúdo de raciocínio. Passe display: "summarized" para receber resumos.claude-opus-4-6): raciocínio adaptativo recomendado; modo manual (type: "enabled") está descontinuado, mas ainda funcional.claude-sonnet-4-6): raciocínio adaptativo recomendado; modo manual (type: "enabled") com modo intercalado está descontinuado, mas ainda funcional.O comportamento da API difere entre os modelos Claude Sonnet 3.7 e Claude 4, mas as formas da API permanecem exatamente as mesmas.
Para mais informações, consulte Diferenças no raciocínio entre versões de modelos.
Quando o raciocínio estendido é ativado, Claude cria blocos de conteúdo thinking onde produz seu raciocínio interno. Claude incorpora insights desse raciocínio antes de elaborar uma resposta final.
A resposta da API inclui blocos de conteúdo thinking, seguidos por blocos de conteúdo text.
Aqui está um exemplo do formato de resposta padrão:
{
"content": [
{
"type": "thinking",
"thinking": "Let me analyze this step by step...",
"signature": "WaUjzkypQ2mUEVM36O2TxuC06KN8xyfbJwyem2dw3URve/op91XWHOEBLLqIOMfFG/UvLEczmEsUjavL...."
},
{
"type": "text",
"text": "Based on my analysis..."
}
]
}Para mais informações sobre o formato de resposta do raciocínio estendido, consulte a Referência da API de Mensagens.
Aqui está um exemplo de uso do raciocínio estendido na API de Mensagens:
curl https://api.anthropic.com/v1/messages \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--data \
'{
"model": "claude-sonnet-4-6",
"max_tokens": 16000,
"thinking": {
"type": "enabled",
"budget_tokens": 10000
},
"messages": [
{
"role": "user",
"content": "Are there an infinite number of prime numbers such that n mod 4 == 3?"
}
]
}'Para ativar o raciocínio estendido, adicione um objeto thinking, com o parâmetro type definido como enabled e o budget_tokens para um orçamento de token especificado para raciocínio estendido. Para Claude Opus 4.6 e Claude Sonnet 4.6, use type: "adaptive" em vez disso. Consulte Raciocínio adaptativo para detalhes. Embora type: "enabled" com budget_tokens ainda seja funcional nesses modelos, está descontinuado e será removido em uma versão futura.
O parâmetro budget_tokens determina o número máximo de tokens que Claude pode usar para seu processo de raciocínio interno. Nos modelos Claude 4 e posteriores, esse limite se aplica aos tokens de raciocínio completo, e não à saída resumida. Orçamentos maiores podem melhorar a qualidade da resposta, permitindo análise mais completa para problemas complexos, embora Claude possa não usar todo o orçamento alocado, especialmente em intervalos acima de 32k.
budget_tokens está descontinuado no Claude Opus 4.6 e Claude Sonnet 4.6 e será removido em uma versão futura do modelo. Use raciocínio adaptativo com o parâmetro de esforço para controlar a profundidade do raciocínio em vez disso.
Claude Mythos Preview e Claude Opus 4.6 suportam até 128k tokens de saída. Claude Sonnet 4.6 e Claude Haiku 4.5 suportam até 64k. Consulte a visão geral dos modelos para limites em modelos legados. Na API de Lotes de Mensagens, o cabeçalho beta output-300k-2026-03-24 aumenta o limite de saída para 300k para Opus 4.6 e Sonnet 4.6.
budget_tokens deve ser definido para um valor menor que max_tokens. No entanto, ao usar raciocínio intercalado com ferramentas, você pode exceder esse limite, pois o limite de token se torna sua janela de contexto inteira.
With extended thinking enabled, the Messages API for Claude 4 models returns a summary of Claude's full thinking process. Summarized thinking provides the full intelligence benefits of extended thinking, while preventing misuse. This is the default behavior on Claude 4 models when the display field on the thinking configuration is unset or set to "summarized". On Claude Mythos Preview, display defaults to "omitted" instead, so you must set display: "summarized" explicitly to receive summarized thinking.
Here are some important considerations for summarized thinking:
Claude Sonnet 3.7 continues to return full thinking output.
In rare cases where you need access to full thinking output for Claude 4 models, contact our sales team.
The display field on the thinking configuration controls how thinking content is returned in API responses. It accepts two values:
"summarized": Thinking blocks contain summarized thinking text. See Summarized thinking for details. This is the default on Claude 4 models."omitted": Thinking blocks are returned with an empty thinking field. The signature field still carries the encrypted full thinking for multi-turn continuity (see Thinking encryption). This is the default on Claude Mythos Preview.Setting display: "omitted" is useful when your application doesn't surface thinking content to users. The primary benefit is faster time-to-first-text-token when streaming: The server skips streaming thinking tokens entirely and delivers only the signature, so the final text response begins streaming sooner.
No SDK currently includes display in its type definitions. The Python SDK forwards unrecognized dict keys to the API at runtime; passing display in the thinking dict works transparently. The TypeScript SDK requires a type assertion. The C#, Go, Java, PHP, and Ruby SDKs require a direct HTTP request until native support lands.
Here are some important considerations for omitted thinking:
signature to reconstruct the original thinking for prompt construction (see Preserving thinking blocks). Any text you place in the thinking field of a round-tripped omitted block is ignored.display is invalid with thinking.type: "disabled" (there is nothing to display).thinking.type: "adaptive" and the model skips thinking for a simple request, no thinking block is produced regardless of display.The signature field is identical whether display is "summarized" or "omitted". Switching display values between turns in a conversation is supported.
No Claude Mythos Preview, display padrão é "omitted". Os exemplos nesta seção passam display explicitamente para que se apliquem a todos os modelos, mas no Mythos Preview você pode deixá-lo não definido e receber o mesmo comportamento. Para receber raciocínio resumido no Mythos Preview, defina display: "summarized" explicitamente.
Pipelines automatizados que nunca expõem conteúdo de raciocínio aos usuários finais podem pular a sobrecarga de receber tokens de raciocínio pela rede. Aplicações sensíveis à latência obtêm a mesma qualidade de raciocínio sem esperar que o texto de raciocínio seja transmitido antes do início da resposta final.
Quando display: "omitted" é definido, a resposta contém blocos thinking com um campo thinking vazio:
{
"content": [
{
"type": "thinking",
"thinking": "",
"signature": "EosnCkYICxIMMb3LzNrMu..."
},
{
"type": "text",
"text": "The answer is 12,231."
}
]
}Ao fazer streaming com display: "omitted", nenhum evento thinking_delta é emitido; consulte Streaming de raciocínio abaixo para a sequência de eventos.
Você pode fazer streaming de respostas de pensamento estendido usando server-sent events (SSE).
Quando o streaming está habilitado para pensamento estendido, você recebe conteúdo de pensamento via eventos thinking_delta.
Quando display: "omitted" está definido, nenhum evento thinking_delta é emitido. Veja Controlando a exibição de pensamento.
Para mais documentação sobre streaming via a API de Mensagens, veja Streaming de Mensagens.
Aqui está como lidar com streaming com pensamento:
curl https://api.anthropic.com/v1/messages \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--data \
'{
"model": "claude-sonnet-4-6",
"max_tokens": 16000,
"stream": true,
"thinking": {
"type": "enabled",
"budget_tokens": 10000
},
"messages": [
{
"role": "user",
"content": "What is the greatest common divisor of 1071 and 462?"
}
]
}'Exemplo de saída de streaming:
event: message_start
data: {"type": "message_start", "message": {"id": "msg_01...", "type": "message", "role": "assistant", "content": [], "model": "claude-sonnet-4-6", "stop_reason": null, "stop_sequence": null}}
event: content_block_start
data: {"type": "content_block_start", "index": 0, "content_block": {"type": "thinking", "thinking": "", "signature": ""}}
event: content_block_delta
data: {"type": "content_block_delta", "index": 0, "delta": {"type": "thinking_delta", "thinking": "I need to find the GCD of 1071 and 462 using the Euclidean algorithm.\n\n1071 = 2 × 462 + 147"}}
event: content_block_delta
data: {"type": "content_block_delta", "index": 0, "delta": {"type": "thinking_delta", "thinking": "\n462 = 3 × 147 + 21\n147 = 7 × 21 + 0\n\nSo GCD(1071, 462) = 21"}}
// Additional thinking deltas...
event: content_block_delta
data: {"type": "content_block_delta", "index": 0, "delta": {"type": "signature_delta", "signature": "EqQBCgIYAhIM1gbcDa9GJwZA2b3hGgxBdjrkzLoky3dl1pkiMOYds..."}}
event: content_block_stop
data: {"type": "content_block_stop", "index": 0}
event: content_block_start
data: {"type": "content_block_start", "index": 1, "content_block": {"type": "text", "text": ""}}
event: content_block_delta
data: {"type": "content_block_delta", "index": 1, "delta": {"type": "text_delta", "text": "The greatest common divisor of 1071 and 462 is **21**."}}
// Additional text deltas...
event: content_block_stop
data: {"type": "content_block_stop", "index": 1}
event: message_delta
data: {"type": "message_delta", "delta": {"stop_reason": "end_turn", "stop_sequence": null}}
event: message_stop
data: {"type": "message_stop"}Quando display: "omitted" está definido, o bloco de pensamento abre, um único signature_delta chega, e o bloco fecha sem nenhum evento thinking_delta. O streaming de texto começa imediatamente depois:
event: content_block_start
data: {"type":"content_block_start","index":0,"content_block":{"type":"thinking","thinking":"","signature":""}}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"signature_delta","signature":"EosnCkYICxIMMb3LzNrMu..."}}
event: content_block_stop
data: {"type":"content_block_stop","index":0}
event: content_block_start
data: {"type":"content_block_start","index":1,"content_block":{"type":"text","text":""}}Ao usar streaming com pensamento habilitado, você pode notar que o texto às vezes chega em pedaços maiores alternando com entrega token por token. Este é um comportamento esperado, especialmente para conteúdo de pensamento.
O sistema de streaming precisa processar conteúdo em lotes para desempenho ideal, o que pode resultar neste padrão de entrega "em pedaços", com possíveis atrasos entre eventos de streaming. Anthropic está continuamente trabalhando para melhorar essa experiência, com atualizações futuras focadas em fazer o conteúdo de pensamento fazer streaming de forma mais suave.
O pensamento estendido pode ser usado junto com uso de ferramentas, permitindo que Claude raciocine através da seleção de ferramentas e processamento de resultados.
Ao usar pensamento estendido com uso de ferramentas, esteja ciente das seguintes limitações:
Limitação de escolha de ferramenta: O uso de ferramentas com pensamento suporta apenas tool_choice: {"type": "auto"} (o padrão) ou tool_choice: {"type": "none"}. Usar tool_choice: {"type": "any"} ou tool_choice: {"type": "tool", "name": "..."} resultará em um erro porque essas opções forçam o uso de ferramentas, o que é incompatível com pensamento estendido.
Preservando blocos de pensamento: Durante o uso de ferramentas, você deve passar blocos thinking de volta para a API para a última mensagem do assistente. Inclua o bloco completo e não modificado de volta para a API para manter a continuidade do raciocínio.
Você não pode alternar o pensamento no meio de um turno do assistente, incluindo durante loops de uso de ferramentas. O turno completo do assistente deve operar em um único modo de pensamento:
Do ponto de vista do modelo, loops de uso de ferramentas fazem parte do turno do assistente. Um turno do assistente não se completa até que Claude termine sua resposta completa, que pode incluir múltiplas chamadas de ferramentas e resultados.
Por exemplo, esta sequência faz parte de um único turno do assistente:
User: "What's the weather in Paris?"
Assistant: [thinking] + [tool_use: get_weather]
User: [tool_result: "20°C, sunny"]
Assistant: [text: "The weather in Paris is 20°C and sunny"]Embora haja múltiplas mensagens de API, o loop de uso de ferramentas é conceitualmente parte de uma resposta contínua do assistente.
Quando ocorre um conflito de pensamento no meio do turno (como alternar o pensamento ativado ou desativado durante um loop de uso de ferramentas), a API desativa automaticamente o pensamento para essa solicitação. Para preservar a qualidade do modelo e permanecer na distribuição, a API pode:
Isso significa que tentar alternar o pensamento no meio do turno não causará um erro, mas o pensamento será silenciosamente desativado para essa solicitação. Para confirmar se o pensamento estava ativo, verifique a presença de blocos thinking na resposta.
Melhor prática: Planeje sua estratégia de pensamento no início de cada turno em vez de tentar alternar no meio do turno.
Exemplo: Alternando pensamento após completar um turno
User: "What's the weather?"
Assistant: [tool_use] (thinking disabled)
User: [tool_result]
Assistant: [text: "It's sunny"]
User: "What about tomorrow?"
Assistant: [thinking] + [text: "..."] (thinking enabled - new turn)Ao completar o turno do assistente antes de alternar o pensamento, você garante que o pensamento esteja realmente ativado para a nova solicitação.
Alternar modos de pensamento também invalida o cache de prompt para o histórico de mensagens. Para mais detalhes, consulte a seção Extended thinking com cache de prompt.
Durante o uso de ferramentas, você deve passar blocos thinking de volta para a API, e você deve incluir o bloco completo e não modificado de volta para a API. Isso é crítico para manter o fluxo de raciocínio do modelo e a integridade da conversa.
Embora você possa omitir blocos thinking de turnos anteriores com papel assistant, sempre passe todos os blocos de pensamento de volta para a API para qualquer conversa com múltiplos turnos. A API:
Ao alternar modos de pensamento durante uma conversa, lembre-se de que o turno completo do assistente (incluindo loops de uso de ferramentas) deve operar em um único modo de pensamento. Para mais detalhes, consulte Alternando modos de pensamento em conversas.
Quando Claude invoca ferramentas, está pausando sua construção de uma resposta para aguardar informações externas. Quando os resultados das ferramentas são retornados, Claude continua construindo essa resposta existente. Isso necessita preservar blocos de pensamento durante o uso de ferramentas, por alguns motivos:
Continuidade de raciocínio: Os blocos de pensamento capturam o raciocínio passo a passo de Claude que levou aos pedidos de ferramentas. Quando você publica resultados de ferramentas, incluir o pensamento original garante que Claude possa continuar seu raciocínio de onde parou.
Manutenção de contexto: Embora os resultados das ferramentas apareçam como mensagens do usuário na estrutura da API, eles fazem parte de um fluxo de raciocínio contínuo. Preservar blocos de pensamento mantém esse fluxo conceitual em múltiplas chamadas de API. Para mais informações sobre gerenciamento de contexto, consulte o guia sobre janelas de contexto.
Importante: Ao fornecer blocos thinking, a sequência completa de blocos thinking consecutivos deve corresponder aos resultados gerados pelo modelo durante a solicitação original; você não pode reorganizar ou modificar a sequência desses blocos.
Extended thinking com uso de ferramentas em modelos Claude 4 suporta pensamento intercalado, que permite que Claude pense entre chamadas de ferramentas e faça raciocínio mais sofisticado após receber resultados de ferramentas.
Com pensamento intercalado, Claude pode:
Suporte de modelo:
interleaved-thinking-2025-05-14 é descontinuado no Opus 4.6 e é seguramente ignorado se incluído.interleaved-thinking-2025-05-14 com pensamento estendido manual (thinking: {type: "enabled"}) ainda é funcional mas descontinuado.interleaved-thinking-2025-05-14 à sua solicitação de API para ativar o pensamento intercalado.Aqui estão algumas considerações importantes para pensamento intercalado:
budget_tokens pode exceder o parâmetro max_tokens, pois representa o orçamento total em todos os blocos de pensamento dentro de um turno do assistente.interleaved-thinking-2025-05-14 em solicitações para qualquer modelo, sem efeito (exceto Opus 4.6, onde é descontinuado e seguramente ignorado).interleaved-thinking-2025-05-14 para qualquer modelo além de Claude Sonnet 4.6, Claude Opus 4.5, Claude Opus 4.1, Opus 4, Sonnet 4.5, ou Sonnet 4, sua solicitação falhará.Cache de prompt com pensamento tem várias considerações importantes:
Tarefas de pensamento estendido geralmente levam mais de 5 minutos para serem concluídas. Considere usar a duração de cache de 1 hora para manter acertos de cache em sessões de pensamento mais longas e fluxos de trabalho com várias etapas.
Remoção de contexto de bloco de pensamento
Padrões de invalidação de cache
Embora blocos de pensamento sejam removidos para cache e cálculos de contexto, eles devem ser preservados ao continuar conversas com uso de ferramentas, especialmente com pensamento intercalado.
Ao usar pensamento estendido com uso de ferramentas, os blocos de pensamento exibem um comportamento de cache específico que afeta a contagem de tokens:
Como funciona:
Fluxo de exemplo detalhado:
Solicitação 1:
User: "What's the weather in Paris?"Resposta 1:
[thinking_block_1] + [tool_use block 1]Solicitação 2:
User: ["What's the weather in Paris?"],
Assistant: [thinking_block_1] + [tool_use block 1],
User: [tool_result_1, cache=True]Resposta 2:
[thinking_block_2] + [text block 2]A Solicitação 2 escreve um cache do conteúdo da solicitação (não da resposta). O cache inclui a mensagem de usuário original, o primeiro bloco de pensamento, bloco de uso de ferramenta e o resultado da ferramenta.
Solicitação 3:
User: ["What's the weather in Paris?"],
Assistant: [thinking_block_1] + [tool_use block 1],
User: [tool_result_1, cache=True],
Assistant: [thinking_block_2] + [text block 2],
User: [Text response, cache=True]Para Claude Opus 4.5 e posterior (incluindo Claude Opus 4.6), todos os blocos de pensamento anteriores são mantidos por padrão. Para modelos mais antigos, porque um bloco de usuário que não é resultado de ferramenta foi incluído, todos os blocos de pensamento anteriores são ignorados. Esta solicitação será processada da mesma forma que:
User: ["What's the weather in Paris?"],
Assistant: [tool_use block 1],
User: [tool_result_1, cache=True],
Assistant: [text block 2],
User: [Text response, cache=True]Pontos-chave:
cache_controlEm modelos Claude mais antigos (anteriores ao Claude Sonnet 3.7), se a soma de tokens de prompt e max_tokens excedesse a janela de contexto do modelo, o sistema ajustaria automaticamente max_tokens para se adequar ao limite de contexto. Isso significava que você poderia definir um grande valor de max_tokens e o sistema o reduziria silenciosamente conforme necessário.
Com os modelos Claude 3.7 e 4, max_tokens (que inclui seu orçamento de pensamento quando o pensamento está ativado) é aplicado como um limite rigoroso. O sistema agora retornará um erro de validação se tokens de prompt + max_tokens exceder o tamanho da janela de contexto.
Você pode ler o guia sobre janelas de contexto para uma análise mais aprofundada.
Ao calcular o uso da janela de contexto com pensamento ativado, há algumas considerações a serem observadas:
max_tokens para esse turnoO diagrama abaixo demonstra o gerenciamento especializado de tokens quando o pensamento estendido está ativado:
A janela de contexto efetiva é calculada como:
context window =
(current input tokens - previous thinking tokens) +
(thinking tokens + encrypted thinking tokens + text output tokens)Use a API de contagem de tokens para obter contagens de tokens precisas para seu caso de uso específico, especialmente ao trabalhar com conversas multi-turno que incluem pensamento.
Ao usar pensamento estendido com uso de ferramentas, blocos de pensamento devem ser explicitamente preservados e retornados com os resultados das ferramentas.
O cálculo da janela de contexto efetiva para pensamento estendido com uso de ferramentas se torna:
context window =
(current input tokens + previous thinking tokens + tool use tokens) +
(thinking tokens + encrypted thinking tokens + text output tokens)O diagrama abaixo ilustra o gerenciamento de tokens para pensamento estendido com uso de ferramentas:
Dado o comportamento da janela de contexto e max_tokens com pensamento estendido nos modelos Claude 3.7 e 4, você pode precisar:
max_tokens conforme o comprimento do seu prompt mudaEssa mudança foi feita para fornecer um comportamento mais previsível e transparente, especialmente conforme os limites de token máximo aumentaram significativamente.
Full thinking content is encrypted and returned in the signature field. This field is used to verify that thinking blocks were generated by Claude when passed back to the API.
It is only strictly necessary to send back thinking blocks when using tools with extended thinking. Otherwise you can omit thinking blocks from previous turns, or let the API strip them for you if you pass them back.
If sending back thinking blocks, we recommend passing everything back as you received it for consistency and to avoid potential issues.
Here are some important considerations on thinking encryption:
signature_delta inside a content_block_delta event just before the content_block_stop event.signature values are significantly longer in Claude 4 models than in previous models.signature field is an opaque field and should not be interpreted or parsed.signature values are compatible across platforms (Claude APIs, Amazon Bedrock, and Vertex AI). Values generated on one platform will be compatible with another.Além dos blocos thinking regulares, a API pode retornar blocos redacted_thinking. Um bloco redacted_thinking contém conteúdo de pensamento criptografado em um campo data, sem nenhum resumo legível:
{
"type": "redacted_thinking",
"data": "..."
}O campo data é opaco e criptografado. Como o campo signature em blocos de pensamento regulares, você deve passar blocos redacted_thinking de volta para a API inalterados ao continuar uma conversa multi-turno com ferramentas.
Se seu código filtra blocos de conteúdo por tipo (por exemplo, block.type == "thinking") ao fazer round-trip de respostas com uso de ferramentas, também inclua blocos redacted_thinking. Filtrar apenas em block.type == "thinking" silenciosamente descarta blocos redacted_thinking e quebra o protocolo multi-turno descrito acima.
Blocos redacted_thinking são um tipo de bloco de conteúdo distinto retornado pela API quando porções de pensamento são redatadas por segurança. Isso é separado da opção display: "omitted", que retorna blocos thinking regulares com um campo thinking vazio.
A API de Mensagens lida com pensamento de forma diferente entre os modelos Claude Sonnet 3.7 e Claude 4, principalmente no comportamento de resumo.
Veja a tabela abaixo para uma comparação condensada:
| Recurso | Claude Sonnet 3.7 | Modelos Claude 4 (pré-Opus 4.5) | Claude Opus 4.5 | Claude Sonnet 4.6 | Claude Opus 4.6 (pensamento adaptativo) | Claude Mythos Preview (pensamento adaptativo) |
|---|---|---|---|---|---|---|
| Saída de Pensamento | Retorna saída de pensamento completa | Retorna pensamento resumido | Retorna pensamento resumido | Retorna pensamento resumido | Retorna pensamento resumido | Omitido por padrão; defina display: "summarized" para receber pensamento resumido. Tokens de pensamento bruto nunca são retornados. |
| Pensamento Intercalado | Não suportado | Suportado com cabeçalho beta interleaved-thinking-2025-05-14 | Suportado com cabeçalho beta interleaved-thinking-2025-05-14 | Suportado com cabeçalho beta interleaved-thinking-2025-05-14 ou automático com pensamento adaptativo | Automático com pensamento adaptativo (cabeçalho beta não suportado) | Automático com pensamento adaptativo (cabeçalho beta não suportado). O raciocínio entre ferramentas se move para blocos de pensamento neste modelo. |
| Preservação de Bloco de Pensamento | Não preservado entre turnos | Não preservado entre turnos | Preservado por padrão | Preservado por padrão | Preservado por padrão | Preservado por padrão. Blocos são removidos ao continuar a conversa em um modelo que não suporta o formato de pensamento Mythos. |
A partir do Claude Opus 4.5 (e continuando no Claude Opus 4.6), blocos de pensamento de turnos anteriores do assistente são preservados no contexto do modelo por padrão. Isso difere dos modelos anteriores, que removem blocos de pensamento de turnos anteriores.
Benefícios da preservação de blocos de pensamento:
Considerações importantes:
Para modelos anteriores (Claude Sonnet 4.5, Opus 4.1, etc.), blocos de pensamento de turnos anteriores continuam sendo removidos do contexto. O comportamento existente descrito na seção Pensamento estendido com cache de prompt se aplica a esses modelos.
For complete pricing information including base rates, cache writes, cache hits, and output tokens, see the pricing page.
The thinking process incurs charges for:
When extended thinking is enabled, a specialized system prompt is automatically included to support this feature.
When using summarized thinking:
When using display: "omitted":
thinking field is empty)The billed output token count will not match the visible token count in the response. You are billed for the full thinking process, not the thinking content visible in the response.
max_tokens é maior que 21.333 para evitar timeouts HTTP em solicitações de longa duração. Esta é uma validação do lado do cliente, não uma restrição da API. Se você não precisar processar eventos incrementalmente, use .stream() com .get_final_message() (Python) ou .finalMessage() (TypeScript) para obter o objeto Message completo sem lidar com eventos individuais. Veja Streaming de Mensagens para detalhes. Ao fazer streaming, esteja preparado para lidar com blocos de conteúdo de pensamento e texto conforme chegam.display: "omitted" na configuração de pensamento para reduzir o tempo até o primeiro token de texto. Veja Controlando a exibição de pensamento.temperature ou top_k, bem como uso forçado de ferramentas.top_p para valores entre 1 e 0,95.Explore exemplos práticos de pensamento no cookbook.
Aprenda as melhores práticas de engenharia de prompt para pensamento estendido.
Was this page helpful?