Anthropic ha añadido a la documentación para desarrolladores de Claude una función en beta: el ajuste de effort por mensaje. En mitad de una conversación de varios turnos, los desarrolladores pueden insertar un mensaje system especial para cambiar el nivel de razonamiento de las respuestas siguientes, de high a low o al revés. La configuración de effort del nivel superior de la solicitud no se toca, de modo que el prefijo de conversación ya almacenado en caché sigue acertando.
La sintaxis que muestra la documentación es breve. En el array messages se añade un mensaje con role igual a system y content como array vacío, que contiene el nuevo valor de output_config.effort, y se envía la cabecera mid-conversation-output-config-2026-07-01. En el ejemplo, el effort de nivel superior está en high y el modelo planifica primero, con nivel alto, una migración en tres pasos de SQLite a PostgreSQL. Después se inserta un mensaje system de nivel low; el usuario solo pide condensar el plan en una frase, y esa ronda se responde con nivel bajo.
Desde qué turno cuenta el nuevo nivel
El momento en que surte efecto depende de dónde se coloque el mensaje, y las reglas están bastante detalladas:
- Si va justo detrás de un mensaje user con entrada nueva, Claude usa el nuevo nivel para la respuesta de ese turno;
- Si va en otro lugar, por ejemplo entre la respuesta del assistant y el siguiente mensaje user, el nuevo nivel rige desde el siguiente mensaje user con entrada nueva;
- Un mensaje user que solo contiene un tool_result no cuenta como entrada nueva, así que varias idas y vueltas de llamadas a herramientas no activan el cambio.
El nuevo nivel se mantiene hasta que un mensaje posterior lo modifique. La documentación advierte expresamente de que este mensaje debe colocarse al final del contenido ya enviado y conservarse tal cual en las solicitudes posteriores: no se puede insertar antes de turnos ya enviados ni moverlo o eliminarlo después. En los modelos compatibles con preserved thinking (pensamiento preservado), cualquiera de estos cambios invalida los bloques de pensamiento de los turnos del assistant posteriores a ese mensaje.
Los casos de error también están bien enumerados. Si se escribe output_config en un mensaje system sin la cabecera beta, la interfaz devuelve un error 400 con el aviso Extra inputs are not permitted; con la cabecera beta pero en un modelo no compatible, como Claude Fable 5, también devuelve un 400. Tampoco se puede cambiar el nivel a mitad de conversación cuando Sonnet 5.5 tiene activado el modo de pensamiento between_tools o cuando Haiku 5.5 tiene el pensamiento desactivado; la documentación aconseja usar en esos dos casos el pensamiento adaptativo.
Cómo se cambiaba antes y qué se ahorra ahora
El effort era hasta ahora un parámetro a nivel de solicitud, escrito en lo más alto de esta. Quien quería que una misma conversación pensara a fondo al principio y respondiera rápido después solo podía modificar el valor superior entre dos solicitudes. La valoración de la documentación sobre esa práctica es directa: en cuanto cambia el valor superior, la caché del prompt se recalcula desde cero y el contexto largo acumulado se factura como si no hubiera acertado en la caché.
"A per-message change leaves everything before it unchanged, so the cached prefix still matches." (Un cambio por mensaje deja intacto todo lo anterior, así que el prefijo en caché sigue coincidiendo.)
La documentación menciona además un detalle fácil de pasar por alto: en Claude Fable 5.1, cambiar el valor superior ya guía al modelo de forma poco fiable, porque las respuestas anteriores se redactaron con el nivel antiguo y el modelo tiende a mantener la coherencia con su propio estilo. El cambio por mensaje escribe en la propia conversación el aviso de que "a partir de aquí se cambia de marcha", y el modelo puede ver ese punto.
Esto resulta más útil en bucles de Agent de larga duración. Un agente de programación puede dedicar nivel alto a leer el código y decidir el plan de cambios, y ejecutar y confirmar durante decenas de turnos con nivel bajo, mientras el prefijo de contexto permanece igual y la tasa de aciertos de la caché no se ve afectada. Antes había que elegir entre flexibilidad de nivel y ahorro de caché; ahora se pueden tener ambas cosas.
Las aplicaciones de atención al cliente y de preguntas y respuestas también pueden aprovecharlo. Al comienzo el usuario describe una avería compleja y el modelo diagnostica con nivel alto; una vez localizado el problema, cuando el usuario solo pregunta "dónde exactamente hago clic en el segundo paso", bajar a nivel bajo hace la respuesta bastante más rápida. A la inversa, si en medio de una charla informal el usuario lanza de pronto un contrato para revisarlo cláusula por cláusula, la aplicación puede subir el nivel de forma temporal. Estos cambios antes obligaban a renunciar a la caché o directamente a no cambiar.
Alcance del soporte
En cuanto a modelos, Fable 5.2, Mythos 5.2, Fable 5.1, Mythos 5.1, Opus 5.5, Opus 5, Sonnet 5.5 y Haiku 5.5 figuran en la lista beta, y las plataformas en la nube que cubre cada modelo no son idénticas. En cuanto a plataformas, la API de Claude, Amazon Bedrock, Claude Platform on AWS, las dos modalidades de alojamiento en Google Cloud y Microsoft Foundry aparecen marcadas como beta. Quienes usan la interfaz InvokeModel de Bedrock deben escribir el valor beta en el array anthropic_beta del cuerpo de la solicitud, no en una cabecera.
Managed Agents no admite por ahora esta función; la alternativa que ofrece la documentación es sobrescribir la configuración de modelo del Agent a nivel de sesión. La función sigue en fase beta, la fecha incluida en el nombre de la cabecera beta es un identificador de versión de la interfaz, y la documentación no aclara si la forma de escribirla cambiará cuando salga la versión estable.
Fuentes: página Per-message effort de la documentación para desarrolladores de Claude (se comprobaron el nombre de la cabecera beta, la lista de modelos y plataformas, las reglas sobre dónde surte efecto el cambio y los mensajes de error), CocoLoop, explicación del parámetro effort en la documentación para desarrolladores de Claude.