Cómo Establecer Presupuestos para el Uso de APIs de IA
Así que tu SaaS corre sobre GPT-4o o Claude y empiezas a ponerte nervioso cada vez que llega un email de AWS u OpenAI con el asunto "Tu factura está lista". Todos hemos estado ahí.
La forma predeterminada de pensar es asumir el costo y esperar que los ingresos por suscripción lo cubran. Pero ¿qué pasa cuando un usuario avanzado en tu plan de $20/mes empieza a costarte $100/mes en llamadas a la API? Literalmente le estás pagando por usar tu producto. Es una trampa sorprendentemente fácil en la que caer.
La respuesta no es migrar a modelos locales ni construir algún proxy super complejo (todavía no, al menos). El primer paso más importante es simplemente entender los números. No puedes optimizar lo que no puedes medir. Establecer un presupuesto suena corporativo y aburrido, pero para una app impulsada por IA, es un mecanismo de supervivencia.
Aquí va una guía sin rodeos sobre cómo establecer y hacer cumplir presupuestos para tu uso de APIs de IA, basada en mi propia experiencia siendo quemado por esto.
Paso 1: Deja de Adivinar — Obtén Atribución de Costos por Usuario
Antes de poder establecer un presupuesto, necesitas saber a dónde va el dinero. Una sola línea en tu factura de OpenAI que diga "Uso de API: $1.500" es inútil. Necesitas desglosarlo. ¿Cuáles son tus usuarios más costosos? ¿Qué funcionalidades están quemando más tokens?
Olvida los dashboards sofisticados por un segundo. La forma más simple de empezar es agregar metadatos a tus llamadas a la API. La mayoría de los proveedores lo soportan. Cuando un usuario hace una solicitud, etiqueta la llamada a la API con su user_id.
// Ejemplo con el cliente de OpenAI const completion = await openai.chat.completions.create({ messages: [{ role: "user", content: "Di que esto es una prueba" }], model: "gpt-4o", user: "user-id-12345" // <-- ESTA ES LA MAGIA });
Ahora, al menos puedes empezar a agregar costos de tu lado. No es perfecto, pero es mucho mejor que volar a ciegas. Puedes escribir un script simple para extraer tus datos de uso y agruparlos por ese campo user.
Si quieres ponerte serio, necesitas una herramienta de monitoreo adecuada. Terminé construyendo una yo mismo para mis proyectos (llmeter.org) porque las opciones existentes eran demasiado caras o estaban demasiado enfocadas en observabilidad en lugar de control de costos. Algo como LLMeter ingiere tu uso y te da un desglose limpio de costo-por-usuario, por-modelo, por-funcionalidad, automáticamente.
El objetivo aquí es poder responder la pregunta: "¿Cuánto me cuesta el Usuario XYZ por mes?" Una vez que tienes eso, puedes continuar.
Paso 2: Define tu "Costo de Bienes Vendidos" (COGS)
Para un SaaS, tus llamadas a APIs de LLM son un costo directo de bienes vendidos (COGS). Igual que una empresa de camisetas tiene costos de algodón e impresión, tú tienes costos de tokens. Tu pricing necesita reflejar esto.
Mira tus niveles de precios. Para cada nivel, necesitas definir un "presupuesto" o un techo de costo aceptable.
Digamos que tienes un plan "Pro" por $49/mes. No puedes permitir que un usuario en ese plan te cueste $50 en llamadas a la API. Necesitas un margen. Un buen punto de partida es asignar el 10-20% del precio de suscripción al COGS.
- Plan Pro ($49/mes): Tu costo aceptable de API por usuario debería ser alrededor de $5 - $10/mes.
- Plan Gratuito ($0/mes): Aquí es donde se complica. El presupuesto aquí debe ser bajo. Quizás $0,50 a $1,00 por usuario, total. Los usuarios gratuitos son para adquisición, no para quemar tu runway.
Estos números no son aleatorios. Deben basarse en tus datos reales del Paso 1. Encuentra tu costo de usuario mediano y el percentil 90. Tu presupuesto debe estar en algún lugar por encima de la mediana pero debería poner un tope duro a esos usuarios atípicos que te cuestan una fortuna.
Paso 3: Implementa Niveles de Uso y Límites Suaves/Duros
Una vez que tienes un presupuesto por plan, necesitas hacerlo cumplir. Tienes algunas opciones, desde advertencias suaves hasta muros duros.
1. Límites Suaves y Nudging:
Este es el enfoque más amigable con el usuario. Cuando un usuario se acerca a su presupuesto implícito del mes (ej. ha usado el 80% de su asignación de costo de $10), puedes:
- Mostrar un banner: "¡Eres un usuario avanzado! Has usado el 80% de tus créditos de IA mensuales."
- Degradar ligeramente la experiencia: Quizás se cambien de GPT-4o a un modelo más barato y rápido para tareas menos críticas.
- Enviarles un email: "Hola, solo para avisarte, eres uno de nuestros usuarios más activos este mes. Si continúas así, quizás necesitemos ver un plan personalizado."
2. Límites Duros (Pago por uso):
Este es el enfoque clásico. Cada plan viene con cierta cantidad de "créditos" (que es solo una abstracción amigable para el usuario de tokens/costo).
- Plan Pro: Incluye 1.000.000 créditos.
- Plan Gratuito: Incluye 50.000 créditos.
Cuando se acaban, deben comprar más o esperar la recarga del mes siguiente. Este es el modelo más seguro para tu negocio, ya que previene costos desbocados por completo. La desventaja es que puede sentirse restrictivo para los usuarios.
3. La Política Híbrida de "Uso Justo":
Esto es lo que muchos planes "ilimitados" realmente son. No estableces un número duro, pero tus términos de servicio establecen que te reservas el derecho de limitar a los usuarios que están sobrecargando el sistema excesivamente. Esto te da la flexibilidad de lidiar con ese 1% de usuarios que están causando el 90% de los costos, sin castigar al otro 99%.
Si tomas esta ruta, debes tener el monitoreo del Paso 1 en su lugar. Necesitas poder identificar a esos usuarios costosos y tener una razón clara y basada en datos para contactarlos.
Poniéndolo Todo Junto
No sobreingenieres esto desde el primer día. Empieza simple.
- Agrega
user_ida tus llamadas a la API. Hazlo hoy. - Pasa una semana recopilando datos. Averigua cuánto te cuestan realmente tus usuarios promedio y los más costosos.
- Define un presupuesto simple para cada uno de tus planes de precios. Un objetivo de COGS del 15% es un buen punto de partida.
- Implementa un límite suave simple. Cuando un usuario cruce su presupuesto, empieza simplemente enviándote un email de alerta. Eso es todo. Luego puedes decidir contactarlos manualmente.
Gestionar los costos de LLM no es una corrección de una sola vez. Es un proceso continuo de monitoreo, ajuste y asegurarse de que tu pricing y tus costos estén alineados. Pero al establecer presupuestos claros, pasas de esperar nerviosamente que tu factura no sea demasiado alta a tener el control real de tus márgenes.