• Saltar a la navegación principal
  • Saltar al contenido principal
Logo Codificando Bits

Codificando Bits

  • Academia
    • Rutas
    • Cursos
    • Proyectos
    • Tutoriales
  • Acceder
  • Suscribirse

Qué son y cómo funcionan los Agentes de Inteligencia Artificial basados en Grandes Modelos de Lenguaje

Uno de los ideales históricos de la Inteligencia Artificial (IA) es lograr construir sistemas que sean capaces de resolver problemas relativamente complejos y de forma totalmente autónoma, de una manera muy similar a como lo haría un ser humano.

Pues resulta que los agentes basados en grandes modelos de lenguaje han demostrado en los últimos meses ser precisamente un paso hacia ese objetivo.

Estos sistemas combinan no solo la comprensión del lenguaje natural, sino el uso de herramientas avanzadas para resolver problemas complejos de forma autónoma, lo cual tiene un sinfín de aplicaciones en diferentes ámbitos de nuestra vida diaria.

En este artículo explicaremos en detalle qué son los agentes de Inteligencia Artificial basados en Grandes Modelos de Lenguaje, cómo funcionan, cuáles son los elementos estructurales que usualmente vamos a encontrar dentro de ellos así como sus limitaciones.

¿Cuándo resulta útil o necesario el uso de un Agente de IA?

Partamos de un ejemplo hipotético para entender la necesidad de estos agentes. Supongamos que a un Gran Modelo de Lenguaje (como los que usan aplicaciones como ChatGPT o Gemini) le hacemos una pregunta muy sencilla:

¿Cuál fue el nivel promedio de ingesta de calorías durante el año 2023 en los Estados Unidos?

Si le preguntamos esto a un Gran Modelo de Lenguaje (o LLM por sus siglas en Inglés, Large Language Model) y éste fue entrenado con dicho conjunto de datos, podría generarnos directamente una respuesta. Por ejemplo, nos podría decir que durante el año 2023 el nivel promedio de ingesta de calorías en Estados Unidos fue de 2.352 calorías por día.

Si el modelo de lenguaje no fue entrenado con esta información, para responder de manera específica podría buscar esa información en una base de datos externa usando, por ejemplo, el enfoque RAG (Retrieval-Augmented Generation). Tras consultar la información en la base de datos externa, podría generar la respuesta que estamos buscando.

Pero, ¿qué ocurre si la tarea que le estamos poniendo al modelo es mucho más elaborada o sofisticada?

Supongamos que la pregunta ahora es la siguiente:

¿Cuál ha sido la tendencia en la ingesta diaria de calorías en adultos durante la última década en los Estados Unidos? Además, requiero una representación gráfica de esa tendencia y una predicción del comportamiento para los próximos 2 años.

Esta es una pregunta mucho más compleja. Hace referencia al comportamiento histórico durante los últimos 10 años, por lo que probablemente el modelo no tiene esa información almacenada o no reside de manera estructurada en una única fuente de información. Para resolver esto, se requiere:

  1. Recuperar información de diferentes fuentes.
  2. Agrupar y organizar esa información.
  3. Generar un gráfico para representar visualmente la tendencia.
  4. Crear un modelo predictivo de Machine Learning para calcular el comportamiento de los próximos 2 años.

Se trata de una tarea algorítmicamente tan compleja que un simple modelo de lenguaje o un sistema RAG tradicional no sería suficiente para resolverla. Este es el escenario exacto donde el uso de un agente de Inteligencia Artificial resulta adecuado y necesario.

Un LLM no está en capacidad de realizar tareas complejas que van más allá de responder a una pregunta. En este tipo de situaciones resultan útiles los Agentes de IA basados en Grandes Modelos de Lenguaje
Un LLM no está en capacidad de realizar tareas complejas que van más allá de responder a una pregunta. En este tipo de situaciones resultan útiles los Agentes de IA basados en Grandes Modelos de Lenguaje

El enfoque humano para la resolución de tareas complejas

Para comprender cómo está conformado un agente de IA, pensemos primero en cómo resolveríamos nosotros, como seres humanos, la pregunta planteada anteriormente.

Lo primero sería planear la forma como vamos a responder a esta pregunta. Esa planeación implica definir unas tareas clave o subtareas para poder resolver el problema paso a paso:

  1. Recolección de datos: extraer los datos históricos de los últimos 10 años.
  2. Análisis de datos: procesar y analizar matemáticamente los datos obtenidos.
  3. Generación gráfica: obtener la gráfica con la tendencia histórica.
  4. Modelado predictivo: construir un modelo predictivo de Machine Learning para determinar el comportamiento en los próximos 2 años.
Como seres humanos lo primero que hacemos al momento de abordar un problema complejo es llevar a cabo la fase de planeación, donde definimos una estrategia paso a paso para resolver el problema
Como seres humanos lo primero que hacemos al momento de abordar un problema complejo es llevar a cabo la fase de planeación, donde definimos una estrategia paso a paso para resolver el problema

Una vez definidas estas tareas en la fase de planificación, la siguiente fase es la ejecución. Esto implica que si vamos a recolectar datos, tendríamos que escribir el código para interactuar con diferentes bases de datos; luego, escribir el código para hacer el procesamiento, análisis y generación de la gráfica y, finalmente, programar el entrenamiento del modelo de Machine Learning. Todos estos resultados los condensaríamos en un reporte final:

El siguiente paso para resolver un problema complejo es la fase de ejecución de los pasos definidos en la fase de planeación
El siguiente paso para resolver un problema complejo es la fase de ejecución de los pasos definidos en la fase de planeación

La idea fundamental detrás de un agente de Inteligencia Artificial es intentar emular este mismo proceso humano (planificación secuencial y ejecución) pero de forma totalmente autónoma (o al menos semi-autónoma). El objetivo es que nosotros los seres humanos solo planteemos la pregunta inicial con algunas guías y el agente se encargue de todo el flujo algorítmico.

¿Qué es un agente de Inteligencia Artificial basado en Grandes Modelos de Lenguaje?

Así que podemos definir un agente de IA basado en grandes modelos de lenguaje de la siguiente manera:

Es un sistema de Inteligencia Artificial autónomo o semiautónomo que combina la comprensión del lenguaje natural con la habilidad de resolver tareas complejas a partir de la planeación, teniendo en cuenta los resultados que ha obtenido previamente para mejorar sus respuestas e interactuando con sistemas externos para recolectar información o ejecutar acciones.

Desglosemos los elementos clave de esta definición rigurosa:

  • Autónomo / Semiautónomo: se busca que, tras recibir unas instrucciones iniciales, el agente resuelva la tarea sin supervisión humana. Si en algunos puntos clave requiere indicaciones adicionales, hablaríamos de un sistema semiautónomo.
  • Comprensión del lenguaje natural: el «cerebro» o núcleo cognitivo del agente es precisamente un LLM.
  • Resolución de tareas complejas: esto quiere decir que el agente no se limita a responder preguntas, sino a buscar información proveniente de diferentes fuentes, a programar, a construir modelos o interconectar lógicas que no son simples tareas de un solo paso.
  • Capacidad de planear: el agente debe poder diseñar cada una de las fases que debe llevar a cabo, emulando la lógica humana de solución de problemas.
  • Interacción con sistemas externos (herramientas): de forma autónoma, el agente debe poder consultar bases de datos, leer documentos, o escribir y ejecutar código utilizando intérpretes o APIs, entre otras.

Elementos de un Agente de Inteligencia Artificial

Con base en lo anterior, la arquitectura de un agente de Inteligencia Artificial basado en LLMs consta de cuatro grandes elementos interconectados:

  1. El Gran Modelo de Lenguaje: es el elemento central, el cerebro que va a orquestar todo el proceso lógico y cognitivo para resolver la tarea compleja.
  2. El Módulo de Planeación: es el subsistema que intercambia información con el LLM para indicarle, en cada fase del problema, cuáles son las etapas algorítmicas que se deben llevar a cabo.
  3. La Memoria: un espacio de almacenamiento donde se guarda la información recolectada, los resultados parciales obtenidos por las herramientas y el historial de interacción y respuestas con el usuario. Este elemento resulta esencial para mantener el contexto general de la tarea.
  4. Las Herramientas: son sistemas externos que amplían las capacidades del agente. Pueden incluir acceso a bases de datos a través de una API, calculadoras para operaciones matemáticas precisas, intérpretes de código (ej. Python) para análisis de datos, entre otros.
Arquitectura de un agente de IA basado en Grandes Modelos de Lenguaje: el LLM intercambia información con los módulos de planeación y memoria y con las herramientas
Arquitectura de un agente de IA basado en Grandes Modelos de Lenguaje: el LLM intercambia información con los módulos de planeación y memoria y con las herramientas

¿Cómo funciona un agente de IA? Ejemplo de ejecución paso a paso

Para entender cómo interactúan todos estos elementos que acabamos de ver, analicemos en detalle un sencillo ejemplo donde supondremos que la tarea del agente es resolver nuestra pregunta compleja sobre la ingesta diaria de calorías.

Siempre, el elemento inicial será la planeación. El objetivo es que el LLM interprete la pregunta y estructure un plan paso a paso. Para lograr esto, una de las técnicas más comunes es usar un prompt (un listado de instrucciones en lenguaje natural) que le describe al modelo la estrategia a llevar a cabo.

El esquema ReAct (Reason and Act)

Uno de los esquemas de prompting más usados para orquestar agentes es el framework ReAct (Reasoning and Acting – Razonar y Actuar). La lógica de este esquema obliga al modelo a comprender lo que se le pide y ejecutar acciones iterativamente hasta alcanzar la meta final.

Un ejemplo de prompt ReAct para inicializar el agente sería indicarle lo siguiente:

  1. Responde a la pregunta usando de la mejor manera posible las Herramientas disponibles (ej. un intérprete de código, APIs de bases de datos).
  2. Sigue un ciclo estricto para cada sub-fase:
    • Pregunta (Question): la tarea actual que se debe resolver (cambia en cada iteración).
    • Razonamiento (Thought/Reason): pensar cuáles son las acciones o subtareas necesarias para responder a esa pregunta.
    • Acción (Act): ejecutar una acción (usar una herramienta específica, generar código, etc.).
    • Observación (Observation): el resultado obtenido al ejecutar la acción (por ejemplo, los datos devueltos por la base de datos).
Ejemplo de un "promp" ReAct comúnmente usado en la fase de planeación por parte de un agente de IA
Ejemplo de un «promp» ReAct comúnmente usado en la fase de planeación por parte de un agente de IA

Esta secuencia de Razonamiento -> Acción -> Observación se repite iterativamente. En cada fase, el agente evalúa si la observación obtenida resuelve la pregunta principal. Si no, plantea una nueva pregunta y continúa el bucle hasta llegar a la respuesta final.

Así que, supongamos que tras usar este prompt el agente define las siguientes fases para resolver el problema:

Las fases para la solución del problema definidas durante la fase de planeación por un agente de IA
Las fases para la solución del problema definidas durante la fase de planeación por un agente de IA
  1. Recolectar los datos
  2. Analizar los datos
  3. Obtener gráfica
  4. Construir modelo predictivo
  5. Generar reporte final

Veamos exactamente qué es lo que hace el agente en cada una de estas fases.

Fase 1: recolección de datos

Siempre al inicio de cada etapa se ejecuta la tarea de planeación. Así que para esta primera fase el agente formula sus subtareas:

  1. Acceder a la «herramienta» para extraer datos de la base de datos
  2. Almacenar esos datos en «memoria»
La planeación definida por el agente para la primera fase (recolección de datos)
La planeación definida por el agente para la primera fase (recolección de datos)

Luego, en la etapa de ejecución el agente aplica la «Acción» de conectarse a la API/Herramienta, extrae la información calórica de la última década («Observación») y guarda este vector de datos en la «memoria» del agente.

Fase 2: análisis de los datos

En esta segunda fase el agente establece las siguientes tareas durante la planeación:

La planeación definida por el agente para la fase de análisis de los datos
La planeación definida por el agente para la fase de análisis de los datos
  1. Extraer los datos de la memoria
  2. Generar el código para procesar los datos
  3. Ejecutar el código en las herramientas
  4. Almacenar resultados en memoria

Luego, en la fase de ejecución extrae los datos, el LLM escribe un script de procesamiento, usa el intérprete de código («herramienta») para calcular la tendencia matemática y guarda las métricas de salida en la «memoria».

Fase 3: obtener la gráfica de la tendencia

En esta fase el agente comienza definiendo los siguientes pasos como resultado de la planeación:

La planeación definida por el agente para la fase de generación de la gráfica
La planeación definida por el agente para la fase de generación de la gráfica
  1. Extraer datos procesados de la memoria
  2. Generar el código para graficar
  3. Usar el intérprete de código para renderizar la gráfica
  4. Almacenar la imagen resultante en la memoria

Después de esto, en la fase de ejecución: el agente escribe el código (ej. usando Matplotlib/Seaborn), lo pasa al intérprete, el intérprete devuelve un archivo de imagen («Observación») y éste se deposita en la «memoria».

Fase 4: construir el modelo predictivo

En esta etapa el LLM define las siguientes estrategias durante la planeación para predecir los valores de ingesta calórica en los próximos dos años:

La planeación definida por el agente para la fase de construcción del modelo predictivo
La planeación definida por el agente para la fase de construcción del modelo predictivo
  1. Extraer los históricos de la memoria
  2. Generar el código para construir, entrenar y predecir con un modelo de Machine Learning
  3. Ejecutar el código en el intérprete
  4. Guardar las predicciones.

Luego, durante la etapa de ejecución el LLM programa un modelo de regresión o series de tiempo, el intérprete entrena el modelo con los datos en «memoria», realiza la inferencia para 2024-2025 y los tensores resultantes se almacenan en la «memoria».

Fase 5: Generar el reporte final

Finalmente, en la fase de generación del reporte final el agente define estas subtareas:

Las subtareas definidas por el agente para la última fase de solución del problema (generación del reporte final)
Las subtareas definidas por el agente para la última fase de solución del problema (generación del reporte final)
  1. Extraer todos los resultados y gráficos de la memoria
  2. Escribir en lenguaje natural el reporte final integrando las porciones correspondientes
  3. Generar el archivo de salida (ej. PDF).

Al ejecutar estas tareas, el agente toma las conclusiones analíticas, las predicciones del modelo y las gráficas, redacta el documento consolidado, da fin al bucle ReAct y le entrega de forma autónoma el reporte al usuario.

Conclusión

Como hemos visto, los agentes basados en LLMs representan un avance significativo en el estado del arte de la Inteligencia Artificial, ya que superan la barrera del simple procesamiento de texto para convertirse en sistemas capaces de orquestar flujos de trabajo computacionales.

Lo más interesante del panorama actual es que incluso podemos interconectar varios agentes al mismo tiempo. Al especializar a cada uno de ellos en diferentes tipos de tareas (por ejemplo, un agente experto en web scraping, un agente especializado en depuración de código de Machine Learningy un agente analista de datos), podemos construir lo que se conoce como un sistema multi-agente. Estos sistemas son capaces de resolver problemas aún más complejos de los que resolvería un agente operando de manera individual.

Así que el campo de los agentes de Inteligencia Artificial basados en Grandes Modelos de Lenguaje es bastante prometedor, a pesar de que, dependiendo de la aplicación que estemos desarrollando, muchas veces no tendrán la autonomía esperada y requerirán algún tipo de supervisión (así sea mínima) por parte del ser humano.

© Codificando Bits, LLC | Blog | Contacto | Servicios | Acerca de | Políticas

¿Has olvidado la contraseña?
¿Has perdido tu contraseña? Por favor, introduce tu nombre de usuario o dirección de correo electrónico. Recibirás por correo electrónico un enlace para crear una nueva contraseña.
body::-webkit-scrollbar { width: 7px; } body::-webkit-scrollbar-track { border-radius: 10px; background: #f0f0f0; } body::-webkit-scrollbar-thumb { border-radius: 50px; background: #dfdbdb }