Tema 16 · Producción & Costos

16. IA en Producción: Optimización de Costos, Prompt Caching y Monitoreo

Reduce tu factura de API hasta en un 80% usando Prompt Caching, enrutamiento dinámico de modelos (model routing) y métricas de observabilidad.

Llevar la IA a Producción: El Triángulo de Costo, Latencia y Calidad

Hacer un prototipo con IA que funcione en localhost toma una tarde. Llevar ese mismo asistente a producción para atender a 50,000 usuarios concurrentes sin quebrar tu presupuesto requiere dominar tres pilares de ingeniería: optimización de costos con Prompt Caching, enrutamiento inteligente de modelos (Model Routing) y observabilidad exhaustiva.

Prompt Caching: El Ahorro del 50% al 90%

Tanto OpenAI como Anthropic introdujeron Prompt Caching (Caché de Instrucciones). Cuando envías un prompt cuyo prefijo inicial supera los 1,024 tokens (por ejemplo, el System Prompt de tu empresa o un documento de referencia) y se repite en peticiones subsiguientes:

  • El proveedor reutiliza la memoria de atención (KV-cache) en sus GPUs.
  • Obtienes un descuento de hasta el 50% al 90% en el costo de los tokens de entrada cacheados.
  • La latencia (Time To First Token) se reduce drásticamente hasta en un 80%.
💡 Regla de Estructuración de Prompts: Coloca siempre todo lo estático al inicio (instrucciones del sistema, esquemas de tools, documentación base) y coloca las variables dinámicas (el mensaje del usuario) al final absoluto. Si alteras el inicio del texto, invalidarás la caché.

Enrutamiento Inteligente de Modelos (Model Routing)

Nivel de Complejidad Modelo Recomendado Costo Relativo Tareas Asignadas
Nivel 1: Triage y Clasificación gpt-4o-mini / claude-3-5-haiku / gemini-1.5-flash $ (~0.15 USD por millón de tokens) Clasificar intención, filtrar spam, extracción de entidades simples y respuestas cortas.
Nivel 2: Razonamiento y Síntesis gpt-4o / claude-3-5-sonnet $$$$ (~3.00 a 5.00 USD por millón de tokens) Generación de código complejo, análisis legal, resolución de problemas arquitectónicos.

⚡ Logger de Telemetría, Costos y Latencia en Base de Datos MySQL/MariaDB

Servicio PHP que calcula el costo real en dólares de cada consulta a partir de los tokens de entrada y salida, registrándolo en la base de datos.

llm-metrics-logger.php
Solo lectura
<?php
declare(strict_types=1);

namespace App\Telemetry;

class LlmMetricsLogger
{
    private \PDO $pdo;

    // Tarifas de referencia por millón de tokens (ejemplo para gpt-4o-mini)
    private const RATES_PER_MILLION = [
        'gpt-4o-mini' => [
            'input'         => 0.15,
            'input_cached'  => 0.075,
            'output'        => 0.60
        ]
    ];

    public function __construct(\PDO $pdo)
    {
        $this->pdo = $pdo;
    }

    /**
     * Registra el uso de IA, latencia y costo financiero exacto de la petición.
     */
    public function logTransaction(
        int $userId,
        string $model,
        int $promptTokens,
        int $cachedTokens,
        int $completionTokens,
        float $latencyMs,
        string $endpoint
    ): void {
        $rates = self::RATES_PER_MILLION[$model] ?? ['input' => 0.15, 'input_cached' => 0.075, 'output' => 0.60];

        // Cálculo exacto del costo en dólares USD
        $uncachedPromptTokens = max(0, $promptTokens - $cachedTokens);
        $costInput = ($uncachedPromptTokens / 1_000_000) * $rates['input'];
        $costCached = ($cachedTokens / 1_000_000) * $rates['input_cached'];
        $costOutput = ($completionTokens / 1_000_000) * $rates['output'];
        $totalCostUsd = $costInput + $costCached + $costOutput;

        $stmt = $this->pdo->prepare('
            INSERT INTO metricas_ia 
            (usuario_id, modelo, tokens_prompt, tokens_cacheados, tokens_respuesta, latencia_ms, costo_usd, endpoint, creado_en)
            VALUES 
            (:uid, :model, :prompt, :cached, :comp, :lat, :cost, :endpoint, NOW())
        ');

        $stmt->execute([
            'uid'      => $userId,
            'model'    => $model,
            'prompt'   => $promptTokens,
            'cached'   => $cachedTokens,
            'comp'     => $completionTokens,
            'lat'      => $latencyMs,
            'cost'     => round($totalCostUsd, 6),
            'endpoint' => $endpoint
        ]);
    }
}
🧠
Mini-Quiz de Retención
Comprueba tu comprensión antes de pasar a la siguiente lección
1 Pregunta
Pregunta 1
¿Cómo debes estructurar el contenido de tus prompts para aprovechar al máximo el descuento y velocidad de Prompt Caching?
🦉
¿Tienes dudas con este tema?
Sócrates AI puede darte analogías y explicarte este código paso a paso.

🚀 ¿Quieres dominar IA Aplicada a Desarrollo Web: APIs, RAG & Agentes y crear proyectos reales?

Aprende arquitectura limpia, desarrollo web moderno, buenas prácticas y despliegue en producción con nuestro Bootcamp Fullstack Developer con mentorías en vivo.

🏛️ Autoría y Propiedad Intelectual: Obra educativa original de David Amador para Kilopolis Academia (Solucionáticos), estructurada sobre las especificaciones y estándares abiertos del W3C, el estándar vivo de WHATWG y la documentación oficial de código abierto. © Todos los derechos reservados.