Esfuerzo por mensaje
Usa un mensaje del sistema para cambiar el nivel de esfuerzo a mitad de una conversación y conservar la caché de prompts.
Un cambio de esfuerzo por mensaje establece un nuevo nivel de esfuerzo para los turnos posteriores de una conversación sin cambiar el valor de nivel superior de la solicitud, por lo que el prefijo almacenado en caché sigue coincidiendo.
Cambiar el nivel de esfuerzo
Para cambiar el nivel a mitad de una conversación:
- Agrega un mensaje
role: "system"amessages, concontentvacío y el nuevo nivel de esfuerzo enoutput_config.effort. - Envía el encabezado beta
mid-conversation-output-config-2026-07-01. - Deja el valor de nivel superior sin cambios.
El siguiente ejemplo mantiene el valor de nivel superior en high y baja a low para un seguimiento rutinario:
client = anthropic.Anthropic()
response = client.beta.messages.create(
model="claude-fable-5-1",
max_tokens=4096,
output_config={"effort": "high"},
messages=[
{
"role": "user",
"content": "Plan a migration from SQLite to PostgreSQL in three short steps.",
},
{
"role": "assistant",
"content": "1. Export the SQLite data. 2. Create the PostgreSQL schema. 3. Import the data and verify row counts.",
},
# Mensaje del sistema solo de esfuerzo: el nuevo nivel se aplica a partir del siguiente turno del usuario.
{"role": "system", "content": [], "output_config": {"effort": "low"}},
{"role": "user", "content": "Summarize the plan in one sentence."},
],
betas=["mid-conversation-output-config-2026-07-01"],
)
for block in response.content:
if block.type == "text":
print(block.text)La posición del mensaje decide cuándo comienza el nuevo nivel:
- Directamente después de un turno
usercon nueva entrada: la respuesta de Claude a ese turno usa el nuevo nivel. - En cualquier otra posición, como entre un turno
assistanty el siguiente turnousercomo en el ejemplo anterior: el nuevo nivel comienza en el siguiente turnousercon nueva entrada.
Un turno user que solo contiene bloques tool_result no cuenta como nueva entrada.
El nuevo nivel permanece vigente hasta que un mensaje posterior lo cambie.
Coloca el mensaje después de todo lo que ya hayas enviado y mantenlo en su lugar en las solicitudes posteriores. No lo insertes antes de turnos que ya hayas enviado, y no lo muevas ni lo elimines más adelante. En los modelos con “preserved thinking” (pensamiento preservado), cualquiera de esos cambios invalida los bloques de pensamiento en los turnos assistant posteriores al mensaje. Qué hace la API con un bloque no válido explica lo que sucede a continuación.
Si está junto a un mensaje system que tiene contenido, ambos mensajes deben seguir las reglas de ubicación para mensajes del sistema a mitad de la conversación.
Con la API InvokeModel de Amazon Bedrock, envía el valor beta en el arreglo anthropic_beta del cuerpo de la solicitud en lugar del encabezado. Para conocer los modelos que admiten el esfuerzo por mensaje allí, consulta Mensajes del sistema a mitad de la conversación en Bedrock.
Errores
- Sin el encabezado beta, un
output_configpor mensaje devuelve un error 400:messages.N.output_config: Extra inputs are not permitted, dondeNes el índice del mensajesystemenmessages. - Con el encabezado beta, los modelos sin esfuerzo por mensaje, como Claude Fable 5, devuelven un error 400:
output_config.effort requires a model that supports per-turn effort; this model does not. En Amazon Bedrock, esos modelos y Claude Opus 5 devuelvenExtra inputs are not permitteden su lugar. - En Claude Sonnet 5.5 con
thinking: {"type": "between_tools"}y en Claude Haiku 5.5 conthinking: {"type": "disabled"}, no puedes cambiar el nivel de esfuerzo a mitad de la conversación. En esos casos, unoutput_config.effortpor mensaje con un nuevo nivel devuelve un error 400. Para variar el esfuerzo en cada turno, usa el pensamiento adaptativo.
Esfuerzo por mensaje o de nivel superior
Prefiere el esfuerzo por mensaje en lugar de cambiar el valor de nivel superior entre solicitudes. Un cambio por mensaje deja sin cambios todo lo anterior, por lo que el prefijo almacenado en caché sigue coincidiendo. Un cambio de nivel superior reinicia la caché. En Claude Fable 5.1, un cambio de nivel superior además dirige el modelo de forma menos confiable. Las respuestas anteriores del modelo se escribieron con el nivel previo, y el modelo tiende a mantenerse coherente con ellas.
Disponibilidad
Claude API
- Estado
- Beta
- API
- Messages API
- Managed Agents No compatible
- Encabezado beta
- Requiere
- Modelos
- Claude Fable 5.2, Fable 5.1
- Claude Mythos 5.2, Mythos 5.1
- Claude Opus 5.5, Opus 5
- Claude Sonnet 5.5
- Claude Haiku 5.5
Amazon Bedrock
- Estado
- Beta
- API
- Messages API
- Encabezado beta
- Requiere
- Modelos
- Claude Fable 5.1
- Claude Mythos 5.1
- Claude Opus 5.5
Amazon Bedrock (bedrock-runtime)
- Estado
- Beta
- API
- Messages API
- Encabezado beta
- Requiere
- Modelos
- Claude Fable 5.2, Fable 5.1
- Claude Mythos 5.2
- Claude Opus 5.5
- Nota
Envía el valor beta en el array
anthropic_betadel cuerpo de la solicitud.
Claude Platform on AWS
- Estado
- Beta
- API
- Messages API
- Managed Agents No compatible
- Encabezado beta
- Requiere
- Modelos
- Claude Fable 5.2, Fable 5.1
- Claude Opus 5.5, Opus 5
- Claude Sonnet 5.5
- Claude Haiku 5.5
Claude Models on Google Cloud (Anthropic managed)
- Estado
- Beta
- API
- Messages API
- Managed Agents No compatible
- Encabezado beta
- Requiere
- Modelos
- Claude Fable 5.2, Fable 5.1
- Claude Mythos 5.2
- Claude Opus 5.5, Opus 5
- Claude Sonnet 5.5
- Claude Haiku 5.5
Claude Models on Google Cloud (Google managed)
- Estado
- Beta
- API
- Messages API
- Encabezado beta
- Requiere
- Modelos
- Claude Fable 5.2, Fable 5.1
- Claude Mythos 5.2, Mythos 5.1
- Claude Opus 5.5, Opus 5
- Claude Sonnet 5.5
- Claude Haiku 5.5
Microsoft Foundry (hosted on Azure)
- Estado
- Beta
- API
- Messages API
- Encabezado beta
- Requiere
- Modelos
- Claude Opus 5.5, Opus 5
- Claude Sonnet 5.5
- Claude Haiku 5.5
Microsoft Foundry (hosted on Anthropic)
- Estado
- Beta
- API
- Messages API
- Encabezado beta
- Requiere
- Modelos
- Claude Fable 5.2, Fable 5.1
- Claude Mythos 5.2, Mythos 5.1
- Claude Opus 5.5, Opus 5
- Claude Sonnet 5.5
- Claude Haiku 5.5
¿Te resultó útil esta página?