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 es la forma recomendada de usar Pensamiento extendido con la Claude Opus versión 4.6. En lugar de establecer manualmente un presupuesto de fichas de pensamiento, 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. El pensamiento adaptativo genera un mejor rendimiento de forma fiable que el pensamiento extendido con un budget_tokens enfoque fijo, y recomendamos pasar al pensamiento adaptativo para obtener las respuestas más inteligentes a partir de la Claude Opus versión 4.6. No se requiere ningún encabezado beta.

Los modelos admitidos son los siguientes:

Modelo ID del modelo

Claude Opus 5

anthropic.claude-opus-5

Claude Mythos 5

anthropic.claude-mythos-5

Claude Fable 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 Mythos 5, Claude Fable 5, Claude Opus 4.7 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.

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.

Cómo funciona el pensamiento adaptativo

En el modo adaptativo, Claude evalúa la complejidad de cada solicitud y decide si hay que pensar 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 OpusSolo 4.6 y Claude Opus 5; las solicitudes que se utilicen max en otros modelos mostrarán 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 y se dedica a 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" } } )

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 finalizado 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.