AutoGen, AG2, Agents, Frameworks, Open-source, and Best Practices

AutoGen, AG2, Agents, Frameworks, Open-source, and Best Practices

Entrevista con los Fundadores de AutoGen

Orígenes de AutoGen

  • La creación de AutoGen es una colaboración entre Penn State y Microsoft, donde ambos fundadores trabajaban en un proyecto anterior llamado FL, una biblioteca para aprendizaje automático automatizado.
  • Dr. Wang y Dr. Wu han estado trabajando en el proyecto FL durante más de cinco años, comenzando en 2019 mientras Wang realizaba una pasantía en Microsoft Research.
  • Durante su trabajo en FL, desarrollaron un algoritmo eficiente para la optimización de hiperparámetros que decidieron liberar como código abierto para beneficiar a otros.
  • FL ha sido adoptado por muchas empresas, especialmente en la industria fintech, logrando millones de descargas y estableciendo una comunidad activa alrededor del proyecto.

Potencial de Modelos Generativos

  • Ambos investigadores vieron el gran potencial de los modelos generativos y comenzaron a pensar cómo empoderar a las personas utilizando modelos de lenguaje grandes.
  • Al observar el lanzamiento del modelo GPT-3, decidieron aplicar técnicas automáticas para ajustar los parámetros de inferencia y maximizar su utilidad en diversas aplicaciones.
  • Descubrieron que elegir los mejores parámetros puede mejorar significativamente el rendimiento del modelo y reducir costos asociados a la inferencia.

Diseño Espacial y Framework Unificado

  • Se dieron cuenta que no solo se trata de ejecutar un modelo; hay múltiples pasos involucrados que requieren herramientas adicionales e insumos humanos.
  • Para ayudar a los desarrolladores a navegar este amplio espacio de diseño, decidieron construir un marco fundamental similar a otros estándares existentes en aprendizaje automático como Scikit-learn o PyTorch.
  • En ese momento no existía un marco unificado adecuado para modelos de lenguaje, lo que motivó la creación de AutoGen.

Colaboración entre Agentes

  • La idea inicial sobre agentes colaborando surgió al intentar resolver problemas matemáticos complejos donde se requerían iteraciones entre diferentes agentes para corregir trabajos mutuamente antes del resultado final.
  • El primer "momento aha" ocurrió cuando se dieron cuenta del potencial educativo relacionado con la tutoría matemática al involucrar herramientas y código iterativo.

Aplicaciones Prácticas

  • Dr. Wu mencionó su interés personal por las matemáticas y la educación como motivación detrás del uso práctico de estos agentes colaborativos.

Interacción entre Agentes de IA y Humanos

Motivación Original

  • La motivación inicial es imitar la interacción humana con modelos como CHBD, que solo generaban código sin ejecutarlo. Esto requería que el usuario copiara y ejecutara el código manualmente.

Proceso Autónomo

  • Se establece un sistema de dos agentes: un agente asistente (modelo de lenguaje grande) y un agente proxy del usuario, simulando el comportamiento humano en la conversación.

Avances en Modelos de Lenguaje

  • El proceso se vuelve completamente autónomo, donde los dos agentes interactúan para depurar y resolver tareas. Este avance representa un gran paso respecto a modelos anteriores como GBG3.

Éxito del Modelo CHB

  • El éxito del modelo CHB se atribuye a su interfaz de chat, que permite a los usuarios proporcionar retroalimentación en tiempo real, facilitando iteraciones efectivas.

Teoría del Diálogo

  • Se relaciona la importancia del diálogo en la creación de nuevo conocimiento con experiencias personales en seminarios sobre computación cuántica. La conversación es clave para generar aprendizajes significativos.

Evolución de la Comunicación entre IA

Comunicación entre IA y Humanos

  • Aunque inicialmente se pensó en una comunicación entre humanos e IA, no hay razón para limitarse a esta dinámica; los modelos pueden comunicarse entre sí también.

Capacidades Mejoradas con GBD4

  • Con GBD4, las capacidades aumentan significativamente, incluyendo razonamiento fuerte y planificación. Cada capacidad puede ser configurada para diferentes roles dentro del sistema.

Automatización de Procesos Complejos

  • Se discute cómo ampliar el uso de modelos lingüísticos para automatizar procesos más complejos mediante bucles de trabajo que integren generación de código, pruebas y revisiones.

Aplicaciones Prácticas

Generación Automática de Datos

  • Un ejemplo concreto es la generación automática de datos utilizando agentes AI en lugar de usuarios humanos. Esto podría facilitar la creación masiva de datos útiles para entrenamiento.

Implicaciones Amplias

  • Generalizando este patrón se abren oportunidades significativas para modelar procesos más complicados, lo cual tiene implicaciones importantes en diversas áreas.

Desarrollo Inicial y Publicación

Establecimiento del Paradigma Conversacional

  • Después de entender profundamente el problema matemático inicial, se desarrolló un paradigma conversacional efectivo entre dos agentes: uno asistente y otro simulando comportamiento humano.

Evolución hacia Múltiples Agentes

  • A partir del feedback inicial se identificó la necesidad de generalizar el patrón conversacional para incluir más agentes y roles diferentes, lo que llevó a una evolución significativa del sistema.

Tiempo hasta Publicación

¿Cómo se desarrolló el proyecto Autogen?

Proceso de desarrollo y retroalimentación

  • Se trabajó intensamente en la construcción del agente Autogen, obteniendo retroalimentación inicial de los usuarios para iterar sobre el producto.
  • En agosto, se redactó un primer artículo de investigación que documenta el proceso de desarrollo, que tomó alrededor de tres a cuatro meses.

Publicación y acceso al código

  • Desde abril, cuando se escribió la primera línea de código, este fue parte del proyecto Flamel de código abierto; cada línea es pública.
  • La comunidad tuvo acceso anticipado a Autogen antes de su lanzamiento más amplio. Hubo una gran sorpresa entre los usuarios al ver algo tan innovador.

Reacciones iniciales y crecimiento inesperado

  • El desarrollador no esperaba que el proyecto tuviera tanto impacto; estaba enfocado en hacer útil su idea sin prever su popularidad.
  • Se estableció un objetivo inicial para obtener mil estrellas en GitHub durante un año, pero tras unos días ya superaba las 35,000 estrellas.

Importancia del código abierto

  • Aunque el código abierto es común en la investigación académica, su adopción ha sido menor en empresas comparado con la comunidad AI.
  • El ponente reflexiona sobre su falta de conocimiento previo sobre el valor del código abierto antes de involucrarse profundamente en inteligencia artificial.

Trayectoria hacia el código abierto

  • La transición al mundo del código abierto no fue sencilla; inicialmente trabajaba principalmente en técnicas y artículos sin involucrarse en proyectos abiertos.
  • La decisión de hacer Autogen open source surgió después de recibir solicitudes por parte de usuarios interesados que querían probarlo.

Desafíos y decisiones sobre licencias

  • Al principio, ofrecieron una licencia privada debido a la calidad prototipo del software; los usuarios preferían una opción open source.

¿Cómo ha evolucionado el uso de bibliotecas de código abierto?

Aprendizajes y evolución en el desarrollo de bibliotecas

  • La necesidad de los usuarios previos impulsó la creación de soluciones, lo que abrió nuevas oportunidades para aprender y mejorar continuamente.
  • La biblioteca mejoró su usabilidad a medida que se abordaron las preocupaciones de los usuarios, lo que llevó a un aumento en la adopción por parte de empresas grandes.
  • Al iniciar el proyecto Autogen, se aplicaron lecciones aprendidas del desarrollo anterior, como la importancia del código abierto desde el principio.
  • El enfoque abierto aceleró la retroalimentación inicial y facilitó la adopción por parte de empresas, generando casos de uso significativos.

Impacto personal y profesional en el desarrollo

  • Se describen varias etapas en la carrera del orador, comenzando con su experiencia como estudiante de doctorado donde compartir código era una norma.
  • La investigación se centraba en hacerla accesible y reproducible, influenciada por altos estándares académicos.
  • A través del proyecto FLO, se observó un impacto significativo al ver cómo su investigación era utilizada en aplicaciones reales.

Reflexiones sobre Open Source

  • En la etapa Autogen, hubo una mayor visibilidad y adopción; esto permitió reflexionar sobre los beneficios para contribuyentes y usuarios.
  • El software de código abierto fomenta un ecosistema saludable donde las contribuciones son accesibles y pueden ser utilizadas por otros.
  • La transparencia es clave; todos pueden revisar el código, lo que genera confianza entre los usuarios empresariales.

Beneficios para empresas

  • Las comunidades abiertas permiten un crecimiento amplio y facilitan la integración para nuevos empleados al usar software ya conocido.
  • Esto evita que los nuevos empleados tengan que aprender herramientas específicas solo para su equipo interno.

Cultura abierta en IA

  • Se destaca algo especial en la industria de IA: el impulso hacia el open source parece ser más natural debido a sus raíces académicas.
  • La posibilidad de experimentar con el código permite a los desarrolladores modificarlo según sus necesidades personales o profesionales.

Mejores prácticas para agentes

¿Cuáles son las mejores prácticas para trabajar con agentes en IA?

Introducción a los modelos de agentes

  • Se plantea la necesidad de reflexionar sobre el tipo de modelos y la cantidad de agentes a utilizar, así como la claridad del mensaje inicial o sistema.

Prototipado y configuración inicial

  • Se sugiere comenzar con un prototipo que tenga una única instancia del trabajo, lo cual es una buena práctica inicial.
  • La experiencia muestra que iniciar con un setup simple, como dos agentes (uno asistente y otro usuario), permite experimentar efectivamente.

Complejidad en tareas y especialización de agentes

  • Para tareas simples, un setup de dos agentes puede ser suficiente; sin embargo, para tareas complejas se recomienda dividirlas en partes más pequeñas.
  • Es importante considerar la topología de comunicación entre múltiples agentes, ya que el número de combinaciones puede volverse infinito.

Patrones de conversación entre agentes

  • Se presentan patrones básicos para facilitar la interacción entre múltiples agentes, incluyendo chats secuenciales y grupales.
  • Dependiendo del control deseado en el flujo de trabajo, se pueden elegir o mezclar diferentes patrones para optimizar resultados.

Flexibilidad en herramientas y modelos

  • Con múltiples agentes, hay mayor libertad para seleccionar diferentes modelos y configuraciones según las necesidades específicas.
  • Esto permite optimizar varios métricas al mismo tiempo, equilibrando calidad y costos según sea necesario.

Nuevas características en AG2: Agentes Capitanes y Swam

  • Se introducen dos nuevas características importantes: el agente capitán (Captain Agent), que automatiza la creación de equipos de agentes adaptados a tareas específicas.
  • El agente capitán descompone tareas automáticamente y crea equipos adecuados sobre la marcha; esto facilita procesos complejos al reducir intervención manual.

Combinación con patrones Swam

  • Los desarrolladores pueden combinar los resultados generados por el agente capitán con patrones Swam para mejorar aún más la colaboración entre los distintos tipos de agentes.

Prácticas y Directrices para la Interacción Humano-IA

Transiciones y Estructura de Información

  • Se sugiere definir transiciones necesarias e instrucciones sobre cómo transferir tareas a diferentes agentes, permitiendo compartir información de manera más estructurada.
  • La combinación de estas prácticas puede ser útil en el proceso de desarrollo, sugiriendo que se pueden descubrir más directrices con el tiempo.

Mimicando Organizaciones Humanas

  • Es útil considerar cómo las organizaciones humanas resuelven problemas, tratando un modelo de lenguaje como un humano con inteligencia media.
  • Se menciona que imitar la estructura organizativa humana es un buen punto de partida para abordar problemas complejos.

Importancia del Humano en el Proceso

  • Se discute cuándo es apropiado incluir humanos en el proceso, especialmente en proyectos empresariales complejos.
  • La participación humana puede variar según los avances tecnológicos y la capacidad del agente IA.

Elementos Clave para la Participación Humana

  • Cuatro elementos básicos donde se requiere intervención humana:
  • Definición clara de intenciones iniciales por parte del humano.
  • Iteraciones necesarias hasta que la intención sea clara para el agente IA.
  • Verificación y retroalimentación sobre los resultados devueltos por la IA.
  • Capacidad del humano para anular decisiones tomadas por la IA cuando sea necesario.

Enseñanza y Aprendizaje entre Humanos e IAs

  • Antes de que una IA pueda realizar todas las tareas deseadas, es esencial enseñarles habilidades específicas mediante interacción humana.

¿Cómo los humanos pueden aprender de los agentes de IA?

Motivaciones para el aprendizaje humano

  • Los humanos tienen un interés natural en aprender de los agentes de IA, ya sea por curiosidad o para adquirir habilidades útiles que les permitan mejorar.
  • La idea es que al interactuar con modelos grandes, se puede simular el comportamiento humano y así facilitar el aprendizaje mutuo entre humanos y máquinas.

Identificación de brechas en la inteligencia

  • Es importante identificar las brechas entre la inteligencia media de los modelos y la inteligencia humana real, especialmente en tareas desafiantes donde se requiere una mayor capacidad cognitiva.
  • Las capacidades únicas del ser humano, como la ética y la seguridad, son áreas donde se necesita intervención humana para validar soluciones generadas por modelos de IA.

Consideraciones éticas y de seguridad

  • En aplicaciones críticas (HTIC), es esencial considerar aspectos éticos y de seguridad al integrar humanos en el proceso para asegurar que las soluciones sean precisas y responsables.

¿Por qué se decidió bifurcar el código original de autogen?

Motivos detrás del fork del proyecto

  • Se tomó la decisión de bifurcar el código debido a complejidades en la gestión del proyecto dentro del entorno corporativo de Microsoft, lo cual ralentizaba el progreso.
  • Aunque inicialmente funcionó bien bajo Microsoft, a medida que creció el proyecto surgieron desafíos relacionados con dirección estratégica e involucramiento del liderazgo.

Velocidad y flexibilidad en el desarrollo

  • La nueva dirección busca aumentar la velocidad del desarrollo permitiendo decisiones más ágiles sin las restricciones impuestas por una gran corporación.
  • Crear un espacio más neutral facilita que contribuyentes externos participen sin reservas sobre colaborar con un proyecto vinculado a Microsoft.

Crecimiento comunitario

¿Cómo se desarrollan los agentes autónomos?

Principios de desarrollo impulsado por casos de uso

  • Se busca un desarrollo basado en casos de uso, donde se priorizan las necesidades específicas para mejorar la funcionalidad del sistema.
  • Recientemente se han lanzado actualizaciones como el "Captain agent" y "Knowledge Graph", con planes para expandir autogen a EG2 y soporte en tiempo real.

Agentes proactivos y autonomía

  • La discusión gira en torno a la posibilidad de que los agentes actúen de manera más autónoma, realizando tareas sin necesidad de instrucciones constantes del usuario.
  • Se plantea la pregunta sobre cuándo los agentes podrán operar 24/7, lo que podría ahorrar mucho tiempo a los usuarios.

Interacción humana y mecanismos de autorización

  • Es crucial establecer una interfaz adecuada entre humanos y máquinas, asegurando que haya mecanismos de autorización para evitar acciones no deseadas por parte del agente.
  • La importancia del control humano es destacada; por ejemplo, un agente no debería enviar correos electrónicos importantes sin revisión previa.

Desafíos técnicos y éticos

  • Aunque la tecnología está cerca de permitir sistemas totalmente autónomos, existen preocupaciones sobre la calidad y responsabilidad en caso de errores cometidos por los agentes.
  • Las limitaciones actuales incluyen costos operativos y la incertidumbre sobre si los agentes cumplirán correctamente las tareas asignadas.

Futuro de los agentes autónomos

  • En un horizonte de cinco a diez años, se espera que los agentes puedan completar tareas con mínima supervisión humana, pero siempre manteniendo la opción para el usuario de intervenir cuando sea necesario.

La Conexión entre Agentes y Cuentas Personales

Importancia de la Interacción con Agentes

  • Se menciona la necesidad de que los agentes puedan conectarse a cuentas personales para realizar tareas, lo cual podría optimizar el tiempo del usuario.
  • El orador expresa su entusiasmo por un futuro donde los agentes no solo envían correos electrónicos importantes, sino que también los redactan para revisión, ahorrando así una cantidad significativa de tiempo.

Agradecimientos y Reconocimientos

  • Se agradece a los participantes por su tiempo y contribuciones al desarrollo de marcos abiertos en inteligencia artificial.
Video description

Join My Newsletter for Regular AI Updates 👇🏼 https://forwardfuture.ai My Links 🔗 👉🏻 Subscribe: https://www.youtube.com/@matthew_berman 👉🏻 Twitter: https://twitter.com/matthewberman 👉🏻 Discord: https://discord.gg/xxysSXBxFW 👉🏻 Patreon: https://patreon.com/MatthewBerman 👉🏻 Instagram: https://www.instagram.com/matthewberman_ai 👉🏻 Threads: https://www.threads.net/@matthewberman_ai 👉🏻 LinkedIn: https://www.linkedin.com/company/forward-future-ai Media/Sponsorship Inquiries ✅ https://bit.ly/44TC45V