Phase 17 - Lesson 15

Batch APIs — the 50% Discount as Industry Standard

This lesson includes a graded coding exercise that runs in your browser, unlocked with lifetime access.

Cada gran proveedor ofrece una API de procesamiento por lotes (Batch API) asíncrona con un 50% de descuento y un plazo de entrega de aproximadamente 24 horas. OpenAI, Anthropic, Google y la mayoría de las plataformas de inferencia (como la capa de lotes de Fireworks y Together) implementan el mismo patrón. Al combinar el procesamiento por lotes con el almacenamiento en caché de prompts en pipelines nocturnos, el costo se reduce a aproximadamente el 10% del procesamiento síncrono y sin caché. La regla es brutalmente simple: si no es interactivo, pertenece al procesamiento por lotes. Pipelines de generación de contenido, clasificación de documentos, extracción de datos, generación de informes, etiquetado masivo, categorización de catálogos; cualquier tarea que tolere una latencia de 24 horas representa dinero desperdiciado hasta que se migre a lotes. El patrón de producción de 2026 consiste en clasificar cada nueva carga de trabajo de LLM en tres vías: interactiva (síncrona con caché), semi-interactiva (cola asíncrona con fallback) y por lotes (ejecución nocturna con caché de entrada acumulada). Las cargas de trabajo que pretenden ser interactivas pero toleran minutos de latencia son las que más recursos desperdician.

Type: Learn Languages: Python (stdlib, toy batch-vs-sync cost simulator) Prerequisites: Phase 17 · 14 (Prompt & Semantic Caching) Time: ~45 minutos

Learning Objectives

  • Identificar las tres APIs de lotes de los proveedores (OpenAI, Anthropic, Google) y la garantía común de 50% de descuento con plazo de entrega de 24 horas.
  • Calcular el ahorro derivado de combinar procesamiento por lotes y caché de entrada en un flujo de clasificación nocturno, comparándolo con el procesamiento síncrono sin caché.
  • Clasificar cargas de trabajo entre interactiva / semi-interactiva / lotes y justificar la ruta adoptada.
  • Identificar las dos trampas de los lotes: interatividad parcial (el usuario espera el retorno en menos de 24 horas) y desviación en el formato de salida (diferentes formatos de archivos de lotes por proveedor).

El Problema

Tu equipo implementa un pipeline nocturno de generación de informes. Son 50,000 documentos: resumir cada uno, agrupar los resúmenes y redactar un informe ejecutivo condensado. Ejecutándose de forma síncrona, la tarea toma 4 horas y cuesta

,000 por noche. Escuchas hablar de las APIs de lotes.

El procesamiento por lotes garantiza un 50% de descuento de inmediato. También activas el almacenamiento en caché de prompts en el prompt del sistema (compartido por todas las 50,000 llamadas). Acumulados ambos recursos, el costo diario desciende a

80 — cerca del 9% del precio base. El mismo pipeline, con solo tres cambios de configuración.

El procesamiento por lotes es la palanca de reducción de costos más barata y menos utilizada en el conjunto de herramientas de LLM. El motivo es mayoritariamente organizativo: los equipos piensan en "tiempo real" cuando, en realidad, el SLA de entrega es "para la mañana". Esta lección enseña a no dejar el 90% de tu presupuesto de infraestructura en la mesa.

El Concepto

Las tres APIs de lotes

OpenAI Batch API: Carga de archivo JSONL con una lista de solicitudes. Plazo de entrega prometido de 24 horas (generamente de 2 a 8 horas en la práctica). Descuento del 50% en los tokens de entrada y de salida. Endpoint /v1/batches. Las entradas elegibles al caché también acumulan el descuento de tokens en caché por encima.

Anthropic Message Batches: Carga de JSONL. Plazo de entrega de 24 horas. Descuento del 50%. Admite cache_control — las escrituras de caché son explícitas, y las lecturas subsiguientes ocurren de forma automática dentro del lote.

Google Vertex AI Batch Prediction: Entrada mediante BigQuery o GCS. Descuento del 50% equivalente para la familia Gemini. Se integra de manera nativa con los pipelines de Vertex.

Semántica: asíncrono, no lento

El procesamiento por lotes significa "garantizo la entrega en un plazo de 24 horas" — y no "esta llamada tardará 24 horas". El tiempo medio típico (P50) es de 2 a 6 horas. Los proveedores programan el procesamiento de lotes en periodos de inactividad, cuando la utilización de GPUs está en baja.

Acumulando con caché

Un flujo de resumen de 50,000 documentos compartiendo el mismo prompt de sistema de 4K tokens:

El resultado de la acumulación: lotes + caché = ~10% del costo síncrono original. Toda carga que se ejecute por la noche y tenga un prompt de sistema compartido debe usar este enfoque.

Clasificación de cargas de trabajo

Interactiva — el usuario espera la respuesta directamente en la pantalla. El TTFT es crítico. Llamada síncrona con caché de prompt activado. No acepta lotes.

Semi-interactiva — el usuario envía la tarea y regresa minutos después para verificar. Fila asíncrona con fallback síncrono si el lote no está disponible. Ejemplo: indexación de RAG de volumen moderado.

Por lotes (Batch) — el usuario espera el resultado "para la mañana" o "en la siguiente hora". Pipelines de contenido, clasificación volumétrica, análisis offline. Siempre por lotes, siempre acumulando caché.

Error común: clasificar todo como interactivo bajo la justificación de que el pipeline se ejecuta en producción. Producción no define la latencia — el SLA la define.

La trampa de la interactividad parcial

Algunas funcionalidades parecen interactivas, pero toleran de 5 a 10 minutos de espera. Ejemplo: un informe de salud del cliente generado bajo demanda con un botón de "actualizar". El usuario hace clic; esperar 10 minutos es aceptable. Sin embargo, el equipo implementa el flujo de forma síncrona. Cincuenta clics simultáneos de actualización cuestan 10 veces más de lo que costaría el procesamiento por lotes entregado por correo electrónico.

La pregunta crucial: "¿Qué significa el plazo de 24 horas para este usuario?". Si la respuesta es "no notarían la diferencia", procésalo por lotes.

La trampa del formato de salida

Los formatos de los archivos de lotes difieren según cada proveedor:

Desarrollar un único cliente de lotes unificado exige código de adaptación (adapters) para cada proveedor. Las pasarelas de pago que prometen lotes multi-proveedor (como Portkey o LiteLLM en ciertas capas) solo envuelven la estructura cruda.

Números que deberías recordar

Pruébalo

code/main.py calcula los costos comparativos entre síncrono, síncrono+cáché, lotes y lotes+cáché para un flujo de 50,000 documentos. Muestra el ahorro en dólares y en porcentaje.

Envíalo a Producción

Esta lección produce outputs/skill-batch-triager.md. Dadas las características de la carga de trabajo, realiza la clasificación en interactiva/semi/lotes y calcula la proyección de ahorro.

Ejercicios

  1. Ejecuta code/main.py. Para un pipeline de 100,000 documentos con prompt de sistema de 3K tokens y salida de 500 tokens, calcula el ahorro de la acumulación completa (lotes + caché) contra la línea base síncrona.
  2. Elige tres funcionalidades de un producto real que conozcas. Clasifica cada una en interactiva/semi/lotes.
  3. Un usuario se queja de que su informe tomó 3 horas en generarse. ¿Fue un error de clasificación del lote o un caso de uso legítimamente interactivo? Escribe los criterios de esa decisión.
  4. El SLA de retorno de tu API de lote es de 24h, pero el P99 real es de 20 horas. ¿Cómo le comunicas esto al usuario y cuál es el comportamiento del sistema en los casos extremos de lentitud?
  5. Calcula el punto de equilibrio (break-even): ¿con qué longitud de prefijo compartido el procesamiento por lotes + caché se vuelve más barato que ejecutar la infraestructura nocturna en una GPU reservada propia?

Términos Clave

Término Lo que la gente dice Lo que realmente significa
API de lotes "descuento asíncrono" 50% de descuento con plazo de entrega de 24h
JSONL "formato de lote" Formato de un objeto JSON por línea; estándar de OpenAI/Anthropic
Message Batches "lote de Anthropic" Nombre comercial de la API de lotes de Anthropic
Batch prediction "lote de Vertex" Producto de API de lotes de Vertex AI
SLA de entrega "promesa de 24h" Garantía contractual máxima; el tiempo típico real es de 2 a 6h
Clasificación de carga de trabajo "decisión de interactividad" Decisión de enrutamiento de flujos en interactivo, semi-interactivo o lote
Formato de salida "esquema de respuesta" Layout JSONL específico de cada proveedor; no portable
Descuento acumulado "lote + caché" ~10% de la factura síncrona original al acumular ambos recursos

Lecturas Recomendadas

0 lifetime access. Curriculum based on AI Engineering from Scratch by Rohit Ghumare (MIT, used under attribution).