View a markdown version of this page

Pensamiento adaptativo - 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 adaptativo

El pensamiento adaptativo permite decidir de Claude forma dinámica cuándo y cuánto pensar en función de la complejidad de cada solicitud, en lugar de requerir un presupuesto simbólico fijo. Es compatible con Claude Fable 5.1, Claude Mythos 5.1, Claude Opus 5, Claude Sonnet 5 y otros modelos capaces de pensar. El pensamiento adaptativo genera de manera confiable un mejor rendimiento que el pensamiento extendido con un enfoque fijo. budget_tokens No se requiere ningún encabezado beta.

Los modelos admitidos son los siguientes:

Modelo ID del modelo

Claude Fable 5.1

anthropic.claude-fable-5-1

Claude Mythos 5.1

anthropic.claude-mythos-5-1

Claude Opus 5

anthropic.claude-opus-5

Claude Soneto 5

anthropic.claude-sonnet-5

Claude Mythos 5

anthropic.claude-mythos-5

Fábula de Claude 5

anthropic.claude-fable-5

Claude Opus4.7

anthropic.claude-opus-4-7

Vista previa de Claude Mythos

anthropic.claude-mythos-preview

Claude Opus4.6

anthropic.claude-opus-4-6-v1

Claude Sonnet 4.6

anthropic.claude-sonnet-4-6

nota

Claude Fable 5.1, Claude Mythos 5.1, Claude Mythos 5, Claude Fable 5 y Claude Mythos Preview solo admiten el pensamiento adaptativo. El pensamiento extendido manual (thinking.type: "enabled"conbudget_tokens) y el pensamiento discapacitado (thinking.type: "disabled") no son compatibles con estos modelos y arrojan un error 400. thinking.type: "adaptive"output_config.effortUtilícelo con para controlar la conducta mental.

Claude OpusLa versión 4.7 apoya el pensamiento adaptativo y discapacitado. Para dejar de pensar, usathinking.type: "disabled". No se admite el pensamiento extendido manual (thinking.type: "enabled"conbudget_tokens) y generará un error 400.

thinking.type: "enabled"y budget_tokens están en desuso en las versiones Claude Opus 4.6 y Claude Sonnet 4.6 y se eliminarán en una futura versión del modelo. En su lugar, thinking.type: "adaptive" utilícelo con el parámetro de esfuerzo.

Los modelos más antiguos (Claude Opus4.5Claude Sonnet 4.5, etc.) no admiten el pensamiento adaptativo y lo requieren thinking.type: "enabled"budget_tokens.

importante

El pensamiento adaptativo está activado por defecto en Claude Sonnet 5 y Claude Opus 5. Una solicitud que omite el thinking campo se ejecuta con el pensamiento adaptativo. Se trata de una diferencia con respecto a Claude Sonnet 4.6, en la que la misma solicitud se ejecutaba sin pensarlo, por lo que una aplicación migrada desde Claude Sonnet 4.6 sin cambios generará resultados de pensamiento (y se facturará a los tokens de pensamiento como si se tratara de tokens de salida), aunque el cuerpo de la solicitud no cambiara.

Para dejar de pensar por completo en estos modelos, apúntelos de forma explícita. "thinking": {"type": "disabled"} Omitir thinking este campo no desvía el pensamiento, sino que selecciona el pensamiento adaptativo. Un entorno de cliente que exprese «no pensar» como un presupuesto simbólico de pensamiento reducido o nulo tampoco lo desanima: thinking.type: "enabled" con no budget_tokens es compatible con Claude Sonnet 5 y devuelve un. ValidationException Solo el disabled tipo explícito desactiva el pensamiento.

Porque max_tokens es un límite estricto en cuanto a la producción total (pensamiento más texto de respuesta), revísalo max_tokens para las cargas de trabajo que antes se ejecutaban sin pensar. Si utilizabas el pensamiento discapacitado en el Claude Sonnet 4.6, considera la posibilidad de utilizar el pensamiento adaptativo con un output_config.effort nivel inferior al del Claude Sonnet 5 en lugar de desactivarlo.

Cómo funciona el pensamiento adaptativo

En el modo adaptativo, Claude evalúa la complejidad de cada solicitud y decide si hay que pensar en ello y en qué medida. En el nivel de esfuerzo predeterminado (high), casi siempre Claude pensará. En niveles de esfuerzo más bajos, Claude puede dejar de pensar en problemas más simples.

El pensamiento adaptativo también posibilita automáticamentePensamiento intercalado (beta). Esto significa que Claude puede pensar entre llamadas de herramientas, lo que lo hace especialmente efectivo para los flujos de trabajo de las agencias.

thinking.typeConfigúralo como "adaptive" en tu solicitud de API:

CLI
aws bedrock-runtime invoke-model \ --model-id "us.anthropic.claude-opus-4-6-v1" \ --body '{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 16000, "thinking": { "type": "adaptive" }, "messages": [ { "role": "user", "content": "Three players A, B, C play a game. Each has a jar with 100 balls numbered 1-100. Simultaneously, each draws one ball. A beats B if As number > Bs number (mod 100, treating 100 as 0 for comparison). Similarly for B vs C and C vs A. The overall winner is determined by majority of pairwise wins (ties broken randomly). Is there a mixed strategy Nash equilibrium where each player draws uniformly? If not, characterize the equilibrium." } ] }' \ --cli-binary-format raw-in-base64-out \ output.json && cat output.json | jq '.content[] | {type, thinking: .thinking[0:200], text}'
Python
import boto3 import json bedrock_runtime = boto3.client( service_name='bedrock-runtime', region_name='us-east-2' ) response = bedrock_runtime.invoke_model( modelId="us.anthropic.claude-opus-4-6-v1", body=json.dumps({ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 16000, "thinking": { "type": "adaptive" }, "messages": [{ "role": "user", "content": "Explain why the sum of two even numbers is always even." }] }) ) response_body = json.loads(response["body"].read()) for block in response_body["content"]: if block["type"] == "thinking": print(f"\nThinking: {block['thinking']}") elif block["type"] == "text": print(f"\nResponse: {block['text']}")
TypeScript
import { BedrockRuntimeClient, InvokeModelCommand } from "@aws-sdk/client-bedrock-runtime"; async function main() { const client = new BedrockRuntimeClient({}); const command = new InvokeModelCommand({ modelId: "us.anthropic.claude-opus-4-6-v1", body: JSON.stringify({ anthropic_version: "bedrock-2023-05-31", max_tokens: 16000, thinking: { type: "adaptive" }, messages: [{ role: "user", content: "Explain why the sum of two even numbers is always even." }] }) }); const response = await client.send(command); const responseBody = JSON.parse(new TextDecoder().decode(response.body)); for (const block of responseBody.content) { if (block.type === "thinking") { console.log(`\nThinking: ${block.thinking}`); } else if (block.type === "text") { console.log(`\nResponse: ${block.text}`); } } } main().catch(console.error);

Pensamiento adaptativo con el parámetro de esfuerzo

Puedes combinar el pensamiento adaptativo con el parámetro de esfuerzo para determinar cuánto Claude se piensa. El nivel de esfuerzo actúa como una guía básica para Claude la asignación del pensamiento:

Nivel de esfuerzo Conducta de pensamiento
max Claudesiempre piensa sin restricciones en la profundidad del pensamiento. Claude Opus Soporte para la versión 4.6, Claude Sonnet 4.6 y Claude Opus 5. max Las solicitudes que se utilizan max en modelos no compatibles devuelven un error.
xhigh Claudesiempre piensa con gran profundidad. Solo Claude Opus 5 y Claude Opus 4.6.
high (predeterminado) Claudesiempre piensa. Proporciona un razonamiento profundo sobre tareas complejas.
medium Claudeutiliza un pensamiento moderado. Puede dejar de pensar en consultas muy simples.
low Claudeminimiza el pensamiento. Deja de pensar para realizar tareas sencillas en las que la velocidad es lo más importante.
importante

El effort parámetro debe colocarse dentro de un output_config objeto independiente en el cuerpo de la solicitud, no dentro del thinking objeto. effortColocarlo dentro thinking dará como resultado unValidationException.

importante

Límite de esfuerzo cuando no se puede pensar (Claude Opus 5): Claude Opus 5 apoya"thinking": {"type": "disabled"}, pero cuando no se puede pensar, output_config.effort se limita a. high Las solicitudes xhigh o el max esfuerzo combinado con una discapacidad mental devolverán un. invalid_request_error Este límite también se aplica al esfuerzo por turno establecido a través de un mensaje del sistema a mitad de una conversación. Para usarlo xhigh o max esforzarse, habilita el pensamiento adaptativo (opción predeterminada) u omite el thinking parámetro por completo.

El siguiente ejemplo muestra cómo establecer el nivel de esfuerzo al usar la InvokeModel API:

{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 16000, "thinking": { "type": "adaptive" }, "output_config": { "effort": "high" }, "messages": [{ "role": "user", "content": "Your prompt here" }] }

Uso del pensamiento adaptativo con la API de Converse

Cuando utilices la API de Converse, introduce los effort parámetros thinking y. additionalModelRequestFields El siguiente ejemplo muestra el pensamiento adaptativo con el nivel de esfuerzo predeterminado:

import boto3, json bedrock_runtime = boto3.client(service_name='bedrock-runtime', region_name='us-east-2') response = bedrock_runtime.converse( modelId="us.anthropic.claude-opus-4-6-v1", messages=[{ "role": "user", "content": [{"text": "Explain why the sum of two even numbers is always even."}] }], additionalModelRequestFields={ "thinking": { "type": "adaptive" } } ) print(json.dumps(response["output"], indent=2, default=str))

Para especificar un nivel de esfuerzo, añada el effort campo dentro de un output_config objeto independiente enadditionalModelRequestFields:

response = bedrock_runtime.converse( modelId="us.anthropic.claude-opus-4-6-v1", messages=[{ "role": "user", "content": [{"text": "What is 2 + 2?"}] }], additionalModelRequestFields={ "thinking": { "type": "adaptive" }, "output_config": { "effort": "low" } } )

Establecer el esfuerzo por turno (beta)

Esta función es un servicio beta, tal y como se define en las condiciones de servicio de AWS. En Claude Fable 5.1 y Claude Mythos 5.1, puede cambiar el nivel de esfuerzo a la mitad de una conversación en lugar de configurarlo una vez para toda la solicitud. Inserte un mensaje del sistema que contenga un output_config.effort valor en cualquier punto de la matriz. messages El nuevo nivel de esfuerzo se aplica a los turnos siguientes. La solicitud devuelve 200 sin cambiar la forma de la respuesta.

Para usar el esfuerzo por turno, incluye uno de los siguientes anthropic_beta valores:mid-conversation-output-config-2026-07-01, mid-conversation-effort-2026-08-01per-turn-control-2026-07-01, oper-message-effort-2026-07-01.

{ "anthropic_version": "bedrock-2023-05-31", "anthropic_beta": ["mid-conversation-effort-2026-08-01"], "max_tokens": 16000, "output_config": {"effort": "high"}, "messages": [ {"role": "user", "content": "First question"}, {"role": "assistant", "content": "First answer"}, {"role": "system", "content": [], "output_config": {"effort": "low"}}, {"role": "user", "content": "A simpler follow-up question"} ] }
nota

Sin uno de los valores beta listados (o en un modelo que no admite el esfuerzo por turno), se devuelve una solicitud que esté incluida output_config en un mensaje del sistema. 400 messages.N.output_config: Extra inputs are not permitted No task_budget se admite el método por turno y, además, arroja un valor de 400.

Almacenamiento en caché de peticiones

Las solicitudes consecutivas que utilizan el adaptive pensamiento preservan rápidamente los puntos de interrupción de la caché. Sin embargo, al cambiar entre los modos de disabled pensamiento adaptive yenabled/se rompen los puntos de interrupción de la caché de los mensajes. Las instrucciones del sistema y las definiciones de las herramientas permanecen en caché independientemente de los cambios de modo.

Ajustar el comportamiento del pensamiento

Si Claude piensas con más o menos frecuencia de la que te gustaría, puedes añadir instrucciones al mensaje del sistema:

Extended thinking adds latency and should only be used when it will meaningfully improve answer quality — typically for problems that require multi-step reasoning. When in doubt, respond directly.
aviso

ClaudePensar con menos frecuencia puede reducir la calidad de las tareas que se benefician del razonamiento. Mida el impacto en sus cargas de trabajo específicas antes de implementar un ajuste de producción basado en las solicitudes. Considere primero la posibilidad de realizar pruebas con niveles de esfuerzo más bajos.

Resumen del texto del conector (beta)

En Claude Fable 5, el texto que el modelo emite entre las llamadas a las herramientas (a veces denominado «texto del conector», por ejemplo, «Déjame comprobar ese archivo a continuación...») se resume en el servidor y se devuelve como un bloque de pensamiento en lugar de como un bloque de contenido de texto sin formato. El bloque de pensamiento usa la misma forma que cualquier otro bloque de pensamiento (texto vacío con una firma en la pantalla predeterminada). omitted

Impacto en los clientes:

  • Forma de respuesta: Tool-use las respuestas de Claude Fable 5 pueden contener bloques de pensamiento adicionales, mientras que los modelos anteriores emitían texto plano entre tool_use bloques. No hay ningún tipo de bloque de contenido nuevo. Las respuestas finales del asistente (una vez que se haya completado el uso de la herramienta) no se ven afectadas y permanecen en texto sin formato.

  • Multi-turn Manejo: Transfiera estos bloques de pensamiento sin cambios en las conversaciones de varios turnos, lo mismo que se hace con el pensamiento protegido (se valida la firma en el momento de la transferencia; se borra silenciosamente si se envía a un modelo diferente).

  • Alcance: el resumen de los conectores solo se aplica cuando tool_result ya existe uno en la conversación. La narración antes de la primera llamada a una herramienta en una conversación nueva sigue siendo texto sin formato. Los segmentos de texto cortos pueden pasar a texto plano sin resumirse.

Esta función está habilitada en el lado del servidor para Claude Fable 5. El cliente no acepta ni se excluye.