Les agents intelligents doivent aussi disposer d'un "manuel de spécifications" !
Une recherche appelée MetaGPT améliore considérablement les performances des agents en divisant clairement les rôles des agents et en exigeant que plusieurs agents adoptent un « format de communication » unifié et standardisé en collaboration.
Actuellement, cette recherche a récolté 33,6 000 étoiles sur GitHub et a été incluse en tant qu'article oral lors de la meilleure conférence sur l'apprentissage profond ICLR 2024.
En général, MetaGPT imite la division humaine du travail et la collaboration, en codant les procédures opérationnelles standard de diverses tâches dans un « manuel de spécifications » pour les agents, et les agents avec différents rôles sont responsables de différentes tâches professionnelles.
Par exemple, le rôle de chef de produit peut utiliser des outils de recherche de réseau, tandis que le rôle d'ingénieur peut exécuter du code :
De cette manière, la collaboration multi-agents accomplit les tâches.
Les chercheurs ont mis en place un « groupe de partage de messages » pour les agents, et les agents peuvent librement consulter les messages pertinents envoyés par d'autres agents.
Après avoir testé en utilisant cette méthode, MetaGPT a obtenu respectivement 85,9 % et 87,7 % de nouveaux SOTA sur les ensembles de données publics HumanEval et MBPP pour les tâches de complétion de code.
Ce travail est désormais open source et a attiré l'attention de nombreux internautes sur Internet :
Cette recherche a été proposée conjointement par l'équipe DeepWisdom et des chercheurs du KAUST AI Center, de l'Université de Xiamen, du CUHK(SZ), de l'Université de Nanjing, de l'UPenn, de l'UCB et de nombreuses autres universités et institutions.
Avec l'amélioration continue des capacités des grands modèles, le monde universitaire et l'industrie suscitent un intérêt croissant pour l'utilisation de grands agents basés sur des modèles pour résoudre diverses tâches.
Il convient de noter que la recherche sur l'utilisation de plusieurs agents pour collaborer afin de résoudre des problèmes dans des domaines spécifiques en est encore à ses débuts. Les recherches existantes se concentrent principalement sur l’amélioration de la compréhension des tâches et des capacités de prise de décision par le biais de mécanismes de jeu de rôle et de paramètres de topologie de communication. Malgré quelques progrès, ces méthodes reposent toujours sur des formes de dialogue direct et manquent de spécifications et de contraintes standards sur le comportement des agents.
Certains travaux récents ont également souligné que les systèmes multi-agents basés sur le dialogue peuvent être confrontés à des problèmes tels que l'incohérence des informations, l'ambiguïté et d'éventuelles répétitions invalides et boucles infinies.
En revanche, les procédures opérationnelles standard (SOP) dans les flux de travail humains définissent non seulement clairement la division du travail et la topologie des rôles participants, mais établissent également des spécifications standard pour les résultats de sortie du rôle.
La recherche montre que des SOP clairement définies peuvent améliorer la cohérence et la précision de l'exécution des tâches, garantissant que les résultats finaux répondent aux normes de qualité requises. Par conséquent, pour résoudre les défis de la collaboration multi-agents, les chercheurs ont conçu MetaGPT, un vaste cadre de métaprogrammation d’agents basé sur un modèle.
MetaGPT exige que les agents participent à une collaboration en tant qu'experts et génèrent des résultats structurés selon les besoins, tels que des documents d'exigences de haute qualité, des diagrammes de conception architecturale, des organigrammes, etc.
Le résultat structuré est une chaîne de pensée de niveau supérieur (Chaîne de pensée) pour un seul agent, et un contexte (Contexte) avec une sémantique claire et des objectifs clairs pour les rôles en aval.
Dans le cadre de MetaGPT, les chercheurs alignent les concepts des SOP sur la spécialisation des rôles, la conception de protocoles de communication et la conception itérative de feedback exécutable.
Avec des rôles clairement définis, un travail complexe peut être décomposé en tâches plus petites et plus spécifiques.
Comme le montre la figure ci-dessous, les rôles des différentes professions sont initialisés avec différents objectifs et contraintes, ainsi que différentes compétences professionnelles. Par exemple, le rôle de chef de produit peut utiliser des outils de recherche sur le Web, tandis que le rôle d'ingénieur peut exécuter du code. Dans le même temps, chaque personnage suit par défaut le modèle de comportement ReAct.
La spécialisation des rôles permet à chaque agent de se concentrer sur des tâches spécifiques au sein de son domaine, améliorant ainsi la qualité de sortie des grands modèles.
Pour le développement de logiciels, grâce au flux des rôles, cette division du travail complète plus habilement l'alignement du langage naturel au langage de programmation. L’expérience d’ablation de personnages présentée dans l’article prouve en outre l’effet de cette partie.
Dans les applications pratiques, bien que le langage naturel ait une sémantique riche, en raison de ses caractéristiques non structurées, une distorsion des informations et même une perte de contenu important se produisent souvent pendant le processus de transmission du message.
Pour résoudre ce problème, l'auteur a contraint l'agent à participer à une collaboration avec des sorties structurées (comprenant des documents et des diagrammes) pour améliorer la clarté et l'exhaustivité des informations. Pour vérifier cette conception, les auteurs ont conçu une variété de tâches de développement logiciel pour souligner l'importance de la production structurée en collaboration à travers l'exécutabilité du code généré et les indicateurs de productivité.
Afin d'améliorer l'efficacité de la communication lors de la collaboration multi-agents, MetaGPT introduit un mécanisme de publication-abonnement(Publish-Subscribe Mechanism) basé sur le partage de messages.
Comme le montre la figure ci-dessus, le pool de messages partagés permet d'échanger des messages directement, et tout agent peut accéder de manière transparente aux messages d'autres agents sans demander ni attendre de réponse. Le mécanisme d'abonnement rend l'agent plus enclin à recevoir des informations liées à ses propres tâches et à éviter d'être distrait par des détails non pertinents. Dans le même temps, chaque agent peut récupérer directement les informations requises du pool de messages partagé pour former une mémoire propre.
L'agent intelligent s'auto-optimise et se met à jour activement en fonction des commentaires environnementaux, qui sont une manifestation de la conscience autonome de l'agent intelligent.
Dans les tâches de développement logiciel, MetaGPT conçoit un mécanisme de retour d'information exécutable pour les agents d'ingénieurs afin d'optimiser automatiquement la qualité du code.
Plus précisément, les ingénieurs écrivent et exécutent les cas de tests unitaires correspondants, prennent des décisions et s'auto-invitent de manière récursive à travers les résultats d'exécution observés pour obtenir un débogage automatique. Ce processus itératif de retour de conception-test-test se poursuit jusqu'à ce que le test unitaire réussisse ou que le nombre maximum de tentatives soit atteint.
En termes de capacités de génération de code, les chercheurs ont utilisé deux ensembles de données de référence publiques : HumanEval et MBPP, et ont rapporté l'indicateur Pass@1.
En outre, ils ont également collecté l'ensemble de données SoftwareDev couvrant 70 tâches typiques de développement logiciel (telles que les mini-jeux, la visualisation de données, le traitement d'images, etc.) , et effectué une comparaison de plusieurs frameworks open source pour les agents, et Nous avons comparé plusieurs logiciels. Une analyse statistique et une description qualitative ont été menées sur l'exécutabilité et l'efficacité de la production des tâches de développement.
Comme le montre la figure ci-dessous, MetaGPT surpasse les méthodes précédentes dans les benchmarks HumanEval et MBPP, atteignant respectivement 85,9 % et 87,7 %. Par rapport aux résultats de GPT-4, MetaGPT présente une amélioration relative de 28,2 % sur l'ensemble de données HumanEval, et l'ajout d'un mécanisme de rétroaction exécutable a amélioré respectivement de 4,2 % et 5,4 % sur HumanEval et MBPP.
Sur l'ensemble de données exigeant SoftwareDev, MetaGPT atteint un score d'exécutabilité de 3,75, très proche de 4, tout en nécessitant un temps d'exécution plus court (503 secondes) ; nombre de lignes de code générées. Par rapport au framework de base, il a augmenté de 2,24 fois, tandis que le nombre de jetons consommés par unité de ligne de code a diminué de 50 %.
Ces résultats mettent en évidence les améliorations d'efficacité apportées par les SOP lors de la collaboration multi-agents.
La haute exécutabilité de MetaGPT et son temps d'exécution relativement court dans les tâches de développement logiciel démontrent son caractère pratique et son efficacité dans les applications du monde réel.
En se concentrant sur le domaine du développement logiciel, les chercheurs proposent une comparaison qualitative des capacités de différents frameworks d'agents.
Ils ont découvert que MetaGPT a non seulement la capacité de générer des fichiers dans plusieurs modes, mais qu'il est également le seul framework open source parmi de nombreux frameworks actuels qui couvre complètement le processus de développement logiciel dans le monde réel.
En général, MetaGPT est un nouveau framework multi-agent qui combine des idées de méta-programmation et intègre des SOP pour améliorer les capacités des grands modèles dans la collaboration multi-agent.
Grâce à la spécialisation des rôles, à la gestion des flux de travail et à un mécanisme de messagerie flexible, il devient un cadre multi-agents doté d'une grande polyvalence et portabilité.
Combiné à un mécanisme de rétroaction itératif, MetaGPT a atteint les performances SOTA sur plusieurs tests de référence.
Les SOP combinées à la pratique sociale humaine inspirent les futures recherches et explorations des sociétés multi-agents, et peuvent également être considérées comme une première tentative de régulation des cadres multi-agents basés sur de grands modèles.
Lien papier : https://arxiv.org/abs/2308.00352
Lien code : https://github.com/geekan/MetaGPT
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!