En defensa de no usar IA — usa ML
Toda la app entregada en 2026 le pegó un chat a algo. Aquí va la defensa de la alternativa aburrida: sugerencias rankeadas por un modelo pequeño, baratas para correr en cada load, explicables lo suficiente para defender en una clínica.
Cada reunión de producto en 2026 termina con la misma frase: "y entonces GPT podría sugerir…". Hemos estado al otro lado de esa frase suficientes veces para escribir lo que hacemos en su lugar — y por qué, para el tipo de productos que construimos, gana casi siempre.
El impuesto LLM que nadie suma
Una llamada a un LLM no es una feature. Es un coste recurrente, un presupuesto de latencia, una exposición regulatoria y un problema de evaluación — todo agrupado en una única API key. En una pantalla de bienestar con 30 000 usuarios activos al día, hasta un modelo pequeño se convierte en la línea del P&L que tu CFO aprende a deletrear. Y eso antes de la infraestructura de streaming, el prompt caching, la monitorización de jailbreaks y los bochornos "como modelo de lenguaje de IA" que tu bandeja de soporte te reenvía.
Nada de esto es un argumento contra los LLM en general. Es un argumento contra usarlos para listas de sugerencias rankeadas — que es lo que la mayoría de las "features de IA" realmente son, en cuanto les quitas el envoltorio.
Lo que una "sugerencia" normalmente necesita
Retrocede un paso. Una sugerencia en un producto casi siempre responde a las mismas tres preguntas:
- ¿Qué candidatos existen? El conjunto de candidatos es finito y tuyo — recetas, ejercicios, artículos, suplementos, sonidos, productos. Los escribiste tú.
- ¿Qué tan relevante es cada uno para este usuario, ahora?
- ¿Cuál es el coste de equivocarse?
Fíjate en lo que no está en la lista: generar texto nuevo. La mayoría de las veces no necesitas prosa inédita — necesitas ordenar bien cosas ya conocidas.
El modelo aburrido que le gana al chatbot
Para Jofit — nuestra app de fitness y bienestar — entregamos un pequeño ranker que puntúa cada intervención candidata (un suplemento, un cambio de comida, un cue de sueño, un ajuste de entrenamiento) en tres ejes:
- Peso de la evidencia. Cada intervención está anotada con su estudio de origen y una puntuación de calidad (RCT > cohorte > case report). La anotación es trabajo único hecho por un clínico, no por un modelo.
- Delta personal. Cuán lejos está el usuario del objetivo clínico para la métrica que la intervención aborda. Una vitamina D a 10 ng/mL puntúa delta superior a una a 28 ng/mL.
- Coste de adherencia. Un pequeño modelo de historial de hábitos estima cuánta fricción añade la sugerencia: tiempo, dinero, coste social, si el usuario ya rechazó sugerencias parecidas antes.
Multiplica, ordena, quédate con el top. Cualquier cosa en el tier URGENT clínico salta el ranker por completo. Todo el sistema corre en menos de un milisegundo y cabe en un único archivo.
Por qué un chatbot lo haría peor
Un LLM podría generar la misma recomendación. Pero:
- No puedes garantizar que cite sus fuentes. Los enlaces son alucinados el 4–10% de las veces incluso en los mejores modelos.
- No puedes hacer unit tests. El output cambia entre versiones del modelo.
- No puedes explicar una puntuación. "¿Por qué me sugeriste esto?" devuelve un párrafo, no un número.
- No puedes correr un A/B test limpio. La varianza de la deriva del prompt aplasta la varianza de tu cambio.
El ranker no tiene ninguno de estos problemas. Cada puntuación es una función de inputs que controlamos. Podemos replicar los datos de la semana pasada contra el modelo de esta semana y cuantificar el lift. Podemos preguntar "¿qué pasaría si duplicáramos el peso del coste de adherencia?" y responder en una tarde.
La caja de herramientas, por orden de uso
- Scoring ponderado con coeficientes ajustados a mano. Aburrido. Efectivo. Dos fines de semana para entregar.
- Gradient-boosted trees (XGBoost / LightGBM) sobre labels de engagement. El mejor ROI en ML aplicado de la última década. Entrena en un portátil.
- Matrix factorisation para recomendaciones colaborativas cuando ya tienes historial user-item. Misma familia que Netflix en 2009. Sigue siendo excelente.
- Contextual bandits cuando quieres explorar tanto como explotar. Vowpal Wabbit los corre en el edge.
- Un pequeño transformer o modelo de embeddings para similitud semántica. Sentence-transformers entrega un modelo de 90 MB que le gana a GPT-4 en la mayoría de los benchmarks de retrieval.
- LLM — solo cuando el output es genuinamente texto nuevo que el usuario necesita leer, y tienes una línea de presupuesto para ello.
Cuándo recurrir de verdad a un LLM
Tres casos legítimos:
- Generación abierta. "Escríbeme un plan de entrenamiento para la próxima semana con estas restricciones." No hay conjunto de candidatos que pudieras pre-escribir.
- Interfaz en lenguaje natural a un sistema estructurado. El usuario pregunta en prosa; tú traduces a una query; la respuesta viene de un sistema determinista. El LLM es el traductor, no el oráculo.
- Explicación larga. El ranker eligió la sugerencia. El LLM escribe el párrafo que explica por qué, anclado en los inputs del ranker. Ahora las alucinaciones te cuestan una frase, no una recomendación clínica.
El orden de entrega
Si estás mirando una spec que dice "sugerencias con IA", haz esto:
- Lista los candidatos. Si no puedes, no tienes un problema de recomendación — tienes un problema de contenido. Resuélvelo primero.
- Elige tres ejes de scoring. Ajusta los pesos a mano durante una semana.
- Entrega. Registra cada sugerencia mostrada y cada una sobre la que el usuario actuó.
- Al cabo de 4–6 semanas de datos, entrena un modelo gradient-boosted sobre los logs. Sustituye los pesos manuales.
- Solo entonces, si todavía necesitas prosa inédita, añade un LLM — para explicar, no para decidir.
Entregarás más rápido, gastarás menos, dormirás mejor, y — lo más importante — podrás responder a la única pregunta que importa cuando un usuario pregunta por qué recibió esa sugerencia: aquí están los tres números, y aquí está lo que significan.