0Pricing
AI Prompt Engineering · Lección

Almacenamiento en caché de prefijos largos

Controle los costes mediante el almacenamiento en caché de prompts.

Almacenamiento en caché de prefijos largos es una lección gratuita de AI Prompt Engineering en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de AI Prompt Engineering, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de AI Prompt Engineering incluye 4 lecciones en total.

Por qué existe la caché de prefijos

Todo prompt largo paga un coste de prellenado para codificar sus tokens antes de generar la respuesta. Cuando el mismo prefijo largo se repite en muchas llamadas —un prompt del sistema, una especificación de herramientas o un documento de referencia extenso—, la caché de prompts permite al proveedor reutilizar el estado de atención ya calculado en lugar de volver a calcularlo.

  • Los aciertos de caché reducen drásticamente la latencia y el coste de entrada.
  • El ahorro aumenta con el tamaño del prefijo y la frecuencia de reutilización.

La caché se basa en el prefijo

Las cachés se basan en una coincidencia exacta del prefijo de tokens desde el principio del prompt. El tramo almacenado en caché va desde el inicio hasta el primer punto de divergencia. Si cambia cualquier elemento al principio, todo lo que viene después deja de aprovechar la caché.

Implicación: el diseño que maximiza los aciertos coloca primero el contenido más estable y deja para el final el contenido más variable.

# Cache reuse covers: [identical prefix .... first difference)
# One early edit invalidates the whole downstream cache.

Ordene según la estabilidad

Organice el contenido de más estable a menos estable: primero las reglas inmutables del sistema y las definiciones de herramientas, después el material de referencia extenso y estable, luego el contexto estable durante la sesión y, por último, la entrada y la pregunta variables de cada solicitud.

  • Estable -> al principio (se puede almacenar en caché).
  • Variable -> al final (es la única parte que se vuelve a calcular).

Este único principio de ordenación impulsa la mayoría de las ventajas de la caché.

prompt = [
  SYSTEM_RULES,        # never changes
  TOOL_SPECS,          # rarely changes
  REFERENCE_CORPUS,    # stable for the session
  USER_TURN            # changes every call -> keep last
]

Puntos de corte de la caché

Algunos proveedores permiten marcar puntos de corte explícitos para la caché. Colóquelos al final de cada segmento estable para que el sistema pueda almacenarlo en caché hasta ese punto. Marque como almacenable en caché el bloque estable más grande, como el corpus de referencia o un prompt del sistema extenso.

Sin marcadores explícitos, organice de todos modos la estructura según la estabilidad para que la coincidencia implícita de prefijos siga siendo útil.

blocks = [
  {'text': SYSTEM_RULES, 'cache': True},
  {'text': REFERENCE_CORPUS, 'cache': True},  # big win
  {'text': user_turn}  # uncached
]

Cuidado con la deriva oculta del prefijo

Los cambios sutiles y no intencionados rompen la caché silenciosamente: una marca de tiempo en el prompt del sistema, un id de cada solicitud insertado al principio, definiciones de herramientas reordenadas o un orden no determinista de las claves JSON. Cada uno desplaza el prefijo y obliga a recalcularlo por completo.

Audite el prefijo para detectar cualquier elemento que varíe entre llamadas y muévalo después de la región almacenada en caché.

# BAD: dynamic value early -> kills cache
# system = 'Session ' + str(uuid4()) + ' rules: ...'
# GOOD: keep system static; put the id in the tail user turn.

TTL y vida útil de la caché

Las cachés caducan después de un tiempo de vida definido por el proveedor y, a menudo, se actualizan con cada acceso. Los fallos en frío reaparecen si las llamadas son demasiado poco frecuentes. En cargas de trabajo en ráfagas y de alta frecuencia, el almacenamiento en caché resulta rentable; en llamadas poco frecuentes y dispersas, la caché puede caducar entre un uso y el siguiente.

Adapte el patrón de tráfico al TTL y considere enviar pings de keep-alive para los prefijos valiosos.

Modelo de costes del almacenamiento en caché

Normalmente, el almacenamiento en caché aplica un pequeño recargo por escribir una entrada de caché y un descuento considerable por leerla. La economía favorece la reutilización: una escritura amortizada en muchas lecturas supone un gran ahorro neto; un uso único que solo escribe puede costar ligeramente más.

  • Alta reutilización -> use la caché de forma agresiva.
  • Prefijos de un solo uso -> el almacenamiento en caché puede no resultar rentable.
def worth_caching(prefix_tokens, expected_reuses, write_mult, read_mult):
    no_cache = expected_reuses
    cached = write_mult + read_mult * (expected_reuses - 1)
    return cached < no_cache  # in normalized prefix-cost units

Diseño de bloques estables del sistema

Haga que el prompt del sistema y las especificaciones de las herramientas sean deterministas y estén fijados a versiones concretas. Ordene las definiciones de las herramientas de forma canónica, evite insertar datos dinámicos y modifíquelas únicamente en lanzamientos deliberados. Un bloque estable del sistema se convierte en una entrada de caché duradera y con una tasa de aciertos alta, compartida por todas las solicitudes.

Trate el prefijo almacenado en caché como un artefacto con una versión, no como una cadena que se modifica de manera improvisada.

TOOLS = sorted(tool_defs, key=lambda t: t['name'])  # canonical order
SYSTEM_VERSION = 'v3'  # change deliberately, not per request

Almacenamiento en caché en agentes de varios turnos

En los bucles de agentes, la conversación creciente es una caché natural: cada turno amplía un prefijo que el turno siguiente reutiliza. Añada los turnos nuevos al final y no reescriba nunca los anteriores, para que la caché previa siga siendo válida.

Cuando deba compactar la conversación, hágalo de manera que cree un nuevo prefijo estable para los turnos posteriores, en lugar de modificar repetidamente los antiguos.

Medición de la eficacia de la caché

Instrumente el sistema. La mayoría de los proveedores informan de los tokens de entrada almacenados en caché y no almacenados en caché de cada llamada. Supervise la tasa de aciertos y, si es baja, inspeccione el prefijo en busca de deriva. Una regresión en la tasa de aciertos suele indicar un valor dinámico introducido recientemente al principio del prompt.

  • Registre cached_tokens / total_input_tokens.
  • Genere una alerta cuando la tasa de aciertos disminuya después de un despliegue.
hit_rate = usage['cache_read_input_tokens'] / max(1, usage['input_tokens'])
assert hit_rate > 0.6, 'prefix drift suspected'

Diseño de un prompt orientado a la caché

Para controlar el coste de los prefijos largos: ordene el contenido según su estabilidad, marque el bloque estable más grande como punto de caché, elimine la deriva oculta, fije y versione los bloques del sistema y de las herramientas, añada contenido únicamente al final en los bucles de agentes y supervise la tasa de aciertos. El objetivo es tener un prefijo grande y reutilizable, junto con una cola pequeña y volátil que se recalcule en cada llamada.

Comprobación rápida

Reutiliza un corpus de referencia de 100k tokens en miles de consultas diarias, pero la tasa de aciertos de la caché es casi nula.

Resumen: almacenamiento en caché de prefijos largos

El almacenamiento en caché de prompts reutiliza la fase de prellenado de un prefijo exacto y estable, lo que reduce considerablemente la latencia y el coste de entrada cuando la reutilización es frecuente. Ordene el contenido de mayor a menor estabilidad, marque el bloque estable grande como punto de caché y desplace toda la volatilidad a la cola. Elimine la deriva oculta, fije y versione los bloques del sistema y de las herramientas, añada contenido únicamente al final en los bucles de agentes y supervise la tasa de aciertos para que una regresión indique la introducción de un valor variable al principio del prompt.

Preguntas frecuentes

¿La lección «Almacenamiento en caché de prefijos largos» es gratis?

Sí — el texto completo de «Almacenamiento en caché de prefijos largos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de AI Prompt Engineering, actualiza a CoddyKit PRO. El curso de AI Prompt Engineering incluye 4 lecciones en total.

¿Qué aprenderé en «Almacenamiento en caché de prefijos largos»?

Controle los costes mediante el almacenamiento en caché de prompts. Practicas AI Prompt Engineering con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar AI Prompt Engineering?

No se requiere experiencia previa. AI Prompt Engineering en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Almacenamiento en caché de prefijos largos»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de AI Prompt Engineering?

Sí. Cada lección de AI Prompt Engineering incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Ventanas de contexto de un millón de tokens
  2. Perdido en el centro
  3. Estructuración de prompts enormes
  4. Almacenamiento en caché de prefijos largos
← Volver a AI Prompt Engineering