De los ChatBots inteligentes a los Agentes IA - ITCL

 

Desde hace aproximadamente un año y medio, la Inteligencia Artificial (IA) está en boca del público general. El día 30 de noviembre de 2022 marcó un antes y un después en el mundo de la tecnológico. Ese día OpenAI presentó ChatGPT, un Gran Modelo del Lenguaje (LLM) capaz de realizar múltiples tareas complejas basadas en texto. Esta fecha es muy reseñada, no porque ChatGPT sea un hito académico o tecnológico, pues la tecnología subyacente existe desde 2020. Además, desde su presentación, los modelos se han mejorado mucho siendo: más eficientes, más capaces e, incluso, de código abierto. El 30 de noviembre de 2022 es una fecha muy reseñada porque OpenAI ha conseguido que el público general no técnico utilice y conozca la IA. Por tanto, el logro de esta compañía ha sido crear una un producto de una tecnología muy compleja.

Desde la presentación de ChatGPT la mayoría de las personas han utilizado estos ChatBots inteligentes. Un ChatBot inteligente es aquel servicio que, mediante lenguaje natural, le podemos trasladar nuestras dudas, problemas, tareas o inquietudes y este nos contesta con una posible resolución del problema. La forma en la que nos comunicamos con estos sistemas se conoce como “Prompt”. Para algunas aplicaciones, es vital mejorar y optimizar esta comunicación con el ChatBot. Esto ha dado lugar a que, en las compañías de software, se cree un nuevo rol técnico conocido como “Prompt Engineer”. 

El conocimiento del que disponen los ChatBots para resolver nuestras cuestiones tiene dos naturalezas distintas. Por un lado, la información y datos que aprenden durante el entrenamiento y el alineamiento. Este conocimiento está muy sintetizado y se guarda en las relaciones entre los pesos del modelo. Por otro lado, la información o datos que proporcionamos en el “Prompt”. Este conocimiento se conoce como “Contexto” y es más evidente para el ChatBot, ayudando a que realice correctamente la tarea. 

Como vemos, la información de la que dispone el ChatBot es limitada, lo que provoca que a veces den respuestas imprecisas o directamente falsas. Este incorrecto funcionamiento de los ChatBots se conoce como “alucinaciones”. Además, el proceso que realizan para llegar a la respuesta es simple. Como podemos ver en la imagen, el usuario envía al ChatBot una tarea en el “Prompt” y este directamente infiere una resolución a la tarea. Esto provoca que, la correcta resolución de una tarea sea muy dependiente del “Prompt” que escriba el usuario.

La comunidad científica y desarrolladora en LLMs ha trabajado en mitigar estas limitaciones de los ChatBots inteligentes y para ello ha propuesto sistemas más complejos. Estos sistemas se denominan Agentes IA y son capaces de buscar conocimiento, planificar tareas e incluso utilizar herramientas. La complejidad de estos sistemas permite que la resolución de la tarea sea menos dependiente del “Prompt” del usuario. Entonces, la resolución de la tarea pasa a depender de la correcta programación del Agente IA. Un diagrama simplificado de los módulos que conforman un Agente IA se muestra en la siguiente imagen:

El primer módulo es el RAG (Retrieval Augmented Generation). En este módulo, el usuario guarda datos, documentos o archivos que el Agente IA puede consultar en busca de información relevante que le ayude a realizar la tarea propuesta. Basado en una tecnología similar, también dispone de un módulo de Memoria. Con este módulo el propio Agente IA guarda información que ha sido clave para la resolución de problemas pasados o el estado actual de los problemas presentes. Esta información propia generada por el Agente IA la puede recordar en cualquier momento futuro. También, dispone de acceso a herramientas para ejecutar ciertas acciones.

Algunas herramientas comunes son: búsquedas en WEB, ejecución de scripts de código, consultar APIs, enviar correos, rellenar una base de datos o utilizar cualquier función propia desarrollada en código de programación. Estas herramientas permiten expandir las capacidades del Agente IA.

El Agente IA ya no solo genera texto, sino que también puede interaccionar y cambiar el entorno. El último módulo a destacar es el de planificación. Con este proceso, el Agente IA es capaz de dividir tareas en subtareas y priorizar cual tiene que ejecutar antes utilizando los módulos y herramientas que tiene a su alcance.

El usuario puede utilizar un Agente IA como utiliza un ChatBot, emite un Prompt y espera a que resuelva la tarea. Sin embargo, también puede proporcionarle información adicional e incluso darle feedback durante proceso de resolución de la tarea. Utilizar estos sistemas puede implicar tener que acompañar más al Agente IA, pero la resolución de las tareas es más certera y acorde a los requerimientos del usuario.

SOTA Generador

Desde el ITCL estamos trabajando en la implementación de Agentes IA en diferentes proyectos. Entre ellos, cabe destacar el proyecto SOTA-Generador que, mediante un conjunto de artículos científicos proporcionados por el usuario, el Agente IA es capaz de realizar un Estado del Arte (SOTA) de alta calidad sin pérdida de información. Una explicación más en detalle de este proyecto basado en un Agente IA se puede ver en el vídeo a continuación.

Como hemos expuesto, la industria de desarrollo con LLMs empezó a desarrollar aplicaciones simples con ChatBots Inteligentes. Sin embargo, pronto se dio cuenta de las limitaciones de estos. Por tanto, hoy en día, se observa como cada vez más proyectos están construidos sobre Agentes IA.

En ITCL ya estamos con ello, ¿estás interesado en conocer cómo esta tecnología puede impactar en tu negocio? Contacta con nosotros.

Artículos relacionados

ITCL Centro Tecnológico

Seres virtuales con GPT4 en entornos inmersivos

ITCL Centro Tecnológico

Todo lo que debes saber de las IAs generativas de imágenes

IRC eficiencia energética en la industria

Open AI ¿Qué es realmente?