Intelligence artificielle
AutoGen : Alimentation des prochaines générations d’applications de modèles de langage à grande échelle

Les modèles de langage à grande échelle (LLM) sont actuellement l’un des sujets les plus discutés dans l’IA grand public. Les développeurs du monde entier explorent le potentiel des applications des LLM. Ces modèles sont des algorithmes d’IA qui utilisent des techniques d’apprentissage profond et d’importantes quantités de données de formation pour comprendre, résumer, prédire et générer une large gamme de contenus, notamment du texte, de l’audio, des images, des vidéos et plus encore.
Les modèles de langage à grande échelle sont des algorithmes d’IA complexes. Développer un tel modèle est une tâche exhaustive, et construire une application qui exploite les capacités d’un LLM est tout aussi difficile. Cela nécessite une expertise, des efforts et des ressources importants pour concevoir, mettre en œuvre et optimiser finalement un flux de travail capable de tirer parti du plein potentiel d’un modèle de langage à grande échelle pour obtenir les meilleurs résultats. Compte tenu du temps et des ressources considérables nécessaires pour établir des flux de travail pour les applications qui utilisent le pouvoir des LLM, l’automatisation de ces processus présente une grande valeur. C’est particulièrement vrai dans la mesure où les flux de travail devraient devenir encore plus complexes à l’avenir, les développeurs créant des applications de plus en plus sophistiquées basées sur les LLM. De plus, l’espace de conception nécessaire à ces flux de travail est à la fois complexe et vaste, ce qui accroît les défis de création d’un flux de travail optimal et robuste qui répond aux attentes de performance.
AutoGen est un cadre développé par l’équipe de Microsoft qui vise à simplifier l’orchestration et l’optimisation des flux de travail LLM en introduisant l’automatisation dans le pipeline de flux de travail. Le cadre AutoGen offre des agents conversables et personnalisables qui exploitent le pouvoir des LLM avancés comme GPT-3 et GPT-4, et en même temps, remédie à leurs limites actuelles en intégrant les LLM avec des outils et des entrées humaines en utilisant des conversations automatisées pour initier des conversations entre plusieurs agents.
Lorsque vous utilisez le cadre AutoGen, il suffit de deux étapes pour développer un système de conversation multi-agent complexe.
Étape 1 : Définir un ensemble d’agents, chacun avec ses rôles et ses capacités.
Étape 2 : Définir le comportement d’interaction entre les agents, c’est-à-dire qu’un agent doit savoir quoi répondre lorsqu’il reçoit un message d’un autre agent.
Les deux étapes ci-dessus sont modulaires et intuitives, ce qui rend ces agents composable et réutilisables. La figure ci-dessous illustre un exemple de flux de travail qui aborde la réponse aux questions basées sur le code dans l’optimisation de la chaîne d’approvisionnement. Comme on peut le voir, l’auteur écrit d’abord le code et l’interprétation, le Safeguard assure la confidentialité et la sécurité du code, et le code est ensuite exécuté par le Commander après avoir reçu les autorisations requises. Si le système rencontre des problèmes pendant l’exécution, le processus est répété jusqu’à ce qu’il soit complètement résolu. Le déploiement du cadre ci-dessous entraîne une réduction du nombre d’interactions manuelles de 3x à 10x lorsqu’il est déployé dans des applications telles que l’optimisation de la chaîne d’approvisionnement. De plus, l’utilisation d’AutoGen réduit également le nombre d’efforts de codage de jusqu’à quatre fois.

AutoGen pourrait être un jeu de changement car il vise à transformer le processus de développement d’applications complexes qui exploitent le pouvoir des LLM. L’utilisation d’AutoGen peut non seulement réduire le nombre d’interactions manuelles nécessaires pour obtenir les résultats souhaités, mais elle peut également réduire le nombre d’efforts de codage nécessaires pour créer de telles applications complexes. L’utilisation d’AutoGen pour créer des applications basées sur les LLM peut non seulement accélérer considérablement le processus, mais elle aidera également à réduire le temps, les efforts et les ressources nécessaires pour développer ces applications complexes.
Dans cet article, nous allons plonger plus profondément dans le cadre AutoGen, et nous allons explorer les composants essentiels et l’architecture du cadre AutoGen, ainsi que ses applications potentielles. Alors commençons.
Introduction à AutoGen : Alimentation des prochaines générations d’applications de modèles de langage à grande échelle
AutoGen est un cadre open source développé par l’équipe de Microsoft qui équipe les développeurs avec le pouvoir de créer des applications qui exploitent le pouvoir des LLM en utilisant plusieurs agents qui peuvent avoir des conversations les uns avec les autres pour exécuter avec succès les tâches souhaitées. Les agents dans AutoGen sont conversables, personnalisables et peuvent fonctionner dans différents modes qui emploient la combinaison d’outils, d’entrées humaines et de LLM. Les développeurs peuvent également utiliser le cadre AutoGen pour définir le comportement d’interaction des agents, et les développeurs peuvent utiliser à la fois le code informatique et le langage naturel pour programmer des modèles de conversation flexibles déployés dans diverses applications. Étant un cadre open source, AutoGen peut être considéré comme un cadre générique que les développeurs peuvent utiliser pour construire des applications et des cadres de complexités diverses qui exploitent le pouvoir des LLM.

Les modèles de langage à grande échelle jouent un rôle crucial dans le développement d’agents qui utilisent les cadres LLM pour s’adapter à de nouvelles observations, à l’utilisation d’outils et à la raisonnement dans de nombreuses applications du monde réel. Mais développer ces applications qui peuvent exploiter pleinement les LLM est une affaire complexe, et compte tenu de la demande et des applications croissantes des LLM, ainsi que de l’augmentation de la complexité des tâches, il est essentiel d’accroître le pouvoir de ces agents en utilisant plusieurs agents qui travaillent en harmonie les uns avec les autres. Mais comment une approche multi-agent peut-elle être utilisée pour développer des applications basées sur les LLM qui peuvent ensuite être appliquées à un large éventail de domaines avec des complexités variables ? Le cadre AutoGen tente de répondre à la question ci-dessus en utilisant des conversations multi-agents.
AutoGen : Composants et Cadre
Dans une tentative pour réduire le nombre d’efforts que les développeurs doivent fournir pour créer des applications complexes qui utilisent les capacités des LLM sur un large éventail de domaines, le principe fondamental d’AutoGen est de consolider et de rationaliser les flux de travail multi-agents en utilisant des conversations multi-agents, ce qui maximise également la réutilisation de ces agents mis en œuvre. AutoGen utilise plusieurs agents qui peuvent avoir des conversations les uns avec les autres pour exécuter avec succès les tâches souhaitées, et le cadre est construit sur deux concepts fondamentaux : Agents conversables et Programmation conversable.
Agents conversables
Un agent conversable dans AutoGen est une entité avec un rôle prédéfini qui peut passer des messages pour envoyer et recevoir des informations à et de autres agents conversables. Un agent conversable maintient son contexte interne en fonction des messages reçus ou envoyés, et les développeurs peuvent configurer ces agents pour avoir un ensemble unique de capacités comme être activé par des outils LLM, ou prendre des entrées humaines.
Capacités d’agent alimentées par des humains, des outils et des LLM
Les capacités d’un agent sont directement liées à la façon dont il traite et répond aux messages, ce qui est la principale raison pour laquelle les agents dans le cadre AutoGen permettent aux développeurs de doter diverses capacités à leurs agents. AutoGen prend en charge de nombreuses capacités composable courantes pour les agents qui incluent
- LLM : Les agents soutenus par les LLM exploitent les capacités des cadres LLM avancés comme l’interférence d’état implicite, le jeu de rôle, la fourniture de commentaires et même la codification. Les développeurs peuvent utiliser de nouvelles techniques de sollicitation pour combiner ces capacités dans une tentative d’augmenter l’autonomie ou la compétence d’un agent.
- Humains : Plusieurs applications nécessitent ou nécessitent un certain degré d’implication humaine, et le cadre AutoGen permet aux applications basées sur les LLM de faciliter la participation humaine dans la conversation d’agent en utilisant des agents soutenus par des humains qui pourraient solliciter des entrées humaines pendant certaines rondes de conversation sur la base de la configuration de l’agent.
- Outils : Les agents soutenus par les outils ont généralement la capacité d’utiliser l’exécution de code ou l’exécution de fonction pour exécuter des outils.
Coopération et personnalisation d’agent
En fonction des besoins et des exigences spécifiques d’une application, les développeurs peuvent configurer des agents individuels pour avoir une combinaison de types de retour arrière essentiels pour afficher le comportement complexe impliqué dans les conversations multi-agents. Le cadre AutoGen permet aux développeurs de créer facilement des agents ayant des rôles et des capacités spécialisés en étendant ou en réutilisant les agents intégrés. La figure ci-dessous illustre la structure de base des agents intégrés dans le cadre AutoGen. La classe ConversableAgent peut utiliser des humains, des outils et des LLM par défaut, car c’est la plus haute abstraction d’agent. L’UserProxyAgent et l’AssistantAgent sont des classes préconfigurées de ConversableAgent, et chacun d’eux représente un mode d’utilisation courant, c’est-à-dire que chacun de ces deux agents agit comme un assistant IA (lorsqu’il est soutenu par les LLM), et sollicite des entrées humaines ou exécute des appels de fonction ou des codes (lorsqu’il est soutenu par des outils et/ou des humains) en agissant comme un proxy humain.

La figure ci-dessous illustre comment les développeurs peuvent utiliser le cadre AutoGen pour développer un système à deux agents qui a une fonction de réponse personnalisée, ainsi qu’une illustration de la conversation d’agent automatisée qui utilise le système à deux agents pendant l’exécution du programme.

En permettant l’utilisation d’agents personnalisables qui peuvent converser les uns avec les autres, ces agents conversables servent de bloc de construction fondamental dans le cadre AutoGen. Cependant, les développeurs doivent spécifier et façonner ces conversations multi-agents pour développer des applications où ces agents peuvent faire des progrès significatifs sur les tâches spécifiées.
Programmation de conversation
Pour résoudre le problème ci-dessus, le cadre AutoGen utilise la programmation de conversation, un paradigme de calcul construit sur deux concepts essentiels : calcul, les actions prises par les agents dans une conversation multi-agent pour calculer leur réponse et flux de contrôle, les conditions ou la séquence sous laquelle ces calculs ont lieu. La capacité de programmer ceux-ci permet aux développeurs de mettre en œuvre de nombreux modèles de conversation multi-agent flexibles. De plus, dans le cadre AutoGen, les calculs sont centrés sur la conversation. Les actions prises par un agent sont pertinentes pour les conversations dans lesquelles l’agent est impliqué, et les actions prises par les agents entraînent ensuite le passage de messages pour des conversations consécutives jusqu’au point où une condition de terminaison est satisfaite. De plus, le flux de contrôle dans le cadre AutoGen est piloté par les conversations, car c’est la décision des agents participants sur lesquels les agents enverront des messages à et de la procédure de calcul.

La figure ci-dessus illustre une illustration simple de la façon dont les agents individuels effectuent leurs opérations spécifiques au rôle, et les calculs centrés sur la conversation pour générer les réponses souhaitées, telles que l’exécution de code et les appels d’interférence LLM. La tâche progresse avec l’aide des conversations qui sont affichées dans la boîte de dialogue.
Pour faciliter la programmation de conversation, le cadre AutoGen présente les modèles de conception suivants.
- Mécanismes de réponse automatique et interface unifiée pour les conversations d’agent automatisées
Le cadre AutoGen a une interface unifiée pour effectuer le calcul correspondant qui est centré sur la conversation, y compris une « fonction de réception ou d’envoi » pour recevoir ou envoyer des messages, ainsi qu’une « générer une réponse » fonction qui génère une réponse sur la base du message reçu, et prend l’action requise. Le cadre AutoGen introduit et déploie également le mécanisme d’auto-réponse de l’agent par défaut pour réaliser le contrôle piloté par la conversation.
- Contrôle par combinaison de langage naturel et de programmation
Le cadre AutoGen facilite l’utilisation du langage naturel et de la programmation dans divers modèles de gestion du flux de contrôle, qui incluent : contrôles de langage naturel à l’aide de LLM , contrôle de langage de programmation , et transition de contrôle entre la programmation et le langage naturel .
En continuant, en plus des conversations statiques qui sont généralement accompagnées d’un flux prédéfini, le cadre AutoGen prend également en charge les flux de conversation dynamiques en utilisant plusieurs agents, et le cadre fournit aux développeurs deux options pour y parvenir
- En utilisant des appels de fonction.
- En utilisant une fonction de réponse générée personnalisée.
Applications du AutoGen
Pour illustrer le potentiel du cadre AutoGen dans le développement d’applications multi-agents complexes, voici six applications potentielles du AutoGen qui sont sélectionnées sur la base de leur pertinence dans le monde réel, de leurs capacités de résolution de problèmes améliorées par le cadre AutoGen, et de leur potentiel d’innovation.
Ces six applications du cadre AutoGen sont
- Résolution de problèmes mathématiques.
- Conversations augmentées de récupération.
- Conversations ALF.
- Codage multi-agent.
- Chat de groupe dynamique.
- Échecs conversationnels.

Application 1 : Résolution de problèmes mathématiques
Les mathématiques sont l’une des disciplines fondamentales de l’utilisation de modèles de langage pour aider à résoudre des problèmes mathématiques complexes qui ouvrent un tout nouveau monde de applications potentielles, notamment l’assistance à la recherche en IA et la tutorat personnalisé en IA.

La figure ci-dessous illustre l’application du cadre AutoGen pour obtenir des performances concurrentielles dans la résolution de problèmes mathématiques.
Application 2 : Question-réponse et génération de code avec récupération augmentée
Au cours des derniers mois, la génération de code avec récupération augmentée est apparue comme une approche pratique et efficace pour surmonter les limites des LLM dans l’intégration de documents externes. La figure ci-dessous illustre l’application du cadre AutoGen pour une récupération efficace et l’amélioration des performances dans les tâches de question-réponse.

Application 3 : Prise de décision dans les environnements de monde de texte
Le cadre AutoGen peut être utilisé pour créer des applications qui fonctionnent avec la prise de décision en ligne ou interactive. La figure ci-dessous illustre comment les développeurs peuvent utiliser le cadre AutoGen pour concevoir un système de conversation à trois agents avec un agent de mise à la terre pour améliorer considérablement les performances.

Application 4 : Codage multi-agent
Les développeurs qui travaillent sur le cadre AutoGen peuvent utiliser le cadre OptiGuide pour construire un système de codage multi-agent capable d’écrire du code pour mettre en œuvre des solutions optimisées et de répondre aux questions des utilisateurs. La figure ci-dessous illustre que l’utilisation du cadre AutoGen pour créer un système de conception multi-agent aide à améliorer considérablement les performances, en particulier dans l’exécution de tâches de codage qui nécessitent un safeguard.

Application 5 : Chat de groupe dynamique
Le cadre AutoGen fournit une prise en charge d’un modèle de communication basé sur des chats de groupe dynamiques dans lesquels les agents multiples participants partagent le contexte, et au lieu de suivre un ensemble d’ordres prédéfinis, ils conversent les uns avec les autres de manière dynamique. Ces chats de groupe dynamiques s’appuient sur des conversations en cours pour guider le flux d’interaction au sein des agents.

La figure ci-dessus illustre comment le cadre AutoGen prend en charge les chats de groupe dynamiques entre les agents en utilisant un « GroupChatManager » , un agent spécial.
Application 6 : Échecs conversationnels
Les développeurs du cadre AutoGen l’ont utilisé pour développer une application d’échecs conversationnels qui est un jeu d’interférence naturel qui présente des agents intégrés pour les joueurs qui peuvent être un LLM ou un humain, et il y a également un agent tiers qui fournit des informations pertinentes et valide les mouvements sur le plateau sur la base d’un ensemble de règles standard prédéfinies. La figure ci-dessous illustre les échecs conversationnels, un jeu d’interférence naturel construit à l’aide du cadre AutoGen qui permet aux joueurs d’utiliser des blagues, des jeux de personnages ou même des références à des mèmes pour exprimer leurs mouvements de manière créative, ce qui rend le jeu d’échecs plus intéressant non seulement pour les joueurs, mais également pour le public et les observateurs.

Conclusion
Dans cet article, nous avons parlé d’AutoGen, un cadre open source qui utilise les concepts de programmation de conversation et d’agents conversables qui vise à simplifier l’orchestration et l’optimisation des flux de travail LLM en introduisant l’automatisation dans le pipeline de flux de travail. Le cadre AutoGen offre des agents conversables et personnalisables qui exploitent le pouvoir des LLM avancés comme GPT-3 et GPT-4, et en même temps, remédie à leurs limites actuelles en intégrant les LLM avec des outils et des entrées humaines en utilisant des conversations automatisées pour initier des conversations entre plusieurs agents.
Bien que le cadre AutoGen soit encore dans ses premiers stades expérimentaux, il ouvre la voie à des explorations et des opportunités de recherche futures dans le domaine, et AutoGen pourrait être l’outil qui aide à améliorer la vitesse, les fonctionnalités et la facilité de développement des applications qui exploitent les capacités des LLM.
