Ir al contenido principal
Agentes IA en producción: cómo no arruinarte con los costes

Agentes IA en producción: cómo no arruinarte con los costes

AI Integration
6 min readPor Daily Miranda Pardo

Construiste el agente. Funciona en staging. Lo despliegas para 200 usuarios. Un mes después miras la factura de la API y hay un número que no esperabas.

Ahí empieza la pregunta que todos los CTOs hacen tarde: ¿cuánto me cuesta realmente este agente en producción?

No es un problema de stack. No es un problema de arquitectura. Es un problema de escala multiplicada por coste por llamada, sin ningún mecanismo de control. En este artículo te explico los cuatro patrones que usamos en producción para reducir el coste de agentes IA entre un 40% y un 70% sin degradar la calidad de las respuestas.

Por qué el coste de los agentes escala diferente al software clásico

Un agente IA no es como una API REST. Una API clásica tiene un coste fijo por operación. Un agente tiene un coste que depende de cuántos tokens procesa — y eso depende del system prompt, del historial acumulado, de las definiciones de herramientas, de los resultados de cada tool call, y de la longitud de la respuesta.

Si tienes un agente con un system prompt de 2.000 tokens, un historial de conversación de 5 turnos y 4 definiciones de herramientas, cada llamada empieza con más de 5.000 tokens de entrada antes de que el usuario escriba nada. Con 200 usuarios activos y 10 mensajes por sesión, eso son 10 millones de tokens de entrada al día. Solo de overhead.

El problema no es que la IA sea cara. El problema es que escalar sin controlar el contexto multiplica el coste de forma exponencial.

Técnica 1: Prompt caching

Anthropic implementó prompt caching en la API de Claude en 2024. Es la técnica con mayor impacto inmediato: puede reducir el coste de entrada hasta un 90% para los tokens cacheados.

La idea es simple: marcas las partes estáticas de tu prompt con cache_control: { type: "ephemeral" }. Si la llamada siguiente tiene el mismo prefijo cacheado, Claude no reprocesa esos tokens — los sirve desde caché. Solo pagas el procesamiento de los tokens que cambian: el mensaje del usuario y los últimos intercambios.

const response = await anthropic.messages.create({
  model: "claude-sonnet-5",
  max_tokens: 1024,
  system: [
    {
      type: "text",
      text: STATIC_SYSTEM_PROMPT, // 2.000 tokens que no cambian nunca
      cache_control: { type: "ephemeral" }
    }
  ],
  messages: [
    ...conversationHistory,
    { role: "user", content: userMessage }
  ]
});

Cuándo aplica: cuando tienes un system prompt largo y estático — instrucciones, personalidad, contexto de empresa — que se repite en cada llamada. Las definiciones de herramientas también son buenas candidatas.

Ahorro real: con un system prompt de 3.000 tokens y 10.000 llamadas diarias, pasar de procesar a cachear esos tokens puede suponer entre €200 y €400 al mes menos en factura, dependiendo del modelo.

Técnica 2: Model routing

No todas las tareas dentro de un agente requieren el mismo nivel de razonamiento. Usar el modelo más caro para todo es el error más común al escalar.

El patrón de model routing funciona así: clasificas la complejidad de cada tarea antes de elegir el modelo.

async function routeToModel(task: string): Promise<string> {
  // Clasificación con el modelo más barato y rápido
  const classification = await anthropic.messages.create({
    model: "claude-haiku-4-5-20251001",
    max_tokens: 20,
    messages: [{
      role: "user",
      content: `Clasifica esta tarea como SIMPLE o COMPLEJA. Solo responde la palabra.\nTarea: ${task}`
    }]
  });

  const complexity = classification.content[0].text.trim();

  return complexity === "SIMPLE"
    ? "claude-haiku-4-5-20251001"  // barato, rápido
    : "claude-sonnet-5";            // más capaz, más caro
}

Tareas SIMPLE: respuestas cortas, extracción de datos estructurados, clasificación, resúmenes breves, validaciones.

Tareas COMPLEJA: razonamiento multi-paso, análisis de documentos largos, generación de código complejo, decisiones con múltiples variables.

Con model routing bien implementado, entre el 60% y el 80% de las llamadas de un agente comercial o de soporte pueden resolverse con el modelo más económico.

Técnica 3: Context pruning

El historial de conversación es el mayor sumidero de tokens en agentes con memoria. Sin control, cada turno añade tokens al contexto siguiente. En conversaciones largas, el 70% de los tokens que envías son historial que el modelo probablemente no necesita para responder la pregunta actual.

Tres estrategias para controlarlo, de menor a mayor complejidad:

Ventana deslizante: mantén solo los últimos N mensajes en el contexto. Simple pero efectivo para chats de soporte donde cada pregunta es relativamente independiente.

function pruneHistory(messages: Message[], maxTurns = 10): Message[] {
  if (messages.length <= maxTurns * 2) return messages;
  return messages.slice(-maxTurns * 2); // últimos N pares user/assistant
}

Resumen comprimido: en lugar de truncar, comprimes los mensajes más antiguos en un párrafo de resumen. El agente mantiene coherencia a largo plazo con mucho menos coste.

Extracción de entidades: en lugar del historial completo, extraes y actualizas un JSON con los datos relevantes — nombre del usuario, problema reportado, pasos ya dados. Es el enfoque que usamos en los agentes con integración de IA en sistemas reales que construimos para clientes.

Técnica 4: Monitoriza el coste por conversación desde el día uno

Sin visibilidad del coste por conversación, no sabes si tienes un problema hasta que llega la factura. Tres indicadores que tienes que registrar desde el primer despliegue:

  • Tokens de entrada por mensaje: si sube semana a semana sin que haya crecido el uso real, el contexto está creciendo sin control
  • Cache hit rate: si tienes prompt caching y el hit rate baja del 70%, algo en tu prompt "estático" está cambiando entre llamadas sin que lo sepas
  • Coste por conversación completada: divide el coste total por conversaciones que llegaron a resolución — es el único número que dice si el agente es económicamente sostenible
interface LLMCallMetrics {
  inputTokens: number;
  outputTokens: number;
  cachedTokens: number;
  model: string;
  conversationId: string;
}

function trackUsage(response: Anthropic.Message, meta: Partial<LLMCallMetrics>) {
  const metrics: LLMCallMetrics = {
    inputTokens: response.usage.input_tokens,
    outputTokens: response.usage.output_tokens,
    cachedTokens: response.usage.cache_read_input_tokens ?? 0,
    model: response.model,
    conversationId: meta.conversationId!,
  };
  // → envía a Datadog, Grafana, PostHog, lo que ya tengas
}

El error silencioso que no ve nadie hasta que ya cuesta

El patrón más común que encontramos al auditar agentes de clientes: un system prompt que crece semana a semana porque el equipo va añadiendo instrucciones para corregir comportamientos puntuales, sin limpiar las que ya no aplican.

En seis meses, el system prompt pasa de 500 tokens a 6.000. El agente no mejora proporcionalmente. El coste sí.

Antes de implementar caching o routing, audita el system prompt. Elimina instrucciones redundantes, consolida reglas similares, testea que el comportamiento se mantiene con la mitad de tokens. Es la optimización con mejor ROI y no requiere tocar código de producción.


Si estás escalando un agente IA y los costes empiezan a preocuparte, o si quieres implementar estos patrones antes de que el problema aparezca, cuéntame la situación en 30 minutos.

Hablamos sobre el coste de tu agente en producción →

Compartir artículo

LinkedInXWhatsApp

¿Procesos repetitivos en tu empresa?

Descarga gratis el Mapa de Automatización IA — los 5 procesos que más tiempo roban y cómo resolverlos.

Sin spam. Solo el PDF. Puedes darte de baja cuando quieras.

Escrito por Daily Miranda Pardo

Ayudo a empresas a automatizar procesos, crear agentes IA y conectar sistemas inteligentes.