Inicio / La API de Claude para quienes construyen
Dos palancas de coste, la memoria en caché y el procesamiento por lotes
Un prefijo de petición marcado como reutilizable cuesta una fracción reducida del precio normal cuando se relee desde la caché, y un conjunto de peticiones no urgentes tratado por lotes cuesta menos que un tratamiento inmediato, dos reducciones que se acumulan entre sí y con los demás modificadores de precio.
Dos mecanismos reducen el coste de una petición a la API Messages sin cambiar su respuesta: la memoria en caché reutiliza un prefijo estable de una petición a otra, y el procesamiento por lotes agrupa peticiones no urgentes en un envío diferido.
La memoria en caché, una lectura más barata que una entrada normal
Marcar un bloque de contenido como reutilizable crea un punto de ruptura en la petición: todo lo que precede a ese punto puede releerse desde la caché en una llamada siguiente que comparta exactamente el mismo prefijo. Una lectura en caché cuesta una fracción reducida del precio de entrada normal para la práctica totalidad de los modelos actuales, la figura de esta lección da la tasa exacta con su fuente. La escritura inicial en la caché cuesta por el contrario más cara que la entrada normal, y se elige entre dos duraciones de conservación, cinco minutos o una hora, siendo la más larga la que más cuesta escribir. La caché se rentabiliza desde la primera relectura en conservación de cinco minutos, la duración por defecto, y solo a partir de la segunda relectura en conservación de una hora.
El procesamiento por lotes, un envío diferido a precio reducido
La API de procesamiento por lotes acepta un conjunto de peticiones independientes y las trata de forma diferida, con una reducción fija sobre los tokens de entrada y de salida, sea cual sea el modelo llamado, cifrada también en la figura de esta lección. Esta reducción conviene a un trabajo que no espera una respuesta inmediata: clasificar un lote de documentos, generar resúmenes en serie, o reconstruir un conjunto de pruebas. Los dos mecanismos se acumulan entre sí y con los demás modificadores de precio: un prefijo puesto en caché y luego releído en una petición enviada por lotes se beneficia de las dos reducciones a la vez.
El mismo prefijo estable que se beneficia de la caché también entra en el cálculo de la ventana de contexto antes del envío, puesto que marcar un bloque como reutilizable no cambia nada su peso en tokens.
import anthropic
client = anthropic.Anthropic()
instructions_stables = "Vous etes un assistant qui repond en une phrase. " * 200
reponse = client.messages.create(
model="claude-sonnet-5",
max_tokens=100,
system=[
{
"type": "text",
"text": instructions_stables,
"cache_control": {"type": "ephemeral"},
}
],
messages=[{"role": "user", "content": "Resume ce texte en une phrase."}],
)
print("jetons ecrits en cache :", reponse.usage.cache_creation_input_tokens)
print("jetons lus depuis le cache :", reponse.usage.cache_read_input_tokens)
La primera llamada con ese prefijo paga la tarifa de escritura, y una segunda llamada que reutiliza exactamente el mismo texto antes del punto de ruptura paga la tarifa de lectura reducida. El campo usage de la respuesta distingue los dos contadores, lo que permite comprobar que la caché realmente se ha usado en lugar de suponerlo. Un prefijo demasiado corto, por debajo de un umbral mínimo que va de 512 a 4 096 tokens según el modelo llamado, nunca se pone en caché y no muestra ningún error, la petición simplemente parte con la tarifa normal.
La anatomía de una petición con un prefijo puesto en caché
Las tasas de reducción de las dos palancas de coste
Un desarrollador envía una primera petición con un bloque de instrucciones marcado como reutilizable, y luego envía una segunda petición unos minutos después con exactamente el mismo bloque al principio. El campo usage de la segunda respuesta muestra 900 tokens leídos desde la caché.
Escribe en una frase lo que esta situación establece, y en una frase lo que no establece.
Lo que esto establece: Este registro establece que el prefijo compartido por las dos peticiones sí se releyó desde la caché en la segunda llamada, en lugar de recalcularse como una entrada normal.
Lo que esto no establece: No establece el importe exacto ahorrado en esta segunda petición, puesto que el cálculo del coste también depende del número de tokens escritos en la primera llamada y de la tarifa de escritura aplicada.
Los tres calibrados falsos más frecuentes
- Demasiado amplio Este registro establece que todas las peticiones futuras de este desarrollador se beneficiarán ahora automáticamente de la tarifa reducida de la caché, sea cual sea su contenido.
- Demasiado estrecho Este registro no establece nada en absoluto, puesto que un contador de tokens leídos desde la caché igual podría deberse a un error de visualización que a una reutilización real.
- Fuera de lugar Este registro muestra que el procesamiento por lotes habría sido una opción menos costosa para estas dos peticiones.
- Un bloque de contenido marcado como reutilizable crea un punto de ruptura, todo lo que lo precede puede releerse desde la caché mediante una llamada posterior que comparta exactamente el mismo prefijo.
- Una lectura en caché cuesta 0,1 veces el precio de entrada normal para la práctica totalidad de los modelos actuales, es decir, una reducción del 90 por ciento.
- La escritura inicial en la caché cuesta más cara que la entrada normal, y se elige entre dos duraciones de conservación, cinco minutos o una hora.
- El procesamiento por lotes reduce en un 50 por ciento el precio de los tokens de entrada y de salida, a cambio de un tratamiento diferido en lugar de inmediato.
- Los dos mecanismos se acumulan entre sí y con los demás modificadores de precio aplicados a una misma petición.
Envía dos veces seguidas, desde tu equipo, una petición que marque el mismo bloque de instrucciones como reutilizable, y compara los contadores cache_creation_input_tokens y cache_read_input_tokens de las dos respuestas recibidas.