Pensamiento extendido - Amazon Bedrock

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Pensamiento extendido

El pensamiento extendido proporciona Claude una mayor capacidad de razonamiento para tareas complejas, al tiempo que proporciona diferentes niveles de transparencia en su proceso de step-by-step pensamiento antes de dar su respuesta final. Siempre que active el modo de pensamiento de Claude, tendrá que establecer un presupuesto para el número máximo de tokens que Claude podrá utilizar en su proceso de razonamiento interno.

Los modelos admitidos son los siguientes:

Modelo ID del modelo

Claude Opus4.5

anthropic.claude-opus-4-5-20251101-v1:0

Claude Opus 4

anthropic.claude-opus-4-20250514-v1:0

Claude Sonnet 4

anthropic.claude-sonnet-4-20250514-v1:0

Claude Sonnet 4.5

anthropic.claude-sonnet-4-5-20250929-v1:0

Claude Haiku 4.5

anthropic.claude-haiku-4-5-20251001-v1:0

Claude 3.7 Sonnet

anthropic.claude-3-7-sonnet-20250219-v1:0

Claude Sonnet 4.5

anthropic.claude-opus-4-5-20251101-v1:0

nota

El comportamiento de la API difiere entre los modelos Claude 3.7 y Claude 4. Para obtener más información, consulte Diferencias de la característica de pensamiento entre las versiones de los modelos.

Prácticas recomendadas y consideraciones de pensamiento extendido

Directrices de uso

  • Selección de tareas: utilice el pensamiento extendido para tareas particularmente complejas que se benefician del step-by-step razonamiento, como las matemáticas, la codificación y el análisis.

  • Manejo del contexto: no es necesario que elimine usted mismo los bloques de pensamiento anteriores. La API de Anthropic omite automáticamente los bloques de pensamiento de los turnos anteriores y no se incluyen al calcular el uso del contexto.

  • Ingeniería de peticiones: si quiere maximizar las capacidades de pensamiento de Claude, consulte los consejos de creación de peticiones de pensamiento extendido de Anthropic.

Consideraciones sobre el rendimiento

  • Tiempos de respuesta: prepárese para tiempos de respuesta potencialmente más largos debido al procesamiento adicional que requiere el proceso de razonamiento. Tenga en cuenta que la generación de bloques de pensamiento podría aumentar el tiempo de respuesta total.

  • Requisitos de transmisión: la transmisión es obligatoria cuando max_tokens es superior a 21 333. Durante la transmisión, prepárese para gestionar los bloques de contenido thinking y text a medida que vayan llegando.

Compatibilidad de características

  • La característica de pensamiento no es compatible con las modificaciones de temperature, top_p o top_k ni con el uso forzado de herramientas.

  • No se pueden rellenar previamente las respuestas cuando la característica de pensamiento está habilitada.

  • Los cambios en el presupuesto de la característica de pensamiento invalidan los prefijos de las peticiones almacenados en caché que incluyen mensajes. Sin embargo, las peticiones del sistema y las definiciones de herramientas almacenadas en caché seguirán funcionando cuando cambien los parámetros de la característica de pensamiento.

Uso de presupuestos para la característica de pensamiento

  • Optimizaciones del presupuesto: el presupuesto mínimo es de 1024 tokens. Anthropic sugiere empezar con el mínimo y aumentar el presupuesto de la característica de pensamiento de forma gradual para encontrar el intervalo óptimo para su caso de uso. Un mayor número de tokens puede permitir un razonamiento más completo y matizado, pero también puede provocar un rendimiento decreciente en función de la tarea. El presupuesto de la característica de pensamiento es un objetivo y no un límite estricto; el uso real de tokens puede variar en función de la tarea.

  • Configuración mínima y óptima: el presupuesto mínimo es de 1024 tokens. Le sugerimos empezar con el mínimo y aumentar el presupuesto de la característica de pensamiento de forma gradual para encontrar el intervalo óptimo que permita un buen rendimiento de Claude para su caso de uso. Un mayor número de tokens puede permitir un razonamiento más completo y matizado, pero también puede provocar un rendimiento decreciente de la tarea. El presupuesto de la característica de pensamiento es un objetivo y no un límite estricto; el uso real de tokens puede variar en función de la tarea.

  • Experimentación: el modelo podría funcionar de manera diferente con diferentes configuraciones de presupuesto de la característica de pensamiento. Aumentar el presupuesto máximo de la característica de pensamiento puede hacer que el modelo piense mejor o más, pero a cambio de una mayor latencia. Para las tareas críticas, considere la posibilidad de probar diferentes configuraciones de presupuesto para encontrar el equilibrio óptimo entre calidad y rendimiento.

  • Presupuestos elevados: para los presupuestos de la característica de pensamiento superiores a 32 000, le recomendamos que utilice el procesamiento por lotes para evitar problemas de red. Las solicitudes que llevan al modelo a procesar más de 32 000 tokens provocan solicitudes de larga duración, lo que puede causar tiempos de espera del sistema y superar los límites de conexiones abiertas. Tenga en cuenta que los límites de max_tokens varían según el modelo de Claude. Para obtener más información, consulte Máximo de tokens y tamaño de la ventana de contexto con el pensamiento extendido.

  • Seguimiento del uso de tokens: supervise el uso de tokens de la característica de pensamiento para optimizar los costos y el rendimiento.

Cómo funciona el pensamiento extendido

Cuando se activa el pensamiento extendido, Claude crea bloques de contenido thinking en los que genera su razonamiento interno. Claude incorpora la información de este razonamiento antes de elaborar una respuesta final. La respuesta de la API incluirá bloques de contenido thinking, seguidos de bloques de contenido text.

A continuación, se muestra un ejemplo del formato de respuesta predeterminado:

{ "content": [ { "type": "thinking", "thinking": "Let me analyze this step by step...", "signature": "WaUjzkypQ2mUEVM36O2TxuC06KN8xyfbJwyem2dw3URve/op91XWHOEBLLqIOMfFG/UvLEczmEsUjavL...." }, { "type": "text", "text": "Based on my analysis..." } ] }

Para obtener más información sobre el formato de respuesta del pensamiento extendido, consulte Solicitud y respuesta de la API Messages de Anthropic.

Cómo utilizar el pensamiento extendido

Para activar el pensamiento extendido, añada un objeto thinking, con el parámetro thinking establecido en activado y budget_tokens establecido en un presupuesto de tokens para el pensamiento extendido.

El parámetro budget_tokens determina el número máximo de tokens que Claude puede utilizar para su proceso de razonamiento interno. En los modelos Claude 4, este límite se aplica a los tokens de pensamiento completo y no a la salida resumida. Los presupuestos más grandes pueden mejorar la calidad de la respuesta al permitir un análisis más exhaustivo de los problemas complejos, aunque es posible que Claude no utilice todo el presupuesto asignado, especialmente en intervalos superiores a 32 000.

El valor de budget_tokens debe estar establecido en un valor inferior a max_tokens. Sin embargo, si utiliza Pensamiento intercalado (beta) con herramientas, puede superar este límite, ya que el límite de tokens pasa a ser toda la ventana de contexto (200 000 tokens).

Pensamiento resumido

Al habilitar el pensamiento extendido, la API Messages para modelos Claude 4 muestra un resumen del proceso de pensamiento completo de Claude. El pensamiento resumido proporciona todos los beneficios de inteligencia del pensamiento extendido, además de impedir su uso indebido.

Estas son algunas consideraciones importantes para el pensamiento resumido:

  • Se le cobrará por la totalidad de tokens de pensamiento generados por la solicitud original, no por los tokens de resumen.

  • El recuento de tokens de salida facturado no coincidirá con el recuento de tokens que aparece en la respuesta.

  • La petición proporcionada al modelo de resumidor está sujeta a cambios.

  • Las primeras líneas de la salida de pensamiento son más detalladas y proporcionan un razonamiento detallado que es particularmente útil para la ingeniería de peticiones.

nota

Claude 3.7 Sonnet devuelve igualmente la salida de pensamiento completa.

Para acceder a la salida de pensamiento completa para modelos Claude 4, póngase en contacto con el equipo de su cuenta.

Transmisión de pensamiento

Puede transmitir las respuestas de pensamiento extendido mediante eventos enviados por el servidor (SSE). Cuando la transmisión está habilitada para el pensamiento extendido, recibe el contenido de pensamiento a través de eventos thinking_delta. Los eventos transmitidos no garantizan una frecuencia de retorno constante. Puede haber retrasos entre la transmisión de los eventos. Para obtener más documentación sobre la transmisión a través de la API Messages, consulte Transmisión de mensajes.

A continuación, te explicamos cómo gestionar la transmisión con el pensamiento mediante InvokeModelWithResponseStream:

{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 10000, "thinking": { "type": "enabled", "budget_tokens": 4000 }, "messages": [ { "role": "user", "content": "What is 27 * 453?" } ] }

Respuesta:

event: message_start data: {"type": "message_start", "message": {"id": "msg_01...", "type": "message", "role": "assistant", "content": [], "model": "claude-3-7-sonnet-20250219", "stop_reason": null, "stop_sequence": null}} event: content_block_start data: {"type": "content_block_start", "index": 0, "content_block": {"type": "thinking", "thinking": ""}} event: content_block_delta data: {"type": "content_block_delta", "index": 0, "delta": {"type": "thinking_delta", "thinking": "Let me solve this step by step:\n\n1. First break down 27 * 453"}} event: content_block_delta data: {"type": "content_block_delta", "index": 0, "delta": {"type": "thinking_delta", "thinking": "\n2. 453 = 400 + 50 + 3"}} // 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": "27 * 453 = 12,231"}} // 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"}
Acerca del comportamiento de la transmisión con la característica de pensamiento

Si utilizas el streaming con la función de pensar habilitada, te darás cuenta de que, a veces, el texto llega en trozos más grandes y se alternan con fragmentos más pequeños token-by-token. Este es el comportamiento esperado, especialmente para el contenido de pensamiento. El sistema de transmisión necesita procesar el contenido en lotes para obtener un rendimiento óptimo, lo que puede dar lugar a este patrón de entrega.

Pensamiento extendido con el uso de herramientas

El pensamiento extendido se puede utilizar junto con Uso de herramienta para que Claude pueda razonar a través de la selección de herramientas y el procesamiento de resultados. Cuando utilice el pensamiento extendido junto con el uso de herramientas, tenga en cuenta las siguientes limitaciones:

  • Limitación de la selección de herramientas: el uso de herramientas con la característica de pensamiento solo admite tool_choice: any. No admite proporcionar una herramienta específica, auto ni ningún otro valor.

  • Preservar los bloques de pensamiento: durante el uso de la herramienta, debe pasar los bloques de pensamiento de vuelta a la API para el último mensaje del asistente. Incluya el bloque completo sin modificar de nuevo en la API para mantener la continuidad del razonamiento.

Así es como funciona la administración de la ventana de contexto con las herramientas:

{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 10000, "thinking": { "type": "enabled", "budget_tokens": 4000 }, "tools": [ { "name": "get_weather", "description": "Get current weather for a location", "input_schema": { "type": "object", "properties": { "location": { "type": "string" } }, "required": [ "location" ] } } ], "messages": [ { "role": "user", "content": "What's the weather in Paris?" } ] }

La primera respuesta es la siguiente:

{ "content": [ { "type": "thinking", "thinking": "The user wants to know the current weather in Paris. I have access to a function `get_weather`...", "signature": "BDaL4VrbR2Oj0hO4XpJxT28J5TILnCrrUXoKiiNBZW9P+nr8XSj1zuZzAl4egiCCpQNvfyUuFFJP5CncdYZEQPPmLxYsNrcs...." }, { "type": "text", "text": "I can help you get the current weather information for Paris. Let me check that for you" }, { "type": "tool_use", "id": "toolu_01CswdEQBMshySk6Y9DFKrfq", "name": "get_weather", "input": { "location": "Paris" } } ] }

Continuar la conversación con el uso de herramientas generará otra respuesta. Observe que se pasa tanto thinking_block como tool_use_block. Si no se pasa, se produce un error.

{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 10000, "thinking": { "type": "enabled", "budget_tokens": 4000 }, "tools": [ { "name": "get_weather", "description": "Get current weather for a location", "input_schema": { "type": "object", "properties": { "location": { "type": "string" } }, "required": [ "location" ] } } ], "messages": [ { "role": "user", "content": "What's the weather in Paris?" }, { "role": "assistant", "content": [ { "type": "thinking", "thinking": "The user wants to know the current weather in Paris. I have access to a function `get_weather`…", "signature": "BDaL4VrbR2Oj0hO4XpJxT28J5TILnCrrUXoKiiNBZW9P+nr8XSj1zuZzAl4egiCCpQNvfyUuFFJP5CncdYZEQPPmLxY", }, { "type": "tool_use", "id": "toolu_01CswdEQBMshySk6Y9DFKrfq", "name": "get_weather", "input": { "location": "Paris" } } ] }, { "role": "user", "content": [ { "type": "tool_result", "tool_use_id": "toolu_01CswdEQBMshySk6Y9DFKrfq", "content": "Current temperature: 88°F" } ] } ] }

La respuesta de la API ahora solo incluirá texto

{ "content": [ { "type": "text", "text": "Currently in Paris, the temperature is 88°F (31°C)" } ] }

Conservación de los bloques de pensamiento

Durante el uso de herramientas, debe volver a pasar los bloques de pensamiento a la API y volver a incluir el bloque completo sin modificar en la API. Esto es fundamental para mantener el flujo de razonamiento y la integridad de la conversación del modelo.

sugerencia

Aunque puede omitir los bloques thinking de turnos anteriores del rol assistant, sugerimos enviar siempre todos los bloques de pensamiento de vuelta a la API en cualquier conversación que tenga lugar durante varios turnos. La API hará lo siguiente:

  • Filtra automáticamente los bloques de pensamiento proporcionados.

  • Utiliza los bloques de pensamiento pertinentes necesarios para preservar el razonamiento del modelo.

  • Solo se facturan los tokens de entrada de los bloques mostrados a Claude.

Cuando Claude invoca herramientas, pausa la creación de una respuesta para esperar información externa. Cuando se devuelvan los resultados de la herramienta, Claude seguirá creando la respuesta existente. Esto requiere conservar los bloques de pensamiento durante el uso de la herramienta, por las siguientes razones:

  • Continuidad del razonamiento: los bloques de pensamiento capturan Claude el step-by-step razonamiento que dio lugar a la solicitud de herramientas. Cuando se publican los resultados de la herramienta, la inclusión del pensamiento original garantiza que Claude pueda continuar con su razonamiento desde donde lo dejó.

  • Mantenimiento del contexto: aunque los resultados de la herramienta aparecen como mensajes de usuario en la estructura de la API, forman parte de un flujo de razonamiento continuo. Preservar los bloques de pensamiento mantiene este flujo conceptual en varias llamadas a la API.

importante

Al proporcionar bloques de pensamiento, toda la secuencia de bloques de pensamiento consecutivos debe coincidir con las salidas generadas por el modelo durante la solicitud original; no se puede reorganizar ni modificar la secuencia de estos bloques.

Pensamiento intercalado (beta)

aviso

Interleaved Thinking está disponible como un «servicio beta», tal y como se define en las condiciones del servicio. AWS Está sujeto a su acuerdo con él, a las condiciones del AWS servicio AWS y al modelo de EULA aplicable.

Los modelos Claude 4 admiten el pensamiento intercalado, una característica que permite a Claude pensar entre las llamadas a herramientas y ejecutar un razonamiento más sofisticado después de recibir los resultados de la herramienta. Esto permite interacciones entre agentes más complejas, en las que Claude puede hacer lo siguiente:

  • Razonar sobre los resultados de una llamada a herramientas antes de decidir qué hacer a continuación

  • Encadenar varias llamadas a herramientas con pasos de razonamiento intermedios

  • Tomar decisiones más matizadas en función de los resultados intermedios

Para permitir el pensamiento intercalado, añada el encabezado beta interleaved-thinking-2025-05-14 a su solicitud de API.

nota

Con el pensamiento intercalado, budget_tokens puede superar el parámetro max_tokens, ya que representa el presupuesto total de todos los bloques de pensamiento dentro de un turno de asistente.

Thinking Block Clearing (beta)

aviso

Thinking Block Clearing está disponible como un «Servicio Beta», tal y como se define en las Condiciones del AWS Servicio.

nota

Actualmente, esta función es compatible con Claude Sonnet 4.5, Claude Haiku 4.5 y Claude Opus 4.5. Support para Claude Opus 4, Claude Opus 4.1 y Claude Sonnet 4 se añadirá el 15 de enero de 2026.

La eliminación de bloques de Thinking es una función del modelo Anthropic Claude (en versión beta). Con esta función, Claude puede eliminar automáticamente los bloques de pensamiento más antiguos de los turnos anteriores. Para usar Thinking block clear, debes añadirlos context-management-2025-06-27 a la lista de encabezados beta del parámetro de solicitud anthropic_beta. También tendrás que especificar el uso de las siguientes opciones de configuración clear_thinking_20251015 y elegir entre ellas.

Estos son los controles disponibles para la estrategia de administración del contexto de clear_thinking_20251015. Todos son opcionales o tienen valores predeterminados:

Opción de configuración Descripción

keep

predeterminado: 1 turno de reflexión

Define cuántos turnos de asistente recientes con bloques de pensamiento desea conservar. Utilízalo {"type": "thinking_turns", "value": N} donde N debe estar > 0 para conservar los últimos N turnos o {"type": "all"} para conservar todos los bloques de pensamiento.

Request
{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 10000, "anthropic_beta": [ "context-management-2025-06-27" ], "thinking": { "type": "enabled", "budget_tokens": 4000 }, "tools": [ { "name": "get_weather", "description": "Get current weather for a location", "input_schema": { "type": "object", "properties": { "location": { "type": "string" } }, "required": [ "location" ] } } ], "messages": [ { "role": "user", "content": "What's the weather in Paris?" }, { "role": "assistant", "content": [ { "type": "thinking", "thinking": "The user is asking for the weather in Paris. I have access to a get_weather function that takes a location as a parameter. I have all the information I need to make this call - the location is \"Paris\".\n\nLet me call the get_weather function with \"Paris\" as the location.", "signature": "ErgDCkgIChABGAIqQC/Ccv8GC+5VfcMEiq78XmpU2Ef2cT+96pHKMedKcRNuPz1x0kFlo5HBpW0r1NcQFVQUPuj6PDmP7jdHY7GsrUwSDKNBMogjaM7wYkwfPhoMswjlmfF09JLjZfFlIjB03NkghGOxLbr3VCQHIY0lMaV9UBvt7ZwTpJKzlz+mulBysfvAmDfcnvdJ/6CZre4qnQJsTZaiXdEgASwPIc5jOExBguerrtYSWVC/oPjSi7KZM8PfhP/SPXupyLi8hwYxeqomqkeG7AQhD+3487ecerZJcpJSOSsf0I1OaMpmQEE/b7ehnvTV/A4nLhxIjP4msyIBW+dVwHNFRFlpJLBHUJvN99b4run6YmqBSf4y9TyNMfOr+FtfxedGE0HfJMBd4FHXmUFyW5y91jAHMWqwNxDgacaKkFCAMaqce5rm0ShOxXn1uwDUAS3jeRP26Pynihq8fw5DQwlqOpo7vvXtqb5jjiCmqfOe6un5xeIdhhbzWddhEk1Vmtg7I817pM4MZjVaeQN02drPs8QgDxihnP6ZooGhd6FCBP2X3Ymdlj5zMlbVHxmSkA4wcNtg4IAYAQ==" }, { "type": "tool_use", "id": "toolu_bdrk_01U7emCvL5v5z5GT7PDr2vzc", "name": "get_weather", "input": { "location": "Paris" } } ] }, { "role": "user", "content": [ { "type": "tool_result", "tool_use_id": "toolu_bdrk_01U7emCvL5v5z5GT7PDr2vzc", "content": "Current temperature: 88°F" } ] } ], "context_management": { "edits": [ { "type": "clear_thinking_20251015", "keep": { "type": "thinking_turns", "value": 1 } } ] } }
Response
{ "model": "claude-haiku-4-5-20251001", "id": "msg_bdrk_01KyTbyFbdG2kzPwWMJY1kum", "type": "message", "role": "assistant", "content": [ { "type": "text", "text": "The current weather in Paris is **88°F** (approximately 31°C). It's quite warm! If you need more detailed information like humidity, wind conditions, or a forecast, please let me know." } ], "stop_reason": "end_turn", "stop_sequence": null, "usage": { "input_tokens": 736, "cache_creation_input_tokens": 0, "cache_read_input_tokens": 0, "cache_creation": { "ephemeral_5m_input_tokens": 0, "ephemeral_1h_input_tokens": 0 }, "output_tokens": 47 }, "context_management": { "applied_edits": [...] } }

Pensamiento extendido con almacenamiento en caché de peticiones

El almacenamiento en caché de peticiones con la característica de pensamiento tiene varias consideraciones importantes:

Eliminación del contexto de los bloques de pensamiento

  • Los bloques de pensamiento de los turnos anteriores se eliminan del contexto, lo que puede afectar a los puntos de interrupción de la caché.

  • Al continuar las conversaciones con el uso de herramientas, los bloques de pensamiento se almacenan en caché y se contabilizan como tokens de entrada cuando se leen desde la memoria caché. Esto implica encontrar un equilibrio: aunque los bloques de pensamiento no ocupan espacio visual en la ventana de contexto, sí se contabilizan como tokens de entrada cuando se almacenan en caché.

  • Si la característica de pensamiento se desactiva, las solicitudes producirán un error si se pasa el contenido de pensamiento en el turno de uso de herramientas actual. En otros contextos, el contenido de pensamiento que se pasa a la API simplemente se ignora.

Patrones de invalidación de caché

  • Los cambios en los parámetros de pensamiento (como habilitar, deshabilitar o modificar la asignación de presupuesto) invalidan los puntos de interrupción de la memoria caché de los mensajes.

  • Pensamiento intercalado (beta) amplifica la invalidación de la memoria caché, ya que los bloques de pensamiento se pueden producir entre varias llamadas a una herramienta.

  • Las peticiones del sistema y las herramientas permanecen en caché aunque cambien los parámetros de pensamiento o se eliminen bloques.

nota

Aunque los bloques de pensamiento se eliminan para el almacenamiento en caché y los cálculos de contexto, deben preservarse al continuar las conversaciones con el uso de herramientas, especialmente cuando se utiliza el pensamiento intercalado.

Comportamiento del almacenamiento en caché de los bloques de pensamiento

Cuando se utiliza el pensamiento extendido con el uso de herramientas, los bloques de pensamiento muestran un comportamiento de almacenamiento en caché específico que afecta al recuento de tokens. En la siguiente secuencia se muestra cómo funciona.

  1. El almacenamiento en caché solo se produce cuando se realiza una solicitud posterior que incluye los resultados de la herramienta.

  2. Cuando se realiza la siguiente solicitud, se puede almacenar en caché el historial de la conversación anterior (incluidos los bloques de pensamiento).

  3. Estos bloques de pensamiento almacenados en caché se contabilizan como tokens de entrada en sus métricas de uso cuando se leen de la caché.

  4. Cuando se incluye un bloque de non-tool-result usuario, todos los bloques de pensamiento anteriores se ignoran y se eliminan del contexto.

A continuación, se muestra un flujo de ejemplo detallado:

Solicitud 1:

User: "What's the weather in Paris?"

Respuesta 1:

[thinking_block 1] + [tool_use block 1]

Solicitud 2:

User: "What's the weather in Paris?", Assistant: [thinking_block_1] + [tool_use block 1], User: [tool_result_1, cache=True]

Respuesta 2:

[thinking_block 2] + [text block 2]

La solicitud 2 escribe en una caché el contenido de la solicitud (no la respuesta). La caché incluye el mensaje original del usuario, el primer bloque de pensamiento, el bloque de uso de herramientas y el resultado de la herramienta.

Solicitud 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]

Como se incluyó un bloque de non-tool-result usuario, se ignoran todos los bloques de pensamiento anteriores. Esta solicitud se procesará de la misma manera que la siguiente:

Alternativa a la solicitud 3:

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]

Este comportamiento es constante tanto si se utiliza el pensamiento normal como el pensamiento intercalado.

Máximo de tokens y tamaño de la ventana de contexto con el pensamiento extendido

En los modelos Claude más antiguos (anteriores a Claude 3.7 Sonnet), si la suma de los tokens de peticiones y max_tokens superaba la ventana de contexto del modelo, el sistema ajustaba automáticamente el valor de max_tokens de acuerdo con el límite del contexto. Esto significaba que se podía establecer un valor máximo de max_tokens y que el sistema lo reducía silenciosamente según fuera necesario. Con los modelos Claude 3.7 y 4 max_tokens (que incluye el presupuesto de la característica de pensamiento cuando esta característica está habilitada) impone un límite estricto. El sistema ahora devuelve un error de validación si los tokens de peticiones y max_tokens superan el tamaño de la ventana de contexto.

La ventana de contexto con pensamiento extendido

Al calcular el uso de la ventana de contexto con la característica de pensamiento activada, hay que tener en cuenta algunas consideraciones:

  • Los bloques de pensamiento de los turnos anteriores se eliminan y no se contabilizan para la ventana de contexto.

  • El pensamiento del turno actual se contabiliza para el límite de max_tokens de ese turno.

La ventana de contexto efectiva se calcula de la siguiente manera: ventana de contexto = (tokens de entrada actuales, tokens de pensamiento anteriores) + (tokens de pensamiento + tokens de pensamiento cifrados + tokens de salida de texto).

Administración de los tokens con pensamiento extendido y uso de herramientas

Cuando se utiliza el pensamiento extendido con el uso de herramientas, los bloques de pensamiento deben conservarse de forma explícita y devolverse junto con los resultados de la herramienta. El cálculo efectivo de la ventana de contexto para el pensamiento extendido con el uso de herramientas es el siguiente:

context window = (current input tokens + previous thinking tokens + tool use tokens) + (thinking tokens + encrypted thinking tokens + text output tokens)

Administración de los tokens con pensamiento extendido

Dada la ventana de contexto y el comportamiento de max_tokens con los modelos de pensamiento extendido Claude 3.7 y 4, es posible que tenga que realizar una de las siguientes acciones:

  • Supervise y administre el uso de tokens de forma más activa.

  • Ajuste los valores de max_tokens a medida que cambia la longitud de la peticiones.

  • Tenga en cuenta que los bloques de pensamiento anteriores no se acumulan en su ventana de contexto. Este cambio se ha realizado para proporcionar un comportamiento más predecible y transparente, especialmente dado que los límites máximos de tokens han aumentado considerablemente.

Consideraciones sobre el costo de los tokens de pensamiento extendido

El proceso de pensamiento conlleva cargos por lo siguiente:

  • Tokens que se utilizan durante el pensamiento (tokens de salida)

  • Los bloques de pensamiento del último turno del asistente se incluyen en las solicitudes posteriores (tokens de entrada)

  • Tokens de salida de texto estándar

sugerencia

Cuando se habilita el pensamiento extendido, se incluye automáticamente una petición del sistema de 28 o 29 tokens para respaldar esta característica.

El parámetro budget_tokens determina el número máximo de tokens que Claude puede utilizar para su proceso de razonamiento interno. Los presupuestos más grandes pueden mejorar la calidad de la respuesta al permitir un análisis más exhaustivo de los problemas complejos, aunque es posible que Claude no utilice todo el presupuesto asignado, especialmente en intervalos superiores a 32 000.

Con el pensamiento intercalado, budget_tokens puede superar el valor del parámetro max_tokens, ya que representa el presupuesto total de todos los bloques de pensamiento dentro de un turno de asistente.

Cuando utilice el pensamiento resumido, debe tener en cuenta lo siguiente:

  • Tokens de entrada: tokens incluidos en su solicitud original

  • Tokens de salida (facturados): los tokens de pensamiento original que Claude generó internamente

  • Tokens de salida (visibles): los tokens de pensamiento resumido que ve en la respuesta

  • Sin cargo: tokens utilizados para generar el resumen

  • El campo summary_status puede indicar si los límites de tokens afectan al resumen

  • El recuento de tokens de salida facturados no coincidirá con el recuento de tokens visibles en la respuesta. Se le facturará por todo el proceso de pensamiento, no por el resumen que vea.