Funcionamiento y evolución de la IA generativa en entornos empresariales
La irrupción hace dos años de la IA generativa ha supuesto un cambio importante en nuestro día a día. Quien más quien menos echamos mano del Chat gpt (o similar) para alguna consulta concreta. Es como un «Google» avanzado. Ahora bien, a veces «miente», con lo que no es del todo fiable.
En el presente artículo trataremos de explicar de una manera sencilla cómo funciona esa IA generativa y hacia dónde evoluciona dentro del uso empresarial. Para ello nos tomaremos ciertas licencias técnicas que nos permitan simplificar la explicación. Tómese como lo que es: una aproximación no técnica.
Funcionamiento de los LLMs
La IA generativa es un tipo de inteligencia artificial diseñada para crear contenido nuevo como texto, imágenes, música, código o incluso diseños a partir de patrones aprendidos de datos existentes. Estas características las diferencia de otras IAs que ya existían con anterioridad (sistemas expertos, machine learning, deep learning…). En este artículo nos centraremos en la IA generativa que crea contenido en formato texto, denominados LLMs.
Para entender el funcionamiento de un LLM es necesario tener claros 2 conceptos: La base de datos vectorial y el prompt.
El LLM tiene una base de datos vectorial construida a base a algo similar a palabras (que por simplificar denominaremos «palabras»). Para construir esta base de datos se ha ejecutado previamente un proceso que ha recorrido internet (en principio solo las páginas que no tienen copyright) durante un periodo largo (días o semanas). Este proceso, ha analizado las páginas, ha extraído las «palabras» y las ha relacionado en función de su «cercanía» sintáctica (posición en la frase) y semántica (significado). De modo que «perro» está más «cerca» de «ladra» y de «gato» que de «piña», porque en los textos analizados aparecía cercana o su significado era similar. Esta base de datos es la base del LLM.
Toda sesión en un LLM (por ejemplo, Chat-GPT) comienza con una introducción de un texto. A este texto inicial se le denomina prompt. Lo primero que hace el LLM es extraer de ese texto los elementos (palabras) importantes (proceso que se denomina attention). Con estas palabras va a la base de datos y busca la siguiente palabra más «cercana». Esta palabra la concatena al prompt y devuelve el contenido al usuario. Pero no se queda aquí. Vuelve a aplicarle el attention al resultado, va a la base de datos y extrae el resultado. Y así sucesivamente. Es por ello el efecto que percibimos en el LLM, que va poco a poco construyendo el resultado.

Sistemas RAG
Una primera mejora se puede conseguir si ya se posee previamente el conocimiento. Supongamos que el conocimiento sobre el que quiero analizar se encuentra en un pdf (por ejemplo, el manual de incoterms). Ante una pregunta determinada (p.ej. ¿Cuáles son las obligaciones del vendedor bajo la regla Incoterms CIP?), El sistema puede ir previamente al pdf, extraer las páginas que hablan de la regla Incoterms CIP e incorporarlas en la pregunta. Sería algo como:
Quiero que contestes a esta pregunta: ¿Cuáles son las obligaciones del vendedor bajo la regla Incoterms CIP?, pero para ello usa esta información que te paso a continuación:

Sistemas basados en Internet
Otra posibilidad es utilizar internet como fuente inicial de conocimiento. Con el texto introducido en el prompt, tras aplicar el consiguiente attention, accedemos a internet a través de un buscador. Con los resultados devueltos accedemos al LLM. Es similar al caso anterior, pero el texto que se añade al prompt es el resultado de la búsqueda de internet (por un buscador tipo google). Es así como funcionan los sistemas tipo «Perplexity».

En el ejemplo anterior, buscaría en internet contenido sobre la regla incoterms CIP y se lo pasaría en prompt (en vez del contenido extraído del pdf).
Acciones específicas
La siguiente mejora consiste en utilizar el LLM para «interpretar» el prompt y extraer la información relevante, y después ejecutar un proceso externo. Por ejemplo, supongamos que tenemos conectado en LLM a un sistema de cotizaciones de modo que le diga en el prompt:
“quiero una cotización de un flete para el día 13 entre Valencia y Jeddah para 1 contenedor 20 pies”
El LLM extrae la información del día, origen, destino y carga. Con esta información llama a un programa de cotizaciones y devuelve los datos de la cotización.

Sistemas basados en Agentes (Agentic LLMs)
A estos procesos o procedimientos que realizamos antes y/o después del procesamiento del LLM los denominamos agentes, pudiendo existir básicamente varios tipos de agentes, por ejemplo:
- Agentes que proporcionan la información al LLM.
- Agentes que realizan acciones a partir de información extraída por el LLM.
Esto permite al LLM integrarse e interactuar con el entorno.

Sistemas multiagente.
Entre los potenciales agentes que pueden surgir que, a su vez, gestionan otro agentes como por ejemplo:
- Permitan seleccionar entre varios agentes similares. Por ejemplo, supongamos que tenemos distintos pdfs con informaciones diferentes. Cada pdf es tratado por un agente. Ante una pregunta concreta podría existir un agente discriminador, que interprete la misma y determine cuál de los agentes se debe activar.

- Permitan secuenciar los agentes requeridos para realizar una determinada acción. Por ejemplo un agente, que interpreta los datos de una cotización, otro que solicita la cotización y otro que la envía por email.
MCP
Los sistemas multiagentes tienen una potencialidad enorme, pero requieren de programación ad-hoc. La siguiente mejora que se ha introducido es que un agente pueda mostrarse al LLM e indicarle su uso (por ejemplo: «Soy el que más sabe de legislación aduanera») de modo que el LLM sepa que, cuando se pregunta sobre legislación aduanera, debe acceder al mismo. Todo esto sin requerir programación. Solamente introduciendo unas entradas en la configuración. Al protocolo que permite esta comunicación lo denominamos MCP.

Evolución de los LLMs dentro del entorno empresarial
El objetivo es que los LLMs sean cada más más precisos y versátiles.
- Puedan utilizar conocimiento preciso en ciertos contextos (información de reglas Incoterms a partir de una fuente fiable, información arancelaria en tiempo real…)
- Puedan utilizar conocimiento preciso local (por ejemplo información extraída de mi ERP) o analizar un contrato propio.
- Pueden integrarse con mis procesos para realizar acciones (cotizar un flete, realizar un pedido).
- Secuencien o discriminen acciones de una manera inteligente.
Todo esto sin olvidar el funcionamiento del los LLMs explicado en el punto 1.
