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 utilizar Pensamiento extendido la versión Claude Opus 4.6. En lugar de establecer manualmente un presupuesto simbólico para pensar, 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 impulsa de forma fiable un mejor rendimiento que el pensamiento extendido con un enfoque fijobudget_tokens, por lo que 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 Opus4.6

anthropic.claude-opus-4-6-v1

Claude Sonnet 4.6

anthropic.claude-sonnet-4-6

nota

thinking.type: "enabled"y budget_tokens están en desuso en Claude Opus 4.6 y se eliminarán en una versión futura del modelo. thinking.type: "adaptive"Utilícelo con el parámetro effort en su lugar.

Los modelos más antiguos (Claude Sonnet 4.5, Claude Opus 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 piensa en ello y en qué medida. Con el nivel de esfuerzo predeterminado (high), casi siempre Claude pensará. Con niveles de esfuerzo más bajos, Claude puede dejar de pensar en problemas más simples.

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

thinking.typeConfigúrelo "adaptive" en su 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

Puede combinar el pensamiento adaptativo con el parámetro de esfuerzo para determinar la cantidad de pensamiento que Claude se necesita para pensar. El nivel de esfuerzo actúa como una guía flexible para Claude la asignación del pensamiento:

Nivel de esfuerzo Comportamiento de pensamiento
max Claudepiensa siempre sin restricciones en cuanto a la profundidad de pensamiento. Claude OpusSolo en 4.6: las solicitudes que max se utilicen en otros modelos devolverán un error.
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. Evita pensar en tareas sencillas en las que la velocidad es lo más importante.

Almacenamiento en caché de peticiones

Las solicitudes consecutivas que utilizan adaptive Thinking Preserve generan puntos de interrupción en la memoria caché. Sin embargo, al cambiar entre los adaptive modos enabled disabled /thinking se rompen los puntos de interrupción de la caché de los mensajes. Las indicaciones del sistema y las definiciones de herramientas permanecen en caché independientemente de los cambios de modo.

Ajustar el comportamiento de pensamiento

Si Claude piensa con más o menos frecuencia de la que le gustaría, puede añadir una guía al indicador 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

ClaudeEmpezar a pensar 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 ajustes de producción basados en pronósticos. Considere la posibilidad de realizar primero pruebas con niveles de esfuerzo más bajos.