Volver a las guías
Costo·25 de mayo de 2026·Actualizado el 30 de septiembre de 2026·11 min de lectura

Optimización de costos de IA — guía completa para reducir un 70-90 % tu factura de LLM

Si pagas más de 1.000 $ al mes por API de LLM, esta guía te ahorrará al menos la mitad. Cada técnica se publica con ahorros medidos y código ejecutable. Combina 3-5 y una reducción del 70 % es realista sin sacrificar calidad.

Última revisión: .

Las cinco técnicas se acumulan. Cada una reduce una parte distinta de la factura: combinar tres permite alcanzar razonablemente una reducción del 70 % sin pérdida de calidad; utilizar las cinco acerca el resultado al 85–90 %. Esta guía ofrece el menú completo, con ahorros medidos y código ejecutable para cada técnica. Cada técnica enlaza a un análisis detallado específico al final.

Las cinco técnicas, clasificadas por ROI

#TécnicaQué reduceAhorro realista
1caché de promptsTokens de entrada en indicaciones repetidas60–90 % de ahorro en el coste de entrada
2Asignación por niveles de modeloTarifa por llamada en tareas sencillas~10 veces más barato
3Límites de salidaTokens de salida, el coste dominante en tareas creativasLa salida cuesta 4–5 veces la entrada
4Paralelismo + procesamiento por lotesTiempo real, no coste por tokenPermite timeouts más estrictos y menos reintentos
5Higiene de reintentosGasto descontrolado en reintentosLimita la cola, no el promedio

1. Caché de indicaciones: con diferencia, la técnica con mayor ROI

Si su indicación de sistema supera los 1,000 tokens y llama a la misma indicación más de dos veces en una ventana de 5 minutos, la caché de indicaciones es dinero gratis. Anthropic cobra la entrada almacenada en caché a 10% de la tarifa de entrada (2.5% on Claude Fable 5.1, 5% on Claude Opus 5.5); OpenAI aplica automáticamente el equivalente a 10%. Solo hay que añadir un campo:

cache_control.py
# Prompt caching: 1 extra field = 10% rate on cached input
resp = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=600,
    system=[{
        "type": "text",
        "text": LONG_SYSTEM_PROMPT,
        "cache_control": {"type": "ephemeral"},   # cache this part
    }],
    messages=[{"role": "user", "content": question}],
)

Ahorro realista: 60–90 % de la línea de coste de entrada si la indicación de sistema es grande y estable. Consulte el panel /app/usage: si cache_read_input_tokens es 0, tiene 30 minutos de trabajo por delante que se amortizarán para siempre. Análisis detallado.

2. Asignación por niveles de modelo: utilice el modelo más barato que sea suficientemente bueno

Claude Haiku 4.5 cuesta aproximadamente el 10 % de Claude Opus 4.7. Para clasificación, formato, decisiones de enrutamiento y resúmenes sencillos, Haiku es más que suficiente. Reserve Opus para las llamadas de razonamiento realmente difíciles.

tiering.py
# Pick the cheapest model that's still good enough for the task.
# Escalate by difficulty: cheap (Haiku 4.5 / GPT-5.6 Terra) -> Sonnet 5 -> Opus 4.7
def pick_model(difficulty: int) -> str:
    if difficulty <= 2: return "claude-haiku-4-5"     # ~10x cheaper than Opus
    if difficulty <= 4: return "gpt-5-6-terra"        # a second family, cheap output
    if difficulty <= 7: return "claude-sonnet-5"
    return "claude-opus-4-7"

Cómo crear la decisión de asignación por niveles: primero un clasificador pequeño (el propio Haiku puede hacerlo con 100 tokens de entrada) y después el enrutamiento. Mida la calidad de salida con evaluaciones reservadas. No deje que la intuición elija: mídalo con benchmarks.

  • Nivel 0 (Haiku 4.5): clasificación, extracción, traducción y resumen de entradas <2K — céntimos por llamada
  • Nivel 1 (GPT-5.6 Terra): resúmenes más largos, finalización de código y uso sencillo de herramientas — también céntimos, pero mejor con contextos largos
  • Nivel 2 (Sonnet 5): razonamiento real, agentes de varios pasos y tareas de visión — el caballo de batalla de producción
  • Nivel 3 (Opus 4.7): solo cuando haya confirmado que Sonnet no lo resuelve correctamente

3. Límites de salida: limite lo que generan, no solo lo que leen

Los tokens de salida suelen costar entre 4 y 5 veces más que los de entrada. Un valor predeterminado flexible de max_tokens=4096 invita al modelo a divagar. Limite de forma agresiva y utilice secuencias de parada para cortar en el marcador correcto:

caps.py
# Two-layer caps: per-call max_tokens + per-key wallet cap
client.chat.completions.create(
    model="claude-sonnet-5",
    messages=[...],
    max_tokens=800,             # cap each call
    stop=["</answer>"],         # cut at terminator
)
# /app/keys → set "Spending limit" per key:
#   Production: $50/day · Experiment: $5/day · CI: $1/day

Combine el max_tokens por llamada con un tope de gasto de cartera por clave en /app/keys: un bucle descontrolado o un error no puede superar su límite diario. Dos capas, ambas importantes.

4. Paralelismo: para cargas de trabajo con forma de lote

Si procesas 1.000 elementos independientes (clasificar comentarios, puntuar leads, generar descripciones), las llamadas seriales tardan una hora. El procesamiento asíncrono con AsyncOpenAI y un límite de concurrencia te permite terminar en menos de un minuto, y los tiempos de espera más estrictos te permiten fallar rápidamente ante proveedores ascendentes lentos. El paralelismo no reduce el coste por token, pero habilita patrones arquitectónicos (procesamiento idempotente, presupuestos de reintentos más estrictos) que sí lo hacen.

5. Higiene de los reintentos: no pagues por reintentos descontrolados

El código ingenuo reintenta ante cualquier error, incluidos los 400. Eso significa pagar por los fallos (las solicitudes 4xx en Kunavo no se facturan, pero aun así consumes presupuesto del límite de velocidad y tiempo de reloj). Política correcta: reintentar solo ante 408/429/5xx, con retroceso exponencial y jitter, un máximo de 5 intentos y 30 segundos de espera total. Ante cualquier otra cosa, falla rápidamente y muestra el error.

Cómo se ven los ahorros en la práctica

Ahorros medidos realistas en un SaaS que usa Kunavo con un gasto de 5.000 $/mes:

  • Caché de prompts añadida: 2.000 $ ahorrados (−40 %)
  • Uso de Haiku como nivel de modelo para tareas de clasificación: 800 $ ahorrados (−16 %)
  • max_tokens más estrictos: 400 $ ahorrados (−8 %)
  • Combinado: 3.200 $ ahorrados al mes, 1.800 $ gastados (−64 % en total)

Estos efectos se acumulan: cada técnica siguiente funciona sobre la base ya reducida. Sin aplicar primero la caché, las demás ahorran menos. El orden importa: empieza por la n.º 1, después la n.º 2 y luego la n.º 3.

Lo que no funciona como se anuncia

  • «Embeddings para todo»: los embeddings ahorran en las búsquedas de texto, no en la generación. Son baratos, pero no reducen el coste de las llamadas al LLM
  • «Ajustes finos locales para reducir costes»: solo se justifican si procesas 10 millones de tokens al día o más en una tarea específica. Para la mayoría de los equipos, la caché de prompts y el uso de Haiku como nivel de modelo compensan más que asumir la complejidad operativa del alojamiento propio
  • «Agregadores más baratos»: Kunavo ya ofrece la mayoría de los modelos por debajo de la tarifa oficial del proveedor. Los agregadores más baratos suelen ganar sustituyendo silenciosamente el modelo solicitado por uno más barato

Próximos pasos

Aplica primero la caché: ofrece el mayor ROI por hora invertida. Después, instrumenta el desglose de tu panel /app/usage por modelo y nivel. Luego, aplica niveles. Realiza un seguimiento del coste mensual por usuario activo como métrica principal: si se mantiene estable o disminuye mientras crece la participación, estás ganando.

Preguntas frecuentes

¿Cuánto puede reducir la caché de indicaciones la factura de un LLM?

Anthropic factura la entrada almacenada en caché a 10% de la tarifa normal de entrada (2.5% on Claude Fable 5.1, 5% on Claude Opus 5.5), y OpenAI aplica automáticamente el equivalente a 10%. En una carga de trabajo con una indicación de sistema grande y estable, eso supone un descuento del 60–90 % en la línea de coste de entrada. Aplíquelo primero: todas las técnicas posteriores trabajarán sobre una base reducida. Consulte el análisis detallado de la caché de indicaciones para conocer la forma exacta de la solicitud.

¿Cuánto más barato es Claude Haiku que Claude Opus?

Claude Haiku 4.5 cuesta aproximadamente el 10 % de Claude Opus 4.7, es decir, unas 10 veces menos. Para clasificación, extracción, traducción y resúmenes breves, Haiku es suficiente; reserve Opus para razonamientos que haya confirmado que Claude Sonnet 5 resuelve incorrectamente. Las tarifas actuales por modelo aparecen en la guía de precios de la API de Claude.

¿Los tokens de salida son más caros que los de entrada?

Sí: los tokens de salida suelen costar entre 4 y 5 veces más que los de entrada. Por eso un valor predeterminado flexible de max_tokens=4096 resulta caro: invita al modelo a divagar en la línea más costosa de la factura. Limite max_tokens por llamada y utilice secuencias de parada para cortar en el marcador correcto.

¿Cuánto puede reducir realmente una factura de LLM en total?

Combinar tres de las cinco técnicas puede lograr razonablemente una reducción del 70 % sin pérdida de calidad, y utilizar las cinco acerca el resultado al 85–90 %. En una carga de trabajo medida de 5,000 $/mes: la caché de indicaciones ahorró 2,000 $ (−40 %), la asignación al nivel Haiku para clasificación ahorró 800 $ (−16 %) y unos límites max_tokens más estrictos ahorraron 400 $ (−8 %): 3,200 $ ahorrados, 1,800 $ gastados, una reducción total del 64 %.

¿Cuál es la política correcta de reintentos para las llamadas a la API de LLM?

Reintente solo las respuestas 408, 429 y 5xx, con retroceso exponencial más fluctuación aleatoria, limitado a 5 intentos y 30 segundos de espera total. Falle rápidamente en todos los demás casos. Reintentar un 400 nunca funciona y, aunque las solicitudes 4xx fallidas no se facturan en Kunavo, consumen presupuesto del límite de velocidad y tiempo real.