Fundamentos antes que herramientas: cómo evaluar y construir con IA generativa
Un equipo adopta un asistente de chat, obtiene buenos resultados durante un mes y entonces el proveedor cambia el modelo, el precio o el límite de solicitudes. Nadie en la sala puede decir si la alternativa es mejor, peor o simplemente distinta, porque el equipo aprendió un producto, no un mecanismo. Esa brecha es el tema de este artículo: qué hay que entender de la IA generativa para evaluar sus límites, elegir tecnologías con criterio, evitar depender de una sola herramienta y, en algún momento, construir aplicaciones con un modelo dentro, en lugar de solo escribir en la de otro.[9]
1. Los fundamentos duran más que las herramientas
La IA generativa suele conocerse a través de una interfaz: una caja de texto, un autocompletado en el editor, un botón que redacta un correo. La interfaz es cómoda y también engañosa, porque esconde lo único que se transfiere entre productos: el mecanismo. Quien sabe cómo produce texto un modelo puede prever dónde va a fallar, decidir qué revisar y leer un lanzamiento nuevo por lo que cambió de verdad. Quien solo sabe qué botones pulsar empieza de nuevo cada vez que los botones cambian de lugar.
- Evaluar limitaciones. Saber que un modelo muestrea de una distribución aprendida explica por qué puede ser fluido y estar equivocado al mismo tiempo, y por qué una frase más segura no es más evidencia.
- Elegir con criterio. Entender la estructura de costos de la inferencia convierte "¿cuál es el mejor modelo?" en "¿qué modelo es adecuado para esta carga, este presupuesto y este listón de calidad?".
- Evitar la dependencia. Cuando sabe qué hace el modelo y qué hace su aplicación, pasar a otro proveedor o a un modelo alojado por usted es una tarea de ingeniería, no una reescritura.
En un ecosistema donde los nombres cambian cada trimestre, el conocimiento conceptual es el activo con mayor vigencia. El resto de este artículo construye ese conocimiento en el orden en que un ingeniero lo necesita: primero las capas, luego el mecanismo, luego los criterios, luego el sistema.[9,10]
2. Dónde se ubican los LLM: IA generativa, machine learning y deep learning
Los términos suelen usarse como sinónimos, y esa es la primera fuente de decisiones superficiales. Están anidados. El machine learning es el campo de los programas que mejoran a partir de datos en lugar de escribirse regla por regla. El deep learning es el subconjunto que usa redes neuronales con muchas capas para aprender representaciones directamente de los datos brutos.[1] Los modelos generativos son modelos, en general profundos, entrenados para producir muestras nuevas que siguen los patrones de sus datos de entrenamiento. Los grandes modelos de lenguaje (LLM) son una familia de modelos generativos, construida sobre la arquitectura Transformer y entrenada con texto a una escala enorme.[2,3] Un asistente de chat no es ninguna de estas cosas: es una aplicación construida sobre un LLM.
La jerarquía importa porque cada nivel responde una pregunta distinta. Cuando alguien usa un chatbot, interactúa con una aplicación: prompts, memoria, herramientas e interfaz son decisiones de aplicación. Cuando elige un LLM, elige una familia de modelo: tamaño, licencia, ventana de contexto y costo son decisiones de modelo. Cuando discute datos de entrenamiento, funciones de pérdida o cómo se representa el significado en vectores, está en el nivel del machine learning y el deep learning. Separar las capas vuelve más preciso el análisis técnico e impide confundir una función de un producto con una propiedad del campo.
| Nivel | Pregunta que responde | Decisión típica | Ejemplo |
|---|---|---|---|
| Aplicación | ¿Qué recibe el usuario, y cómo se envuelve el modelo? | Prompts, herramientas, recuperación, flujo de revisión, interfaz | Asistente de soporte, copiloto de código |
| Familia de modelo | ¿Qué tipo de modelo, de qué tamaño y a qué costo? | LLM vs difusión, alojado vs abierto, ventana de contexto | Un LLM abierto de 70B, un modelo de frontera alojado |
| Modelado generativo | ¿Cómo produce algo nuevo? | Objetivo, estrategia de muestreo, temperatura | Predicción del siguiente token, eliminación de ruido |
| Campo de ML / DL | ¿Cómo aprende, en definitiva? | Datos, pérdida, arquitectura, representación | Transformer, embeddings, descenso de gradiente |
Tabla 1 — Los cuatro niveles, la pregunta que responde cada uno y las decisiones que le pertenecen. Una puntuación de benchmark es un hecho del nivel del modelo; una buena respuesta en su producto es un resultado del nivel de la aplicación.[6]
Practica: abrir en el Lab: Ejercicio 1, Dónde están los LLM
3. El mecanismo detrás de los modelos generativos
Un modelo generativo es un sistema entrenado para aprender los patrones de una distribución de datos y producir salidas nuevas coherentes con esos patrones. Para texto, la receta es concreta: el modelo se entrena para predecir el siguiente token dados los anteriores, sobre un corpus enorme; en la inferencia, un prompt fija el contexto y el modelo muestrea un token a la vez, realimentando cada elección como contexto para la siguiente.[3] El artículo sobre qué es la IA generativa, más adelante en esta serie, presenta esa factorización en detalle; aquí el interés está en lo que implica para el ingeniero.
Tres consecuencias salen directamente de la ecuación (1). Primera: el modelo no tiene noción de verdad, solo de verosimilitud bajo los datos que vio; una continuación plausible se prefiere a una exacta cuando las dos difieren. Segunda: todo lo que el modelo "sabe" queda congelado en sus parámetros en el momento del entrenamiento; lo que ocurrió después tiene que llegar por el prompt. Tercera: la salida depende de un sorteo, así que el mismo prompt puede producir respuestas distintas, y los parámetros de muestreo forman parte de la superficie de ingeniería, no son un detalle.
Por eso entender el mecanismo cambia la forma de usar la herramienta. Un modelo que responde bien en un contexto y falla en otro no está siendo caprichoso: el primer contexto se parecía a sus datos de entrenamiento y el segundo no, o el prompt dejó fuera lo que los pesos no podían contener. La respuesta pasa a ser una decisión de diseño — recuperar el contexto que falta, restringir el formato de la salida, bajar la temperatura, añadir un paso de validación — en lugar de una petición mejor redactada. La pregunta nunca es solo "¿qué respondió?", sino "¿de dónde viene esta capacidad, y qué límites vienen con ella?".[7]
Practica: abrir en el Lab: Ejercicio 2, Qué predice el modelo
4. Comparar arquitecturas con criterios de ingeniería
Elegir un modelo por popularidad, o por la impresión que dejó una demostración, es el equivalente, en el nivel de la aplicación, a elegir una base de datos porque está de moda. Una comparación madura mira criterios de ingeniería: cuánto cuesta ejecutar el modelo con la carga esperada, cuánto tarda una solicitud, qué tan bien puede especializarse, qué calidad alcanza en su tarea y qué tan bien encaja en las restricciones del caso — privacidad, licencia, despliegue, idioma.[6] Un modelo que lidera un benchmark público puede ser la elección equivocada para producción si es demasiado caro o lento para el tráfico, y un modelo modesto puede ser el correcto si la tarea es estrecha y el volumen es alto.
| Criterio | Qué medir | Peso en producción | Falla típica si se ignora |
|---|---|---|---|
| Calidad | Exactitud en una muestra de sus solicitudes, juzgada por personas o por una rúbrica; no solo benchmarks públicos | Alto | Gran demostración, producto poco fiable |
| Costo | Precio por millón de tokens de entrada y salida, u horas de GPU por solicitud si está alojado por usted; multiplicado por el volumen real | Alto | La factura crece más rápido que el uso |
| Latencia | Tiempo hasta el primer token y tokens por segundo, en el percentil 95, bajo carga concurrente | Depende del uso | Función interactiva que parece rota |
| Especialización | Ganancia con datos del dominio vía recuperación, ajuste fino o adaptadores, frente al costo de mantenerlos | Depende de la tarea | Modelo general que nunca aprende su vocabulario |
| Encaje y dependencia | Licencia, residencia de los datos, ventana de contexto, salida estructurada, facilidad de reemplazo | Alto | La migración se convierte en una reescritura |
Tabla 2 — Criterios de ingeniería para comparar modelos generativos. "Qué medir" trata deliberadamente de su carga de trabajo: un ranking público mide una distribución de solicitudes distinta de la que verá su producto.[6,11]
5. Compromisos: calidad, costo, velocidad y especialización
No existe un modelo ideal para todos los escenarios; existen compromisos. Subir la calidad suele significar un modelo más grande, lo que eleva el costo por solicitud y el tiempo de respuesta. Buscar velocidad significa un modelo más pequeño o salidas más cortas, lo que puede reducir la precisión. Especializar una solución para un dominio puede entregar más valor que el modelo más general disponible, al precio de mantener actualizada la versión especializada. Los resultados de escala hacen explícita la forma de esas curvas: la capacidad crece suavemente con parámetros, datos y cómputo, y la factura también.[4,5]
Dos fórmulas concretan el lado del costo y la velocidad. El costo de una solicitud es el número de tokens de entrada por el precio de entrada más el número de tokens de salida por el precio de salida; los tokens de salida suelen ser varias veces más caros que los de entrada, así que las respuestas verbosas cuestan más que los prompts largos. La latencia de una solicitud es el tiempo hasta el primer token más el número de tokens de salida dividido por la tasa de generación; ese segundo término es la razón de que una respuesta de 500 tokens parezca lenta incluso viniendo de un modelo rápido.[11]
El trabajo de ingeniería consiste en equilibrar esas variables según el objetivo de negocio, el presupuesto y la experiencia que espera el usuario. Un hábito útil es escribir las restricciones antes de mirar cualquier modelo: una latencia máxima, un costo máximo por solicitud, una calidad mínima en la muestra de evaluación. Los candidatos que violan una restricción quedan fuera, sea cual sea su reputación; los restantes se ordenan por una puntuación ponderada. El script siguiente hace exactamente eso, con los pesos como una entrada explícita y revisable.
from dataclasses import dataclass @dataclass class Candidato: nombre: str calidad: float # 0–1, exactitud en SU muestra de evaluación costo: float # moneda por solicitud, de la ecuación (2) latencia_p95: float # segundos, de la ecuación (3) medida bajo carga dependencia: float # 0–1, qué tan difícil es reemplazarlo (licencia, formatos, alojamiento) def ordenar(candidatos, costo_max, latencia_max, calidad_min, w): """Descarta todo candidato que viola una restricción dura y ordena el resto por una puntuación ponderada. w = pesos de calidad, costo, latencia y dependencia.""" viables = [c for c in candidatos if c.costo <= costo_max and c.latencia_p95 <= latencia_max and c.calidad >= calidad_min] if not viables: raise ValueError("ningún candidato cumple las restricciones: relájelas o cambie el diseño") # normaliza costo y latencia contra el peor valor viable, de modo que menor es mejor peor_costo = max(c.costo for c in viables) peor_lat = max(c.latencia_p95 for c in viables) def puntuacion(c): return (w["calidad"] * c.calidad + w["costo"] * (1 - c.costo / peor_costo) + w["latencia"] * (1 - c.latencia_p95 / peor_lat) + w["dependencia"] * (1 - c.dependencia)) return sorted(viables, key=puntuacion, reverse=True) # ejemplo: un asistente de soporte interno, 50 mil solicitudes/día, interactivo pesos = {"calidad": 0.45, "costo": 0.25, "latencia": 0.20, "dependencia": 0.10} ordenados = ordenar([ Candidato("grande alojado", calidad=0.93, costo=0.012, latencia_p95=4.8, dependencia=0.8), Candidato("mediano abierto", calidad=0.84, costo=0.004, latencia_p95=2.9, dependencia=0.3), Candidato("pequeño ajustado", calidad=0.88, costo=0.001, latencia_p95=1.1, dependencia=0.2), ], costo_max=0.010, latencia_max=3.0, calidad_min=0.80, w=pesos) print([c.nombre for c in ordenados]) # el grande alojado queda fuera: demasiado lento y caro para este caso
Lo importante del script no es la aritmética sino la disciplina: restricciones primero, pesos explícitos, calidad medida en su propia muestra. Con esos tres en su lugar, "elegimos el modelo X" se convierte en una afirmación que alguien puede auditar y revisar cuando cambien los números.[8]
Practica: abrir en el Lab: Ejercicio 3, Criterios de trade-off
6. Construir soluciones reales con IA
Construir una solución real significa dejar el uso pasivo de una herramienta y diseñar una aplicación que resuelve un problema concreto del día a día de alguien. El modelo es un componente de esa aplicación, y rara vez el más grande. A su alrededor están el código que arma el prompt a partir de la solicitud del usuario y del contexto relevante, la recuperación que trae documentos que los pesos no podían contener, las herramientas que el modelo puede invocar, la validación que revisa la salida antes de que llegue a alguien y la observabilidad que dice cuánto cuesta y con qué frecuencia falla.[7,10]
Aquí es donde los fundamentos rinden. Seleccionar el modelo es una decisión entre varias: evaluar la arquitectura, entender el impacto en el flujo de trabajo, decidir qué puede hacer el modelo por su cuenta y qué debe confirmar una persona, y alinear la solución con el tipo de tarea que el equipo o el producto realmente ejecuta. Un profesional que domina estos fundamentos deja de consumir IA y empieza a diseñar sistemas con IA como componente. Ese paso es lo que separa la experimentación de la ingeniería aplicada, y también lo que mantiene vivo el sistema cuando se cambia un modelo: los prompts, la recuperación, las verificaciones y las métricas permanecen.[10]
Practica: abrir en el Lab: Ejercicio 4, Restricciones duras
7. Un ecosistema que se mueve rápido: adaptarse sin empezar de cero
El ecosistema de la IA generativa se mueve rápido: aparecen continuamente nuevos modelos, herramientas y técnicas, y un ranking de hace seis meses es historia. Seguir el campo, por tanto, no es opcional; forma parte de la competencia técnica necesaria para seguir siendo relevante. Pero seguirlo no significa memorizar nombres de productos. Significa mantener criterios estables para juzgar novedad, madurez y utilidad, de modo que cada lanzamiento pueda leerse rápido: qué cambió en el nivel del modelo, cuánto cuesta, qué cambiaría en su aplicación y si su muestra de evaluación confirma la promesa.[9,12]
- Nivel. ¿Es una familia de modelo nueva, un tamaño nuevo de una existente, o una función de aplicación disfrazada de modelo?
- Costo y latencia. Precio por token de entrada y salida; rendimiento medido; hardware necesario si lo aloja usted.
- Contexto y formato. Ventana de contexto, salida estructurada, llamada de herramientas — aquello de lo que depende su aplicación.
- Licencia y despliegue. Pesos abiertos o solo API; residencia de los datos; términos que afectan a su producto.
- Su muestra. Ejecute el conjunto de evaluación de la sección 4. Si el número no se mueve, el lanzamiento todavía no le importa.
Quien entiende los fundamentos absorbe estos cambios sin empezar de cero con cada nueva tecnología. El Transformer de 2017 sigue siendo la arquitectura bajo los modelos de hoy; el comportamiento de escala descrito en 2020 sigue explicando por qué los modelos más grandes cuestan más; el pipeline de la Figura 2 no ha cambiado. Lo que cambia es la posición de cada producto en el gráfico de compromisos, y para eso exactamente sirven los criterios estables.[2,4]
Practica: abrir en el Lab: Ejercicio 5, Ecosistema acelerado
8. De usuario a creador
Dominar la IA generativa significa asumir una posición activa en la creación de aplicaciones, y no solo usar interfaces listas. Ese dominio combina el entendimiento técnico del mecanismo, la lectura de un contexto — la tarea, los usuarios, las restricciones — y el oficio de convertir un modelo en una solución útil. En los equipos de software se traduce en decisiones más conscientes sobre adopción, integración y retorno práctico: qué tareas ganan, cuánto cuesta la ganancia y qué hay que revisar. El resultado esperado no es solo productividad individual; es la capacidad de construir mejores productos y mejores flujos de trabajo, con el modelo como una parte bien entendida de ellos. El próximo artículo sigue lo que este cambio significa para la propia profesión: hacia dónde se mueve el diferencial del desarrollador cuando el código deja de serlo, cómo la IA amplifica la competencia y qué cambia para el liderazgo técnico y para los productos.
¿Qué afirmación describe el encaje que usa el artículo?
En cada paso de la generación, ¿qué predice un modelo de lenguaje?
¿Qué criterios usa el artículo para comparar modelos para un sistema real? Marca todos los que correspondan.
Implementa viables: recibe los candidatos y las restricciones duras (costo máximo, latencia máxima, calidad mínima) y devuelve los nombres de los candidatos que cumplen las tres, en el orden original.
Cada mes se anuncia un modelo nuevo. ¿Qué recomienda el artículo?
- [1]I. Goodfellow; Y. Bengio; A. Courville — Deep Learning, MIT Press, 2016, cap. 1 y 5. ISBN 978-0262035613Libro
- [2]A. Vaswani; N. Shazeer; N. Parmar et al. — Attention Is All You Need, NeurIPS 2017. arXiv:1706.03762 (consultado el 09/09/2026)Artículo académico
- [3]T. B. Brown; B. Mann; N. Ryder et al. — Language Models are Few-Shot Learners, NeurIPS 2020. arXiv:2005.14165Artículo académico
- [4]J. Kaplan; S. McCandlish; T. Henighan et al. — Scaling Laws for Neural Language Models, 2020. arXiv:2001.08361Artículo académico
- [5]J. Hoffmann; S. Borgeaud; A. Mensch et al. — Training Compute-Optimal Large Language Models, NeurIPS 2022. arXiv:2203.15556Artículo académico
- [6]P. Liang; R. Bommasani; T. Lee et al. — Holistic Evaluation of Language Models, 2022. arXiv:2211.09110Artículo académico
- [7]P. Lewis; E. Perez; A. Piktus et al. — Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks, NeurIPS 2020. arXiv:2005.11401Artículo académico
- [8]E. J. Hu; Y. Shen; P. Wallis et al. — LoRA: Low-Rank Adaptation of Large Language Models, ICLR 2022. arXiv:2106.09685Artículo académico
- [9]R. Bommasani; D. A. Hudson; E. Adeli et al. — On the Opportunities and Risks of Foundation Models, 2021. arXiv:2108.07258Artículo académico
- [10]D. Sculley; G. Holt; D. Golovin et al. — Hidden Technical Debt in Machine Learning Systems, NeurIPS 2015. papers.nips.ccArtículo académico
- [11]R. Pope; S. Douglas; A. Chowdhery et al. — Efficiently Scaling Transformer Inference, 2022. arXiv:2211.05102Artículo académico
- [12]H. Touvron; L. Martin; K. Stone et al. — Llama 2: Open Foundation and Fine-Tuned Chat Models, 2023. arXiv:2307.09288Artículo académico
Lecturas complementarias
- [a]A. Karpathy — Intro to Large Language Models, charla, 2023. youtube.comCharla
- [b]C. Huyen — Building LLM applications for production, 2023. huyenchip.comArtículo
- [c]E. Yan — Patterns for Building LLM-based Systems & Products, 2023. eugeneyan.comArtículo
Referencias verificadas el 09/09/2026 y comprobadas durante la revisión técnica. Los enlaces externos se abren fuera de Codeflow.
Haz clic en una etiqueta para listar todos los artículos relacionados.
| Título | Categoría | Lectura | Publicado | Estado |
|---|---|---|---|---|
| Mitología, autómatas y el origen de la pregunta: los inicios de la historia de la IA, de Turing al primer invierno | Inteligencia Artificial | 14 min | 09/10/2026 | Publicado |
| De la predicción de la salida al mapa probabilístico: autorregresión, self-attention y embeddings | Inteligencia Artificial | 13 min | 09/10/2026 | Publicado |
| IA tradicional versus IA generativa: predecir a partir de datos conocidos o componer salidas nuevas | Inteligencia Artificial | 13 min | 09/10/2026 | Publicado |
| Cuando el código deja de ser el diferencial: el papel del desarrollador con IA generativa | Inteligencia Artificial | 13 min | 09/09/2026 | Publicado |
| ¿Qué es la IA generativa, y por qué solo ahora se volvió viable? | Inteligencia Artificial | 12 min | 09/08/2026 | Publicado |
- Versión del artículo
- 1
- Publicado el
- 09/09/2026 08:00
- Autor
- @rafaelsantos
- Idioma de origen
- Español
09/09/2026 08:00 — Publicación inicial del artículo (traducción de la versión en inglés).

Los comentarios son GitHub Discussions en codeflow/codeflow.github.io. Inicia sesión con GitHub para comentar; cada artículo tiene su propio hilo.