La mayoría de las personas pueden interactuar con un LLM mediante prompts. Integrar uno en un producto que soporte tráfico real es un juego completamente distinto. Si quieres pasar de escribir en una ventana de chat a lanzar IA en producción, necesitas entender cómo encaja realmente todo el stack. No es magia. Es un pipeline de problemas de ingeniería discretos, y cada capa tiene sus propios modos de fallo.

Permíteme explicarte cómo funciona un sistema de IA moderno, desde el momento en que escribes una palabra hasta que un agente completa una tarea.

La base: Cómo piensan los modelos

En su esencia, un modelo de lenguaje extenso hace exactamente una cosa: predice el siguiente token. Ese token puede ser la siguiente palabra, parte de una palabra o incluso un símbolo. Todo lo demás —poesía, código, razonamiento— es un comportamiento emergente de realizar esa única tarea a escala.

El recorrido desde tu prompt hasta la respuesta del modelo es el siguiente.

La tokenización es el primer paso. El texto sin procesar no tiene sentido para una red neuronal, por lo que el modelo divide tus palabras en fragmentos y asigna cada fragmento a un número. La palabra "tokenization" podría convertirse en tres tokens distintos. La frase "New York" podría ser uno o dos, dependiendo del vocabulario. Estos números no son arbitrarios; provienen de un diccionario fijo que el modelo aprendió durante el entrenamiento.

Una vez que las palabras son números, necesitan significado. Los embeddings convierten esos números en vectores: listas largas de valores de punto flotante que colocan conceptos similares cerca unos de otros en un espacio matemático. "King" y "Queen" se sitúan cerca. "Paris" y "Berlin" se agrupan, pero en un vecindario diferente al de "Python" o "JavaScript".

Pero los vectores por sí solos pierden el orden. La codificación posicional (positional encoding) le indica al modelo dónde se encuentra cada token en la oración. Sin ella, "The dog bit the man" y "The man bit the dog" parecerían idénticas.

Luego viene el mecanismo de atención. Aquí es donde el modelo analiza todos los tokens de la entrada y decide cuáles son importantes para predecir el siguiente. Cuando preguntas: "¿Cuándo se fundó la empresa y quién la dirige ahora?", el modelo necesita vincular "fundó" con una fecha y "dirige" con el nombre de un CEO. La atención crea esas conexiones.

Estas operaciones se apilan en capas —a menudo docenas de ellas— donde las capas iniciales gestionan la sintaxis y las posteriores construyen el razonamiento abstracto. En algún punto intermedio, las redes feed-forward almacenan asociaciones fácticas. Aquí es donde el modelo guarda el conocimiento de que París es la capital de Francia, o que una API específica espera un payload JSON. No es exactamente una base de datos, sino una red comprimida de pesos que activa patrones.

Finalmente, la decodificación convierte las representaciones vectoriales internas de nuevo en tokens legibles para los humanos. El modelo no "sabe" que está escribiendo en inglés; simplemente está clasificando miles de posibles tokens siguientes y eligiendo el más probable, una y otra vez, hasta que alcanza una condición de parada.

La capa RAG: Darle memoria a los modelos

Un modelo base está congelado en el tiempo. Sus pesos capturan internet hasta una fecha de corte y no puede acceder a tus documentos privados a menos que se los proporciones. Eso lo hace inútil para la mayoría de las tareas empresariales. La Generación Aumentada por Recuperación, o RAG, soluciona esto dándole al modelo una biblioteca externa que puede consultar antes de responder.

La configuración es sencilla en concepto, pero delicada en la práctica. Primero, tomas tus documentos y aplicas el chunking (fragmentación). No introduces un PDF de cien páginas en la ventana del prompt. Lo divides en párrafos, secciones o bloques semánticos lo suficientemente pequeños como para caber dentro del límite de contexto del modelo, manteniendo al mismo tiempo su significado.

Cada fragmento pasa por un modelo de embeddings y se convierte en un vector, al igual que los tokens dentro del LLM. Estos vectores residen en una base de datos vectorial, un almacén especializado diseñado para la búsqueda por similitud en lugar de búsquedas exactas. Cuando un usuario hace una pregunta, generas el embedding de su consulta y le preguntas a la base de datos: "¿Qué fragmentos están más cerca de este vector en términos de significado?".

La búsqueda vectorial pura a menudo no encuentra coincidencias exactas. Un buen sistema de producción utiliza la búsqueda híbrida, combinando la coincidencia de palabras clave con la similitud semántica. Si alguien pregunta por "cumplimiento de SLA-99", querrás el documento que contenga literalmente esa cadena, no solo uno que se sienta similar.

Después de la recuperación, el re-ranking filtra el ruido. La búsqueda inicial puede devolver veinte fragmentos, pero solo los tres o cuatro mejores ayudan realmente. Un re-ranker puntúa la relevancia y descarta el resto antes de que algo llegue al LLM, ahorrando tokens y reduciendo las alucinaciones.

La capa de agentes: Pasar a la acción

RAG permite que un modelo lea. Los agentes permiten que actúe.

Un agente es, fundamentalmente, un LLM atrapado dentro de un bucle. Observa, razona, actúa y luego vuelve a observar. Si le pides a un agente que reserve un vuelo, no se limita a describir cómo funciona la reserva. Divide la tarea en pasos, llama a las funciones adecuadas, lee las respuestas y se ajusta.

El bucle es el siguiente. Observar: el agente lee el estado actual: tu solicitud, los resultados de llamadas de herramientas anteriores, cualquier error. Razonar: el LLM decide qué hacer a continuación, a menudo generando un plan estructurado o seleccionando entre opciones predefinidas. Actuar: llama a una herramienta.

Las herramientas son la forma en que los agentes interactúan con el mundo real. Se definen mediante esquemas JSON que le indican al modelo exactamente qué parámetros necesita una API. El LLM no realiza peticiones HTTP arbitrarias. Completa un esquema. "Llama a la API de clima con city: London y units: metric". Si la herramienta devuelve una temperatura, el agente alimenta