Modelos y plataformas de IA
AutoGen: Impulsando las Aplicaciones de Modelos de Lenguaje Grande de la Próxima Generación

Los Modelos de Lenguaje Grande (LLM) son actualmente uno de los temas más discutidos en la inteligencia artificial mainstream. Los desarrolladores de todo el mundo están explorando el potencial de las aplicaciones de los LLM. Estos modelos son algoritmos de inteligencia artificial que utilizan técnicas de aprendizaje profundo y grandes cantidades de datos de entrenamiento para comprender, resumir, predecir y generar una amplia variedad de contenido, incluyendo texto, audio, imágenes, videos y más.
Los modelos de lenguaje grande son algoritmos de inteligencia artificial intrincados. Desarrollar dicho modelo es una tarea exhaustiva, y construir una aplicación que aproveche las capacidades de un LLM es igualmente desafiante. Requiere un conocimiento significativo, esfuerzo y recursos para diseñar, implementar y optimizar finalmente un flujo de trabajo capaz de aprovechar al máximo el potencial de un modelo de lenguaje grande para obtener los mejores resultados. Dado el tiempo y los recursos extensos necesarios para establecer flujos de trabajo para aplicaciones que utilizan el poder de los LLM, automatizar estos procesos tiene un gran valor. Esto es particularmente cierto ya que se anticipa que los flujos de trabajo se vuelvan aún más complejos en el futuro cercano, con desarrolladores que crean aplicaciones cada vez más sofisticadas basadas en LLM. Además, el espacio de diseño necesario para estos flujos de trabajo es tanto intrincado como extenso, lo que aumenta aún más los desafíos de crear un flujo de trabajo óptimo y robusto que cumpla con las expectativas de rendimiento.
AutoGen es un marco de trabajo desarrollado por el equipo de Microsoft (MSFT ) que tiene como objetivo simplificar la orquestación y optimización de los flujos de trabajo de LLM al introducir la automatización en el flujo de trabajo. El marco de trabajo AutoGen ofrece agentes conversables y personalizables que aprovechan el poder de LLM avanzados como GPT-3 y GPT-4, y al mismo tiempo, abordan sus limitaciones actuales al integrar los LLM con herramientas y entradas humanas mediante chats automatizados para iniciar conversaciones entre múltiples agentes.
Al utilizar el marco de trabajo AutoGen, solo se necesitan dos pasos al desarrollar un sistema de conversación de múltiples agentes complejo.
Paso 1: Definir un conjunto de agentes, cada uno con sus roles y capacidades.
Paso 2: Definir el comportamiento de interacción entre agentes, es decir, un agente debe saber qué responder cuando recibe un mensaje de otro agente.
Ambos pasos son modulares e intuitivos, lo que hace que estos agentes sean componibles y reutilizables. La figura a continuación muestra un flujo de trabajo de ejemplo que aborda la respuesta a preguntas basadas en código en la optimización de la cadena de suministro. Como se puede ver, el escritor primero escribe el código y la interpretación, el Safeguard garantiza la privacidad y la seguridad del código, y el código se ejecuta luego por el Comandante después de recibir la aprobación necesaria. Si el sistema encuentra algún problema durante la ejecución, el proceso se repite hasta que se resuelve completamente. Implementar el marco de trabajo anterior reduce la cantidad de interacción manual de 3 a 10 veces cuando se implementa en aplicaciones como la optimización de la cadena de suministro. Además, el uso de AutoGen también reduce la cantidad de esfuerzo de codificación hasta cuatro veces.

AutoGen podría ser un juego cambiador, ya que tiene como objetivo transformar el proceso de desarrollo de aplicaciones complejas que aprovechan el poder de los LLM. El uso de AutoGen no solo puede reducir la cantidad de interacciones manuales necesarias para lograr los resultados deseados, sino que también puede reducir la cantidad de esfuerzo de codificación necesario para crear dichas aplicaciones complejas. El uso de AutoGen para crear aplicaciones basadas en LLM puede no solo acelerar significativamente el proceso, sino que también ayudará a reducir la cantidad de tiempo, esfuerzo y recursos necesarios para desarrollar estas aplicaciones complejas.
En este artículo, profundizaremos en el marco de trabajo AutoGen y exploraremos los componentes y la arquitectura esenciales del marco de trabajo AutoGen, junto con sus posibles aplicaciones. Así que comencemos.
Introducción a AutoGen: Impulsando las Aplicaciones de Modelos de Lenguaje Grande de la Próxima Generación
AutoGen es un marco de trabajo de código abierto desarrollado por el equipo de Microsoft que equipa a los desarrolladores con el poder de crear aplicaciones que aprovechan el poder de los LLM utilizando múltiples agentes que pueden conversar entre sí para ejecutar con éxito las tareas deseadas. Los agentes en AutoGen son conversables, personalizables y pueden operar en diferentes modos que emplean la combinación de herramientas, entradas humanas y LLM. Los desarrolladores también pueden utilizar el marco de trabajo AutoGen para definir el comportamiento de interacción de los agentes, y los desarrolladores pueden utilizar tanto código de computadora como lenguaje natural para programar patrones de conversación flexibles implementados en varias aplicaciones. Al ser un marco de trabajo de código abierto, AutoGen puede considerarse un marco de trabajo genérico que los desarrolladores pueden utilizar para construir aplicaciones y marcos de trabajo de varias complejidades que aprovechan el poder de los LLM.

Los modelos de lenguaje grande están desempeñando un papel crucial en el desarrollo de agentes que aprovechan los marcos de trabajo de LLM para adaptarse a nuevas observaciones, uso de herramientas y razonamiento en numerosas aplicaciones del mundo real. Pero desarrollar estas aplicaciones que pueden aprovechar al máximo el potencial de los LLM es un asunto complejo, y dado el aumento de la demanda y las aplicaciones de los LLM, junto con el aumento de la complejidad de las tareas, es vital ampliar el poder de estos agentes utilizando múltiples agentes que trabajen en sincronía entre sí. ¿Pero cómo se puede utilizar un enfoque de múltiples agentes para desarrollar aplicaciones basadas en LLM que se pueden aplicar a una amplia gama de dominios con complejidades variables? El marco de trabajo AutoGen intenta responder a la pregunta anterior mediante el uso de conversaciones de múltiples agentes.
AutoGen: Componentes y Marco de Trabajo
En un intento por reducir la cantidad de esfuerzo que los desarrolladores necesitan para crear aplicaciones complejas que aprovechan las capacidades de los LLM en una amplia gama de dominios, el principio fundamental de AutoGen es consolidar y optimizar los flujos de trabajo de múltiples agentes mediante el uso de conversaciones de múltiples agentes, lo que también maximiza la reutilización de estos agentes implementados. AutoGen utiliza múltiples agentes que pueden conversar entre sí para ejecutar con éxito las tareas deseadas, y el marco de trabajo se basa en dos conceptos fundamentales: Agentes Conversables y Programación de Conversación.
Agentes Conversables
Un agente conversable en AutoGen es una entidad con un rol predefinido que puede pasar mensajes para enviar y recibir información de y hacia otros agentes conversables. Un agente conversable mantiene su contexto interno en función de los mensajes recibidos o enviados, y los desarrolladores pueden configurar estos agentes para que tengan un conjunto único de capacidades, como estar habilitados por herramientas de LLM o recibir entradas humanas.
Capacidades del Agente Impulsadas por Humanos, Herramientas y LLM
Las capacidades de un agente están directamente relacionadas con cómo procesa y responde a los mensajes, lo que es la razón principal por la que los agentes en el marco de trabajo AutoGen permiten a los desarrolladores dotar a sus agentes de varias capacidades. AutoGen admite numerosas capacidades componibles comunes para agentes que incluyen
- LLM: Los agentes respaldados por LLM explotan las capacidades de los marcos de trabajo de LLM avanzados, como la interferencia de estado implícito, el juego de roles, la proporcionar retroalimentación y incluso la codificación. Los desarrolladores pueden utilizar técnicas de llamada de procedimiento novedosas para combinar estas capacidades en un intento de aumentar la autonomía o la habilidad de un agente.
- Humanos: Varias aplicaciones desean o requieren algún grado de participación humana, y el marco de trabajo AutoGen permite que las aplicaciones basadas en LLM faciliten la participación humana en la conversación del agente mediante el uso de agentes respaldados por humanos que podrían solicitar entradas humanas durante ciertas rondas de conversación en función de la configuración del agente.
- Herramientas: Los agentes respaldados por herramientas suelen tener las capacidades para utilizar la ejecución de código o la ejecución de funciones para ejecutar herramientas.
Cooperación y Personalización del Agente
En función de las necesidades y requisitos específicos de una aplicación, los desarrolladores pueden configurar agentes individuales para que tengan una combinación de tipos de respaldo de back-end esenciales para mostrar el comportamiento complejo involucrado en las conversaciones de múltiples agentes. El marco de trabajo AutoGen permite a los desarrolladores crear agentes con roles y capacidades especializados extendiendo o reutilizando los agentes integrados. La figura adjunta muestra la estructura básica de los agentes integrados en el marco de trabajo AutoGen. La clase ConversableAgent puede utilizar humanos, herramientas y LLM por defecto, ya que es la abstracción de agente de más alto nivel. El UserProxyAgent y el AssistantAgent son clases preconfiguradas de ConversableAgent, y cada uno de ellos representa un modo de uso común, es decir, cada uno de estos dos agentes actúa como asistente de inteligencia artificial (cuando está respaldado por LLM) y solicita entrada humana o ejecuta llamadas de función o código (cuando está respaldado por herramientas y/o humanos) al actuar como proxy de humano.

La figura a continuación muestra cómo los desarrolladores pueden utilizar el marco de trabajo AutoGen para desarrollar un sistema de dos agentes que tenga una función de respuesta personalizada, junto con una ilustración de la conversación de agente automatizada resultante que utiliza el sistema de dos agentes durante la ejecución del programa.

Al permitir el uso de agentes personalizables que pueden conversar entre sí, estos agentes conversables sirven como un bloque de construcción fundamental en el marco de trabajo AutoGen. Sin embargo, los desarrolladores necesitan especificar y moldear estas conversaciones de múltiples agentes para desarrollar aplicaciones en las que estos agentes puedan hacer progresos significativos en las tareas especificadas.
Programación de Conversación
Para resolver el problema anterior, el marco de trabajo AutoGen utiliza la programación de conversación, un paradigma de computación basado en dos conceptos esenciales: cómputo , las acciones tomadas por los agentes en una conversación de múltiples agentes para computar su respuesta, y flujo de control , las condiciones o secuencia bajo las cuales se producen estas computaciones. La capacidad de programar estas permite a los desarrolladores implementar numerosos patrones de conversación de múltiples agentes flexibles. Además, en el marco de trabajo AutoGen, las computaciones son centradas en la conversación. Las acciones tomadas por un agente son relevantes para las conversaciones en las que el agente está involucrado, y las acciones tomadas por los agentes dan como resultado el paso de mensajes para conversaciones posteriores hasta que se cumpla una condición de terminación. Además, el flujo de control en el marco de trabajo AutoGen está impulsado por conversaciones, ya que es la decisión de los agentes participantes sobre qué agentes enviarán mensajes de y hacia el procedimiento de computación.

La figura anterior muestra una ilustración simple de cómo los agentes individuales realizan operaciones específicas de rol y computaciones centradas en la conversación para generar las respuestas deseadas, como la ejecución de código y las llamadas de interferencia de LLM. La tarea progresa con la ayuda de las conversaciones que se muestran en el cuadro de diálogo.
Para facilitar la programación de conversación, el marco de trabajo AutoGen cuenta con los siguientes patrones de diseño.
- Mecanismos de respuesta automática y interfaz unificada para chats de agentes automatizados
El marco de trabajo AutoGen tiene una interfaz unificada para realizar la computación correspondiente que es de naturaleza centrada en la conversación, incluyendo una función de recepción o envío para recibir o enviar mensajes, junto con una función de generación de respuesta que genera una respuesta en función del mensaje recibido y toma la acción necesaria. El marco de trabajo AutoGen también introduce y despliega el mecanismo de respuesta automática del agente por defecto para realizar el control impulsado por la conversación.
- Control por combinación de lenguaje natural y programación
El marco de trabajo AutoGen facilita el uso de lenguaje natural y programación en varios patrones de gestión de flujo de control que incluyen controles de lenguaje natural que utilizan LLM , control de lenguaje de programación y transición de control entre programación y lenguaje natural .
Continuando, además de las conversaciones estáticas que suelen estar acompañadas de un flujo predefinido, el marco de trabajo AutoGen también admite flujos de conversación dinámicos utilizando múltiples agentes, y el marco de trabajo proporciona a los desarrolladores dos opciones para lograr esto
- Utilizando llamadas de función.
- Utilizando una función de respuesta personalizada.
Aplicaciones de AutoGen
Para ilustrar el potencial del marco de trabajo AutoGen en el desarrollo de aplicaciones de múltiples agentes complejas, aquí hay seis aplicaciones potenciales de AutoGen que se han seleccionado en función de su relevancia en el mundo real, capacidades de resolución de problemas mejoradas por el marco de trabajo AutoGen y su potencial innovador.
Estas seis aplicaciones del marco de trabajo AutoGen son
- Resolución de problemas matemáticos.
- Chats de recuperación mejorada.
- Chats ALF.
- Codificación de múltiples agentes.
- Chat de grupo dinámico.
- Ajedrez conversacional.

Aplicación 1: Resolución de Problemas Matemáticos
Las matemáticas son una de las disciplinas fundamentales para aprovechar los modelos de lenguaje grande para ayudar a resolver problemas matemáticos complejos, lo que abre un mundo de posibles aplicaciones, incluyendo asistencia de investigación de inteligencia artificial y tutoría personalizada de inteligencia artificial.

La figura adjunta muestra la aplicación del marco de trabajo AutoGen para lograr un rendimiento competitivo en la resolución de problemas matemáticos.
Aplicación 2: Preguntas y Respuestas y Generación de Código con Recuperación Mejorada
En los últimos meses, la generación de código con recuperación mejorada ha surgido como un enfoque efectivo y práctico para superar las limitaciones de los LLM al incorporar documentos externos. La figura a continuación muestra la aplicación del marco de trabajo AutoGen para una recuperación mejorada efectiva y para mejorar el rendimiento en tareas de preguntas y respuestas.

Aplicación 3: Toma de Decisiones en Entornos de Mundo de Texto
El marco de trabajo AutoGen se puede utilizar para crear aplicaciones que trabajen con la toma de decisiones en línea o interactiva. La figura a continuación muestra cómo los desarrolladores pueden utilizar el marco de trabajo AutoGen para diseñar un sistema de conversación de tres agentes con un agente de base para mejorar significativamente el rendimiento.

Aplicación 4: Codificación de Múltiples Agentes
Los desarrolladores que trabajan en el marco de trabajo AutoGen pueden utilizar el marco de trabajo OptiGuide para construir un sistema de codificación de múltiples agentes que pueda escribir código para implementar soluciones optimizadas y responder a preguntas de los usuarios. La figura a continuación muestra que el uso del marco de trabajo AutoGen para crear un diseño de múltiples agentes ayuda a mejorar significativamente el rendimiento general, especialmente en la realización de tareas de codificación que requieren un salvaguardia.

Aplicación 5: Chat de Grupo Dinámico
El marco de trabajo AutoGen proporciona soporte para un patrón de comunicación que gira en torno a chats de grupo dinámicos en los que los agentes múltiples participantes comparten el contexto y, en lugar de seguir un conjunto de órdenes predefinidas, conversan entre sí de manera dinámica. Estos chats de grupo dinámicos dependen de conversaciones en curso para guiar el flujo de interacción dentro de los agentes.

La figura anterior ilustra cómo el marco de trabajo AutoGen admite chats de grupo dinámicos entre agentes mediante el uso de GroupChatManager , un agente especial.
Aplicación 6: Ajedrez Conversacional
Los desarrolladores del marco de trabajo AutoGen lo utilizaron para desarrollar una aplicación de Ajedrez Conversacional que es un juego de interferencia natural que cuenta con agentes integrados para jugadores que pueden ser un LLM o humano, y también hay un agente de terceros que proporciona información relevante y valida los movimientos en el tablero en función de un conjunto de reglas estándar predefinidas. La figura adjunta muestra el Ajedrez Conversacional, un juego de interferencia natural construido utilizando el marco de trabajo AutoGen que permite a los jugadores utilizar chistes, juego de roles o incluso referencias a memes para expresar sus movimientos de manera creativa, lo que hace que el juego de ajedrez sea más interesante no solo para los jugadores, sino también para la audiencia y los observadores.

Conclusión
En este artículo, hemos hablado sobre AutoGen, un marco de trabajo de código abierto que utiliza los conceptos de programación de conversación y agentes conversables que tiene como objetivo simplificar la orquestación y optimización de los flujos de trabajo de LLM al introducir la automatización en el flujo de trabajo. El marco de trabajo AutoGen ofrece agentes conversables y personalizables que aprovechan el poder de LLM avanzados como GPT-3 y GPT-4, y al mismo tiempo, abordan sus limitaciones actuales al integrar los LLM con herramientas y entradas humanas mediante chats automatizados para iniciar conversaciones entre múltiples agentes.
Aunque el marco de trabajo AutoGen aún se encuentra en sus primeras etapas experimentales, abre el camino para futuras exploraciones y oportunidades de investigación en el campo, y AutoGen podría ser la herramienta que ayuda a mejorar la velocidad, las funcionalidades y la facilidad de desarrollo de aplicaciones que aprovechan las capacidades de los LLM.












