Construir aplicaciones de IA en 2026 ya no va solo de “promptear”; va de ingeniería de contexto. A medida que entramos en una era donde las ventanas de 1M+ tokens son lo normal, el reto principal ha cambiado de “¿cuánto puede recordar la IA?” a “¿cuánto estoy dispuesto a pagar por esa memoria?”
Sin caché de prompts, cada turno en una conversación larga se siente como comprar el mismo libro cinco veces solo para leer cinco capítulos distintos.
Tokens y el matiz de la “capacidad”
Los tokens siguen siendo la moneda de la IA (1.000 tokens ≈ 750 palabras). Sin embargo, es un error común pensar que una ventana de contexto enorme (por ejemplo, 2M tokens) es gratis.
- →Capacidad vs. uso: Tener la capacidad de procesar 2 millones de tokens es como tener un almacén enorme; no os cobran por el espacio vacío, pero sí por el “trabajo” (cómputo) necesario para escanear todo lo que metéis dentro.
- →El descuento del caché: Sin caché, pagáis ese coste de “trabajo” cada vez. Con caché, el modelo se salta la fase cara de “pre-relleno” (pre-fill).
- →Costes de almacenamiento: Ojo: algunos proveedores (como Google Gemini) pueden cobrar una pequeña “tarifa de almacenamiento” según el tiempo que mantengáis un contexto cacheado, en vez de aplicar solo un descuento fijo sobre el input.
Manos a la obra: la estrategia del “prefijo estático”
Para provocar un acierto de caché, vuestro prompt debe estructurarse como un prefijo estático (la parte que no cambia) seguido de un sufijo dinámico (la nueva pregunta).
1. Cachear la “biblioteca de herramientas” (patrón agente)
Si vuestro agente de IA tiene más de 40 herramientas especializadas (funciones), solo las definiciones en JSON pueden ocupar miles de tokens. Si mandáis eso con cada mensaje del usuario, la factura se dispara.
Implementación (estilo Anthropic):
python
# Coloca un 'breakpoint' al final del bloque de herramientas/sistema
response = client.messages.create(
model="claude-3-7-sonnet-20251022",
tools=[
{
"name": "get_user_financials",
"description": "...",
"input_schema": {...},
"cache_control": {"type": "ephemeral"} # PUNTO DE CACHÉ
},
# ... 39 herramientas más
],
messages=[{"role": "user", "content": "Analyze my last three tax returns."}]
)
2. El “residente a largo plazo” (preguntas y respuestas sobre documentos)
Cuando construís una herramienta de “chatear con un PDF”, el documento es la parte estática.
Implementación (estilo OpenAI - automática):
OpenAI cachea automáticamente prompts de más de 1.024 tokens. Para asegurar un acierto, el documento debe ir primero. Si ponéis “Fecha de hoy: 8 ene 2026” arriba del todo y lo cambiáis cada día, rompéis el caché de todo lo que venga después.
python
# Correcto: primero el contexto, luego la pregunta del usuario
messages = [
{"role": "system", "content": "You are analyzing the 50,000-token 'Legal_Contract_v2.pdf'. [Full Text Here]"},
{"role": "user", "content": "What is the termination clause?"}
]
3. La “captura de contexto” (Google Gemini)
Para contextos enormes (como más de 100 vídeos o 1M líneas de código), Gemini usa caché explícito, donde creáis un “objeto de caché” persistente.
python
# Crea una captura de un repositorio de código una sola vez
cache = client.caches.create(
model="gemini-2.0-pro",
config=types.CreateCachedContentConfig(
contents=[document_1, document_2],
ttl="3600s", # Se mantiene 'caliente' durante 1 hora
),
)
# Usa el mismo 'cache.name' para 100 preguntas distintas del usuario
La regla de oro: solo coincidencias exactas
El caché se basa en un hash criptográfico del prefijo. Incluso un solo espacio extra o un salto de línea oculto al inicio del texto provocará un “fallo de caché”, obligando al modelo a recalcular (y a volver a cobrar) desde cero.
Pro-tip: Eliminad siempre espacios en blanco al principio y al final de vuestros prompts de sistema estáticos y de las cadenas de documentos antes de enviarlas a la API.