Cargando

Reglas del almacenamiento en caché de prompts

Lección 443 min

El almacenamiento en caché de prompts en Claude funciona almacenando el trabajo computacional realizado en tus mensajes para que pueda reutilizarse en solicitudes posteriores. Esto hace que las solicitudes subsecuentes sean más rápidas y económicas de ejecutar, pero solo cuando envías repetidamente contenido idéntico.

El proceso es sencillo: tu solicitud inicial escribe el trabajo de procesamiento en la caché, y las solicitudes posteriores pueden leer de esa caché en lugar de reprocesar el mismo contenido. Por defecto, la caché vive durante 5 minutos, por lo que esta función solo es útil si envías repetidamente el mismo contenido dentro de ese período de tiempo. Si necesitas más tiempo, también está disponible una duración de caché de 1 hora a un precio de escritura en caché más alto.

Puntos de interrupción de caché

El almacenamiento en caché no se habilita automáticamente: necesitas agregar manualmente puntos de interrupción de caché a bloques específicos en tus mensajes. Así es como funciona:

  • El trabajo realizado en los mensajes no se almacena en caché automáticamente
  • Debes agregar manualmente un 'punto de interrupción de caché' a un bloque
  • El trabajo realizado para todo lo que está antes del punto de interrupción se almacenará en caché
  • La caché solo se usará en solicitudes posteriores si el contenido hasta e incluyendo el punto de interrupción es idéntico

Para agregar un punto de interrupción de caché, necesitas usar la forma extendida para escribir bloques de texto en lugar de la forma abreviada:

La forma abreviada no proporciona un lugar para agregar el campo de control de caché, por lo que debes usar el formato expandido con el campo cache_control configurado como {"type": "ephemeral"}.

Cómo funcionan los puntos de interrupción de caché

Cuando colocas un punto de interrupción de caché en un mensaje, Claude almacena en caché todo el trabajo de procesamiento hasta e incluyendo ese punto de interrupción. El contenido después del punto de interrupción se procesa normalmente sin almacenamiento en caché.

Para que la caché sea útil en solicitudes posteriores, el contenido debe ser idéntico hasta el punto de interrupción. Incluso pequeños cambios como agregar la palabra "por favor" invalidarán la caché y forzarán a Claude a reprocesar todo.

Almacenamiento en caché entre mensajes

Los puntos de interrupción de caché pueden abarcar múltiples mensajes y tipos de mensajes. Si colocas un punto de interrupción en un mensaje posterior, todos los mensajes anteriores (usuario, asistente, etc.) se incluirán en el contenido almacenado en caché.

Esto es particularmente útil para conversaciones donde deseas almacenar en caché todo el contexto hasta un cierto punto.

Indicaciones del sistema y herramientas

No estás limitado a bloques de texto: los puntos de interrupción de caché pueden agregarse a:

  • Indicaciones del sistema
  • Definiciones de herramientas
  • Bloques de imagen
  • Bloques de uso de herramientas y resultados de herramientas

Las indicaciones del sistema y las definiciones de herramientas son excelentes candidatas para el almacenamiento en caché, ya que rara vez cambian entre solicitudes. Aquí es donde a menudo obtendrás el mayor beneficio del almacenamiento en caché de prompts.

Orden de la caché

Detrás de escena, Claude procesa los componentes de tu solicitud en un orden específico: primero las herramientas, luego la indicación del sistema, y después los mensajes. Comprender este orden te ayuda a colocar los puntos de interrupción de manera efectiva.

Puedes agregar hasta cuatro puntos de interrupción de caché en total. Por ejemplo, podrías almacenar en caché tus herramientas y luego agregar otro punto de interrupción a mitad de tu historial de conversación. Esto te da flexibilidad en lo que se almacena en caché cuando diferentes partes de tu solicitud cambian.

Longitud mínima de contenido

Existe un umbral mínimo para el almacenamiento en caché: el contenido debe tener al menos 1024 tokens de longitud para poder almacenarse en caché. Esta es la suma de todos los mensajes y bloques que intentas almacenar en caché, no bloques individuales.

Un simple mensaje "¡Hola!" no alcanzará este umbral, pero si duplicas ese contenido 500 veces (o tienes un prompt genuinamente largo), superará los 1024 tokens y será elegible para el almacenamiento en caché.

La clave para un almacenamiento en caché de prompts efectivo es identificar qué partes de tus solicitudes permanecen consistentes a través de múltiples llamadas y colocar los puntos de interrupción estratégicamente para maximizar la reutilización mientras se minimiza la invalidación de la caché.