Prompt Caching
El prompt caching es una función de la API de Claude que guarda en memoria fragmentos repetidos de un prompt para reutilizarlos en llamadas posteriores, reduciendo coste y latencia al no reprocesarlos cada vez.
El prompt caching es una función de la API de Claude que permite marcar partes de un prompt (instrucciones largas, documentos, ejemplos, definiciones de herramientas) para que Anthropic las guarde procesadas y las reutilice en llamadas siguientes. En lugar de que el modelo vuelva a leer y tokenizar ese mismo bloque una y otra vez, se recupera de la caché, lo que abarata drásticamente el coste de esos tokens y reduce la latencia.
Cómo funciona
Cuando envías una petición a la API, insertas un marcador cache_control en los bloques de contenido que quieres cachear. Claude calcula un hash del contenido hasta ese punto y, si en una petición posterior el prefijo coincide exactamente, sirve esa parte desde la caché en vez de reprocesarla.
Puntos clave del mecanismo:
- Es prefijo, no fragmento suelto. La caché funciona sobre el prefijo del prompt: todo lo que va antes del punto marcado debe ser idéntico byte a byte para que haya acierto.
- Orden de mayor a menor estabilidad. Conviene poner primero lo que no cambia (system prompt, documentos, herramientas) y al final lo variable (la pregunta del usuario).
- Tiempo de vida. La caché tiene una duración corta por defecto (del orden de minutos) y se renueva con cada uso. Anthropic ofrece también opciones de duración extendida.
El coste se reparte en dos tarifas: escribir en caché (cache write) sale algo más caro que un token normal, pero leer de caché (cache read) es mucho más barato, típicamente una fracción del precio de entrada estándar.
Por qué importa
Si construyes sobre Claude, el prompt caching cambia la economía de casos muy habituales:
- Chatbots con contexto grande: un system prompt extenso o una base de conocimiento adjunta se cachean una vez y se reutilizan en cada turno de la conversación.
- Análisis repetido de documentos: cargas un PDF largo una vez y lanzas muchas preguntas sobre él sin pagar por reprocesarlo cada vez.
- Agentes con muchas herramientas: las definiciones de tools ocupan muchos tokens y son estables entre llamadas, así que cachearlas ahorra bastante.
El resultado combinado es menor factura y respuestas más rápidas, dos cosas que importan mucho en producción. Dominar esta técnica es parte de lo que se ve al aprender a construir sobre la API de Claude de forma profesional.
Ejemplo de estructura
{
"model": "claude-...",
"system": [
{
"type": "text",
"text": "Instrucciones largas + documento...",
"cache_control": {"type": "ephemeral"}
}
],
"messages": [
{"role": "user", "content": "Pregunta variable aquí"}
]
}La primera llamada escribe en caché; las siguientes, mientras el prefijo no cambie, leen de ella a precio reducido.
Errores comunes
- Colocar la parte variable antes de la estable. Si el texto que cambia va al principio, el prefijo nunca coincide y no hay acierto de caché.
- Esperar persistencia larga. La caché es efímera; no sirve como almacenamiento permanente entre sesiones distantes en el tiempo.
- Cachear bloques pequeños. Existe un mínimo de tokens para que un bloque sea cacheable; fragmentos cortos no compensan.
- Confundirlo con la memoria del modelo. El prompt caching no da a Claude memoria ni aprendizaje: solo evita reprocesar tokens idénticos. Tampoco amplía la ventana de contexto.
Bien aplicado, es una de las palancas más directas para reducir coste sin tocar la calidad de las respuestas.
Preguntas frecuentes
¿Cuánto ahorra el prompt caching?
Leer desde caché suele costar una fracción del precio de entrada normal, mientras que escribir en caché cuesta algo más que un token estándar. En cargas con prefijos largos y repetidos el ahorro neto puede ser muy alto.
¿Cuánto dura la caché en Claude?
Por defecto la caché es efímera, con una vida útil corta del orden de minutos que se renueva cada vez que se usa. Anthropic ofrece también opciones de duración extendida según el plan y la versión de la API.
¿El prompt caching amplía la ventana de contexto?
No. Solo evita reprocesar tokens idénticos entre llamadas para ahorrar coste y latencia. La cantidad de tokens que caben en una petición sigue limitada por la ventana de contexto del modelo.
¿Dónde debo colocar los bloques cacheados?
Al principio del prompt, en la parte estable: system prompt, documentos y definiciones de herramientas. Lo variable, como la pregunta del usuario, debe ir al final para que el prefijo cacheado coincida.