Anthropic lanzó Claude Sonnet 5 el 30 de junio de 2026 como reemplazo directo de Sonnet 4.6. En muchos casos basta con cambiar el ID del modelo, pero hay cambios que debes validar antes de producción: nuevo tokenizador, pensamiento adaptativo activado por defecto y parámetros que ahora devuelven error 400.
Resumen rápido: el precio por token se mantiene, los benchmarks de codificación y tareas agénticas mejoran, pero debes revisar tres puntos de integración y volver a medir tus presupuestos de tokens.
La actualización de un vistazo
Sonnet 5 mantiene el mismo precio por token que Sonnet 4.6. La diferencia está en el comportamiento por defecto y en cómo debes presupuestar tokens.
| Atributo | Sonnet 4.6 (claude-sonnet-4-6) |
Sonnet 5 (claude-sonnet-5) |
|---|---|---|
| Lanzamiento | Predecesor | 30 de junio de 2026 |
| Ventana de contexto | Hasta 1M de tokens | 1M de tokens, predeterminado y máximo |
| Salida máxima | 128K tokens | 128K tokens |
| Pensamiento predeterminado | Desactivado si no hay campo thinking
|
Pensamiento adaptativo activado por defecto |
Pensamiento extendido (budget_tokens) |
Obsoleto | Devuelve error 400 |
Parámetros de muestreo (temperature, top_p, top_k) |
Aceptados | Valores no predeterminados devuelven 400 |
| Tokenizador | Tokenizador anterior | Nuevo tokenizador, ~30% más tokens por texto |
| Precio estándar | $3 / $15 por M in/out | $3 / $15 por M in/out |
| Precio de introducción | n/a | $2 / $10 por M hasta el 31 de agosto de 2026 |
Lo que se mantiene: salidas estructuradas, visión, caché de prompts, uso de herramientas y procesamiento por lotes. La característica de plataforma que no está disponible en Sonnet 5 es el Nivel de Prioridad.
Qué mejoró: benchmarks
Sonnet 5 está orientado a tareas agénticas y uso intensivo de herramientas. Estos son los benchmarks de lanzamiento reportados por Anthropic; trátalos como cifras reportadas, no como pruebas independientes.
| Benchmark | Sonnet 4.6 | Sonnet 5 |
|---|---|---|
| SWE-bench Pro, codificación agéntica | 58.1% | 63.2% |
| OSWorld-Verified, uso de computadora | 78.5% | 81.2% |
La mejora importa si tu producto ejecuta flujos como:
- generación y corrección de código;
- agentes que usan herramientas;
- ejecución de comandos o interacción con entornos;
- análisis de repositorios;
- automatización sobre APIs externas.
Anthropic también reporta menor tasa de comportamientos indeseables, menor alucinación y adulación, mejor resistencia a inyección de prompts y salvaguardias de ciberseguridad en tiempo real.
Importante para tu parser: una negativa a una solicitud prohibida puede devolverse como HTTP 200 con:
{
"stop_reason": "refusal"
}
No lo trates como éxito funcional. Añade una rama explícita para stop_reason: "refusal".
Para comparar con el modelo premium, consulta Sonnet 5 vs Opus 4.8.
Checklist de migración
Antes de cambiar claude-sonnet-4-6 por claude-sonnet-5, revisa esto:
# 1. Busca uso de parámetros de muestreo
grep -R "temperature\|top_p\|top_k" ./src
# 2. Busca pensamiento extendido manual
grep -R "budget_tokens" ./src
# 3. Busca prellenado del asistente
grep -R '"role": "assistant"' ./src
# 4. Revisa límites de salida
grep -R "max_tokens" ./src
Luego prueba con prompts reales y compara:
- forma de la respuesta;
-
stop_reason; -
usage.input_tokens; -
usage.output_tokens; - truncamientos;
- coste estimado por solicitud.
Los tres cambios reales en el código
1. El pensamiento adaptativo ahora está activado por defecto
En Sonnet 4.6, si no enviabas el campo thinking, no había pensamiento. En Sonnet 5, una solicitud sin thinking usa pensamiento adaptativo por defecto.
Esto afecta a max_tokens: el límite incluye tanto tokens de pensamiento como texto final. Si antes asignabas max_tokens solo para la respuesta, ahora puedes ver respuestas truncadas.
Si quieres mantener el comportamiento anterior, desactiva el pensamiento explícitamente:
from anthropic import Anthropic
client = Anthropic()
response = client.messages.create(
model="claude-sonnet-5",
max_tokens=1024,
thinking={"type": "disabled"},
messages=[
{
"role": "user",
"content": "Return the OpenAPI 3.1 path object for GET /invoices/{id}."
}
],
)
print(response.content[0].text)
Si quieres usar pensamiento adaptativo, controla la profundidad con effort:
response = client.messages.create(
model="claude-sonnet-5",
max_tokens=8192,
thinking={"type": "adaptive"},
effort="medium",
messages=[
{
"role": "user",
"content": "Draft integration tests for the POST /orders endpoint."
}
],
)
Usa effort con valores como:
low
medium
high
xhigh
2. El pensamiento extendido manual fue eliminado
Este patrón ya no funciona en Sonnet 5:
{
"thinking": {
"type": "enabled",
"budget_tokens": 4096
}
}
Devuelve error 400.
Migra a:
{
"thinking": {
"type": "adaptive"
},
"effort": "high"
}
Regla práctica:
| Antes | Ahora |
|---|---|
budget_tokens pequeño |
effort="low" o effort="medium"
|
budget_tokens grande |
effort="high" o effort="xhigh"
|
| Sin pensamiento | thinking={"type": "disabled"} |
3. Los parámetros de muestreo ahora devuelven 400
En Sonnet 5, valores no predeterminados para estos campos devuelven error 400:
{
"temperature": 0,
"top_p": 0.9,
"top_k": 40
}
Elimina esos parámetros y mueve el control al prompt del sistema.
En vez de esto:
response = client.messages.create(
model="claude-sonnet-5",
temperature=0,
max_tokens=2048,
messages=[
{"role": "user", "content": "Generate a JSON schema for invoices."}
],
)
Usa instrucciones explícitas:
response = client.messages.create(
model="claude-sonnet-5",
max_tokens=2048,
system=(
"Responde únicamente con JSON válido. "
"No incluyas Markdown. "
"Usa nombres de campos estables y deterministas."
),
messages=[
{"role": "user", "content": "Generate a JSON schema for invoices."}
],
)
Una cosa no cambió desde 4.6: el prellenado de mensajes del asistente sigue sin ser compatible y devuelve error 400. Si lo usabas para forzar el inicio de una respuesta, usa salidas estructuradas, output_config.format o instrucciones del sistema.
El cambio del tokenizador
Sonnet 5 usa un nuevo tokenizador. El mismo texto produce aproximadamente un 30% más de tokens que en Sonnet 4.6.
No tienes que cambiar la forma de la solicitud, respuesta o streaming. Pero sí debes volver a medir todo lo que dependa de tokens:
- límites de contexto;
-
max_tokens; - coste por solicitud;
- alertas de uso;
- cuotas internas;
- estimaciones por usuario;
- dashboards de consumo.
Qué revisar
1. Recuentos de tokens
No reutilices métricas de Sonnet 4.6. Ejecuta el conteo con claude-sonnet-5.
curl https://api.anthropic.com/v1/messages/count_tokens \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--data '{
"model": "claude-sonnet-5",
"messages": [
{
"role": "user",
"content": "Summarize the changelog for our billing API v3 release."
}
]
}'
Ejecuta la misma llamada con:
"model": "claude-sonnet-4-6"
y compara.
2. Ventana de contexto
La ventana sigue siendo de 1M de tokens, pero cada token cubre menos texto en promedio. Si empaquetas contexto cerca del límite, valida que siga entrando.
3. Truncamiento de respuestas
El riesgo aumenta por dos motivos:
- el tokenizador genera más tokens;
- el pensamiento adaptativo comparte el presupuesto de
max_tokens.
Si ves respuestas cortadas, prueba:
response = client.messages.create(
model="claude-sonnet-5",
max_tokens=12000,
thinking={"type": "adaptive"},
effort="medium",
messages=[...],
)
O desactiva pensamiento para llamadas simples:
thinking={"type": "disabled"}
4. Coste real por solicitud
Ejemplo:
| Modelo | Texto equivalente | Tokens aproximados |
|---|---|---|
| Sonnet 4.6 | Prompt + respuesta | 10,000 |
| Sonnet 5 | Mismo texto | 13,000 |
Aunque la tarifa por token sea igual, una solicitud equivalente puede costar ~30% más por el aumento de tokens.
El desglose de precios de Sonnet 5 profundiza en la diferencia entre tarifa introductoria y estándar.
Cuánto cuesta Sonnet 5
A tarifa estándar, Sonnet 5 cuesta lo mismo que Sonnet 4.6:
| Tipo | Precio |
|---|---|
| Entrada | $3 por millón de tokens |
| Salida | $15 por millón de tokens |
Hasta el 31 de agosto de 2026 hay tarifa introductoria:
| Tipo | Precio introductorio |
|---|---|
| Entrada | $2 por millón de tokens |
| Salida | $10 por millón de tokens |
Durante la ventana introductoria, el menor precio por token compensa parcialmente el aumento de tokens del nuevo tokenizador. Después del 31 de agosto, la tarifa vuelve a $3 / $15 y el efecto del tokenizador puede aumentar el coste real por solicitud.
Para descuentos de procesamiento por lotes y caché de prompts, consulta la página de precios de Anthropic.
Si comparas contra generaciones anteriores, revisa también las guías de precios de Sonnet 4.6 y costo de la API de Claude.
¿Deberías actualizar?
Actualiza ahora si construyes agentes o herramientas de codificación
Es el caso más claro. Sonnet 5 mejora en benchmarks relacionados con codificación agéntica y uso de herramientas. Aun así, haz la migración con pruebas:
- cambia el ID del modelo;
- elimina parámetros incompatibles;
- mide tokens;
- ejecuta regresiones;
- monitorea
stop_reason.
Actualiza con pruebas si tienes alto volumen
El precio por token no sube, pero el consumo de tokens por texto sí puede subir. Antes de enviar tráfico real:
- ejecuta conteo de tokens con prompts representativos;
- valida
max_tokens; - compara coste por ruta;
- revisa alertas de gasto;
- ejecuta una suite de regresión.
Migra con cuidado si usas temperature, budget_tokens o prellenado
Estos patrones pueden romper en producción con error 400. Corrige antes del cambio.
Espera si necesitas Nivel de Prioridad
Sonnet 5 no lo soporta. Si tu SLA depende de esa característica, mantén Sonnet 4.6 en esas rutas.
Para la mayoría de equipos, la actualización vale la pena, pero no debe tratarse como un cambio trivial de string. Si comparas generaciones, la guía de la API de Sonnet 4.6 documenta la superficie desde la que migras.
Detecta regresiones con una suite de solicitudes guardadas en Apidog
La forma más segura de migrar es comparar Sonnet 5 contra Sonnet 4.6 usando tus propios prompts.
Apidog es una herramienta todo en uno para desarrollo y pruebas de APIs. La API de Claude es un endpoint HTTP con headers, JSON de entrada y JSON de salida. Puedes guardar esas llamadas como una colección y ejecutarlas de forma repetible.
Flujo recomendado:
- Guarda tus solicitudes reales de la API de Mensajes como una colección.
- Usa una variable de entorno para
ANTHROPIC_API_KEY. - Crea dos entornos:
claude-sonnet-4-6claude-sonnet-5
- Parametriza el campo
model. - Añade aserciones para:
- código HTTP;
- forma del JSON;
- presencia de
content; -
stop_reason; -
usage.input_tokens; -
usage.output_tokens.
- Ejecuta la colección contra ambos entornos.
- Compara resultados y revisa deltas de tokens.
Ejemplo de aserciones útiles:
pm.test("La respuesta tiene stop_reason", function () {
pm.expect(pm.response.json()).to.have.property("stop_reason");
});
pm.test("La respuesta no fue una negativa", function () {
pm.expect(pm.response.json().stop_reason).to.not.eql("refusal");
});
pm.test("usage incluye tokens", function () {
const json = pm.response.json();
pm.expect(json.usage).to.have.property("input_tokens");
pm.expect(json.usage).to.have.property("output_tokens");
});
También puedes simular el endpoint de Claude en Apidog para probar tu integración sin gastar tokens, incluyendo la ruta con:
{
"stop_reason": "refusal"
}
Si tu aplicación usa herramientas o llama a APIs descendentes, simula también esas dependencias para probar el flujo completo.
Descarga Apidog para crear tu suite de comparación, o abre Apidog en el navegador. Si vienes de Postman, la guía de pruebas de API sin Postman cubre el flujo equivalente.
Preguntas frecuentes
¿Claude Sonnet 5 es un reemplazo directo para Sonnet 4.6?
En su mayor parte, sí. Cambias el modelo de claude-sonnet-4-6 a claude-sonnet-5, pero debes revisar:
- pensamiento adaptativo activado por defecto;
- eliminación de
budget_tokens; - error 400 para parámetros de muestreo no predeterminados;
- posible aumento de tokens por el nuevo tokenizador.
Consulta la guía de la API de Sonnet 5 para la configuración completa.
¿Sonnet 5 cuesta más que Sonnet 4.6?
Por token, no. Ambos cuestan $3 por millón de tokens de entrada y $15 por millón de tokens de salida a tarifa estándar. Pero Sonnet 5 puede producir ~30% más tokens para el mismo texto, así que el coste por solicitud equivalente puede subir. Hasta el 31 de agosto de 2026 aplica una tarifa introductoria de $2 / $10 por millón.
¿Por qué mi respuesta se trunca después de actualizar?
Porque el pensamiento adaptativo está activado por defecto y comparte el presupuesto de max_tokens con el texto final. Soluciones:
- aumenta
max_tokens; - reduce
effort; - desactiva pensamiento con
thinking={"type": "disabled"}en llamadas simples.
¿Tengo que cambiar código por el nuevo tokenizador?
No por la forma de la API. Solicitudes, respuestas y streaming se mantienen. Pero sí debes volver a medir tokens, costes y límites.
¿Qué pasó con temperature y budget_tokens?
budget_tokens devuelve error 400 en Sonnet 5. También devuelven 400 los valores no predeterminados de temperature, top_p y top_k.
Migra así:
- reemplaza
budget_tokensporthinking={"type": "adaptive"}+effort; - elimina parámetros de muestreo;
- controla formato, tono y restricciones desde el prompt del sistema.
La guía de cambios en la API de Fable 5 y Mythos cubre el mismo patrón en el nivel superior.




Top comments (0)