Maison > Article > Périphériques technologiques > Ciblant la société intelligente, MetaGPT s'associe à l'équipe de Jürgen Schmidhuber
Au cours des derniers mois, l'exemple de MetaGPT [1] de la société de logiciels Agents a été impressionnant. Il a rapidement gagné 30 000 étoiles sur GitHub et a reçu des dizaines de médias professionnels mondiaux et de grands rapports V. Mais les éditeurs de logiciels d’agents ne sont qu’un microcosme de la société des agents. Une société intelligente peut compter des éditeurs de logiciels, des sociétés de commerce électronique et des sociétés de jeux, ainsi qu'un grand nombre d'agents indépendants pour assurer la productivité. Jürgen Schmidhuber, le père de l'intelligence artificielle moderne, reconnaît également fortement le concept de société intelligente. Lui et son équipe ont apporté d'importantes contributions au MetaGPT et figurent sur la liste des auteurs du MetaGPT.
Dès 1986, Marvin Minsky menait une révolution idéologique dans le domaine de l'intelligence artificielle avec son ouvrage « Society of Mind (SOM) » [2]. Il a proposé une théorie très originale : l’esprit n’a pas besoin d’être composé de parties individuelles dotées d’intelligence, mais est plutôt un système complexe assemblé à partir de l’interaction d’une série de parties simples. C’est cet assemblage qui a donné naissance à ce que nous connaissons. Intelligence et conscience. Ce concept a eu un impact incommensurable et profond sur la construction d’agents autonomes et leur développement ultérieur.
Avec le bond en avant de la technologie de l'intelligence artificielle jusqu'en 2023, nous pouvons désormais imaginer que si chaque petit composant possède lui-même un certain degré d'intelligence, comment ils interagiront les uns avec les autres et quel niveau d'intelligence collective ils produiront. Parmi les articles de recherche sur la Natural Language Agent Society (NLSOM, Language Agent Society) au premier semestre 2023 [3], émanant d'institutions de recherche bien connues telles que l'Université des sciences et technologies du roi Abdallah, le Laboratoire suisse d'intelligence artificielle, l'Université d'Oxford et Des scientifiques de l'ETH Zurich ont exploré ensemble la possibilité de créer des communautés d'agents intelligents.
Ils ont proposé de créer une communauté d'agents basée sur le langage, capables d'accomplir de manière collaborative des tâches qu'un seul agent ne peut pas ou est difficile à accomplir de manière indépendante. L'étude propose une série d'idées expérimentales qui sont plus que de simples preuves de concept. Elles sont considérées comme un précurseur d'une société contenant des milliards d'agents intelligents, qui pourraient également inclure des membres humains.
https://arxiv.org/pdf/2305.17066.pdf
Lors du CogX Festival 2023, Jürgen a montré au public sa profonde connaissance des grands modèles linguistiques (LLM). En discutant de sujets liés aux agents, il a mentionné diverses façons de construire des systèmes auto-améliorés, notamment les machines universelles de Turing [4] et les machines de Gödel [5]. Il a souligné que le grand modèle de langage actuel nous offre une nouvelle façon de penser – en utilisant un langage symbolique universel (tel que le langage naturel ou le code de programmation) comme interface pour connecter différents modèles. Ces modèles peuvent communiquer avec d’autres modèles de langage pour construire un paradigme de société de l’esprit en langage naturel (NLSOM).
Le professeur Jürgen Schmidhuber est directeur scientifique du Laboratoire suisse d'intelligence artificielle (IDSIA) et directeur du Centre d'intelligence artificielle de l'Université des sciences et technologies Roi Abdallah (IA Initiative, KAUST). Son travail a un impact profond sur des domaines importants de l'intelligence artificielle tels que l'apprentissage par renforcement (Reinforcement Learning), le méta-apprentissage (Meta Learning) et les réseaux de neurones (Neural Network).
Jusqu'à présent, les citations Google Scholar du professeur Schmidhuber s'élèvent à 210 000, dont 90 000 citations pour l'article sur la mémoire à long terme et à court terme (LSTM) en tant que co-inventeur. À l’âge de 15 ans, il espérait développer une intelligence artificielle plus intelligente et capable de s’améliorer pour pouvoir prendre sa retraite. Deux des quatre personnes qui ont fondé DeepMind, ainsi que leur première recrue en doctorat en IA, venaient du laboratoire de Jürgen Schmidhuber.
Dans la société imaginée par Jürgen, toute communication est transparente et facilement explicable. Il a mentionné un concept appelé « Mindstorm », c'est-à-dire que lorsqu'un problème est posé, cette société mentale en langage naturel peut coopérer pour résoudre le problème.
Dans ce processus, chaque membre de la société peut avoir des idées et des perspectives différentes, et il collectera et intégrera ces différentes idées pour prendre des décisions collectives.
Cette méthode est particulièrement adaptée pour résoudre des problèmes qui ne peuvent être résolus efficacement par un seul agent. Jürgen a en outre expliqué que ces problèmes peuvent être de nature programmatique, comme l'utilisation du langage Python pour résoudre un problème de programmation spécifique. Grâce à cette synergie, l’intelligence collective de la société des agents intelligents sera en mesure de parvenir à des solutions qui transcendent les capacités individuelles.
Cette itération du projet MetaGPT a reçu les conseils directs de Jürgen, et son équipe a également fourni beaucoup de soutien en matière de codage, d'écriture et d'ingénierie.
Ensuite, cet article analysera en détail le contenu mis à jour de l'article MetaGPT afin que les lecteurs puissent comprendre ses détails plus en profondeur.
1. Mise à jour du papier et du cadre
Mise à jour de la section 3.1 du papier : il explique le concept de conception de spécialisation des rôles et de division du travail dans le cadre MetaGPT, et explique le mode de comportement d'un agent unique dans MetaGPT et la méthode d'organisation. dans le cadre des SOP.
Section 3.2 mise à jour du document : Présentation du mécanisme de communication dans le cadre MetaGPT, y compris la conception d'une interface de communication structurée et le mécanisme de publication-abonnement.
Mise à jour dans la section 3.3 de l'article : un mécanisme de rétroaction exécutable est introduit, qui est un mécanisme d'itération continue et d'autocorrection pendant l'exécution du code.
Fig.2. Exemple de protocole de communication (à gauche) et exemple de programmation itérative avec retour exécutable à la volée (à droite). À gauche : les agents utilisent un pool de messages partagé pour publier des messages structurés. Ils peuvent également s'abonner à des messages pertinents en fonction de leur configuration. Image de droite : après avoir généré le code initial, l'agent ingénieur peut exécuter le code et vérifier si des erreurs sont signalées pendant le fonctionnement. Si une erreur se produit, l'agent vérifiera les résultats de l'exécution et les comparera avec le PRD, la conception du système et les fichiers de code pour réécrire et optimiser le code.
1.1. Protocole de communication des agents
Actuellement, la plupart des collaborations multi-agents se font via des conversations basées sur le langage naturel, mais ce n'est pas la manière optimale de résoudre des tâches spécifiques.
La sortie en langage naturel sans contraintes ni exigences spécifiques peut conduire à une distorsion du contenu de l'information ou à un changement d'orientation sémantique.
Par conséquent, le contenu de communication structuré et les formulaires d'interface aident les agents à comprendre rapidement et précisément les exigences des tâches, et sont également propices à maximiser la rétention du contenu informatif. En nous référant aux exigences de rôle pour différents postes dans les SOP humaines, nous définissons des spécifications de sortie pour chaque rôle qui sont conformes aux experts humains occupant le poste correspondant, exigeant que l'agent convertisse les informations originales en langage naturel en une expression plus structurée (comme indiqué dans la figure ci-dessous). Comme la structure des données, la conception de l'API et le diagramme de séquence.
Fig.3 Diagramme schématique du processus de développement du logiciel MetaGPT, montrant que les SOP structurées peuvent apporter de meilleurs résultats. Voir l'annexe B pour une démonstration plus détaillée.
Dans des expériences ultérieures, nous avons comparé MetaGPT et ChatDev (en utilisant un mécanisme de communication et de collaboration sous forme de chat) pour résoudre réellement cette tâche complexe de développement logiciel. Les résultats montrent que la conception d'interfaces de communication structurée peut apporter. effets significatifs sur la collaboration entre agents intelligents.
Mécanisme de publication-abonnement
Dans le processus de communication multi-agents, s'appuyer uniquement sur une méthode de communication 1v1 à point unique augmentera non seulement la complexité de la topologie de communication, entraînera une faible efficacité de la collaboration, mais augmentera également considérablement le développement frais. Par conséquent, nous avons mis en œuvre un pool de messages partagés et un abonnement basé sur les intérêts dans le cadre via le mécanisme de messagerie [publier-abonnement].
Plus précisément, l'environnement fournit un pool de messages partagé à partir duquel les agents peuvent obtenir des informations directement sans demander aux autres agents un par un. Dans le même temps, l'agent peut filtrer et filtrer les messages en fonction de ses propres intérêts/comportements concernés, réduisant ainsi la surcharge de messages/mémoire. Comme le montre la figure 3, l'architecte prête principalement attention au document PRD du chef de produit, mais accorde moins d'attention au document de l'ingénieur de test.
1.2, Conception de commentaires itératifs exécutables
Les commentaires de débogage et d'exécution jouent un rôle important dans les tâches de programmation quotidiennes. Cependant, les méthodes existantes manquent souvent de mécanismes d'autocorrection et effectuent uniquement une évaluation de la faisabilité du code par le biais de mécanismes de révision et de révision du code. Afin de réduire davantage le problème d'hallucination du LLM dans la génération de code, nous introduisons un mécanisme de rétroaction exécutable pour améliorer le code de manière itérative. Grâce au retour automatique des résultats des tests d'exécution de code, l'évaluation et le jugement de la faisabilité du code sont effectués, et LLM est encouragé à effectuer l'auto-itération et l'optimisation. Comme le montre la figure 2, les ingénieurs peuvent continuer à mettre à jour le code en fonction des résultats de l'exécution du code et effectuer des tests itératifs jusqu'à ce que le test réussisse ou se termine après un maximum de N tentatives.
2. Mise à jour de l'expérience
Dans la partie expérimentale, nous avons ajouté des expériences pour explorer les effets de l'introduction de frameworks multi-agents dans les SOP, et des expériences pour améliorer la qualité du code provoquée par un feedback itératif exécutable. Sur l'ensemble de données :
2.1. Conception de rétroaction itérative exécutable
La figure 4 montre que MetaGPT surpasse toutes les méthodes précédentes dans les benchmarks HumanEval et MBPP. Lorsque MetaGPT (utilisant GPT-4 comme modèle de base), son Pass@1 sur le benchmark HumanEval est considérablement amélioré par rapport à GPT-4. Il a obtenu 85,9 % et 87,7 % dans ces deux benchmarks publics (compte tenu du coût expérimental, les résultats numériques de certains modèles utilisent directement les résultats fournis par Dong et al. (2023). [6]).
Figure 4 : Taux de réussite au MBPP et à HumanEval avec une seule tentative
2.2, Ensemble de données de tâches de développement logiciel et mesures d'évaluation
Pour SoftwareDev, nous donnons la priorité à la convivialité réelle des projets générés et réussissons l'utilisation. évaluation manuelle (A, E) ou analyse statistique (B, C, D) pour évaluer les performances, nous démontrons les capacités de génération de logiciels autonomes de MetaGPT à travers des exemples visuels (article Figure 5). Des expériences et analyses supplémentaires peuvent être trouvées dans l'annexe C de l'article :
(A) Exécutabilité : cette métrique évalue le code généré de 1 (échec/non fonctionnel) à 4 (sans défaut). 1 signifie non fonctionnel, 2 signifie fonctionnel mais pas parfait, 3 signifie presque parfait et 4 signifie aucun défaut.
(B) Coût : L'évaluation des coûts comprend ici (1) la durée d'exécution du projet (2) la consommation de jetons et (3) les dépenses réelles.
(C) Statistiques de code : comprend (1) le nombre de fichiers de code (2) le nombre moyen de lignes de code par fichier et (3) le nombre total de lignes de code.
(D) Efficacité de production : la définition de base est l'utilisation du jeton divisée par le nombre de lignes de code, c'est-à-dire le jeton consommé par chaque ligne de code. Plus la valeur est petite, plus l'efficacité de la production de code est élevée.
(E) Coût de révision manuelle : quantifié en nombre de cycles de révision nécessaires pour garantir le bon fonctionnement du code, ce qui représente la fréquence des interventions manuelles, telles que le débogage ou l'importation de dépendances et autres révisions.
2.3, SOP vs ChatChain
Dans le scénario de résolution de tâches spécifiques, afin d'explorer l'effet des SOP sur la collaboration multi-agents, nous avons choisi ChatDev, un framework d'agent qui prend en charge les tâches de développement logiciel en open source. travail source, comme objet de comparaison d'expérience. ChatDev est un cadre pour l'organisation et la collaboration des agents basé sur la division des rôles de ChatChain et le flux en cascade de développement logiciel. Nous avons sélectionné 7 tâches de SoftwareDev à des fins de comparaison et comparé les indicateurs pertinents mentionnés ci-dessus pour illustrer les différences.
Comme le montre le tableau 1 de l'article, MetaGPT surpasse ChatDev dans presque toutes les mesures de l'ensemble de données difficile SoftwareDev.
Par exemple : MetaGPT a obtenu un score de 3,75 en termes d'applicabilité, ce qui est très proche de 4 (parfait). De plus, cela prend beaucoup moins de temps (503 secondes) que ChatDev.
Il est également nettement meilleur que ChatDev en termes de statistiques de code et de coûts de modification manuelle. Bien que MetaGPT nécessite plus de jetons (24 613 ou 31 255 contre 19 292 pour ChatDev), il ne nécessite que 126,5/124,3 jetons pour générer une ligne de code. En comparaison, ChatDev utilise 248,9 jetons.
Ces résultats mettent en évidence les avantages des SOP dans la collaboration multi-agents.
3. Remerciements
Merci à Sarah Salhi, secrétaire exécutive du KAUST AI Center, au boursier postdoctoral Wang Yuhui et au doctorant Wang Wenyi pour leurs suggestions et leur aide sur cet article.
[1] https://arxiv.org/pdf/2308.00352.pdf
[2] https://en.wikipedia.org/wiki/Society_of_Mind
[3] https://arxiv.org/pdf/2305.17066.pdf
[4] https://en.wikipedia.org/ wiki/Universal_Turing_machine
[5] https://en.wikipedia.org/wiki/Gödel_machine
[6] https://arxiv.org/abs/2304.07590
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!