talon MetaGPT : Guide complet du meilleur agent IA disponible actuellement - Unite.AI
Suivez nous sur

Intelligence générale artificielle

MetaGPT : guide complet du meilleur agent IA disponible actuellement

mm

Publié le

 on

MetaGPBassed Illustration de la collaboration humaine et machine

Avec les grands modèles linguistiques (LLM) comme ChatGPT, OpenAI a connu une forte adoption par les entreprises et les utilisateurs, générant actuellement environ 80 millions de dollars de revenus mensuels. Selon un rapport récent Selon The Information, la société basée à San Francisco serait en passe d'atteindre 1 milliard de dollars de chiffre d'affaires annuel.

La dernière fois que nous avons fouillé AutoGPT et GPT-Ingénierie, les premiers agents d'IA open source grand public basés sur LLM, conçus pour automatiser des tâches complexes. Bien que prometteurs, ces systèmes présentaient leur lot de problèmes : des résultats incohérents, des goulots d'étranglement en termes de performances et des limites dans la gestion de demandes multiformes. Ils font preuve de maîtrise dans la génération de code, mais leurs capacités s’arrêtent souvent là. Il leur manque des fonctionnalités critiques de gestion de projet telles que la génération de PRD, la génération de conception technique et le prototypage d’interface API.

Entrer MétaGPT— un système multi-agent qui utilise des modèles en grand langage de Sirui Hong fusionne des procédures opérationnelles standardisées (SOP) avec des systèmes multi-agents basés sur LLM. Ce paradigme émergent perturbe les limites existantes des LLM en favorisant une collaboration efficace et une décomposition des tâches dans des applications complexes du monde réel.

La beauté de MetaGPT réside dans sa structuration. Il capitalise sur les techniques de méta-programmation pour manipuler, analyser et transformer le code en temps réel. L'objectif? Actualiser une architecture logicielle agile et flexible qui peut s'adapter aux tâches de programmation dynamiques.

Développement Agile - Metagpt

Développement agile

Les SOP agissent ici comme une méta-fonction, coordonnant les agents pour générer automatiquement du code en fonction d'entrées définies. En termes simples, c'est comme si vous aviez transformé une équipe d'ingénieurs logiciels hautement coordonnée en un système logiciel adaptable et intelligent.

Comprendre le cadre MetaGPT

Couches fondamentales et de collaboration

L'architecture de MetaGPT est divisée en deux couches : la couche de composants fondamentaux et la couche de collaboration.

  1. Couche de composants fondamentaux: Cette couche se concentre sur les opérations des agents individuels et facilite l'échange d'informations à l'échelle du système. Il présente des éléments de base tels que l'environnement, la mémoire, les rôles, les actions et les outils. L'environnement prépare le terrain pour les espaces de travail partagés et les voies de communication, tandis que la mémoire sert d'archive de données historiques. Les rôles encapsulent une expertise spécifique au domaine, les actions exécutent des tâches modulaires et les outils offrent des services communs. Cette couche sert essentiellement de système d'exploitation pour les agents. Plus de détails sur la manière dont ils fonctionnent ensemble sont disponibles dans l'article 'Au-delà de ChatGPT ; Agent IA : un nouveau monde de travailleurs»
  2. Couche de collaboration: Construite sur des composants fondamentaux, cette couche gère et rationalise les efforts de collaboration des agents individuels. Il introduit deux mécanismes : le partage des connaissances et l'encapsulation des flux de travail.
    • Partage des connaissances: Cela agit comme le ciment collaboratif qui lie les agents entre eux. Les agents peuvent stocker, récupérer et partager des informations à différents niveaux, réduisant ainsi la redondance et améliorant l'efficacité opérationnelle.
    • Encapsulation des flux de travail: C'est là que les procédures opérationnelles standardisées (SOP) entrent en jeu. Les SOP agissent comme des plans qui décomposent les tâches en composants gérables. Les agents se voient attribuer ces sous-tâches et leurs performances sont alignées sur des résultats standardisés.

MetaGPT utilise également «Définitions de rôle» pour initier divers agents spécialisés tels que des chefs de produits, des architectes, etc. comme nous l'avons évoqué ci-dessus. Ces rôles sont caractérisés par des attributs clés tels que le nom, le profil, l'objectif, les contraintes et la description.

Par ailleurs, "Agents d'ancrage» fournit des conseils spécifiques au rôle de ces agents. Par exemple, le rôle d'un chef de produit peut être initialisé avec la contrainte de « créer efficacement un produit réussi ». Les agents d'ancrage garantissent que les comportements des agents s'alignent sur les objectifs généraux, optimisant ainsi les performances.

Processus cognitifs dans les agents MetaGPT

MetaGPT peut observer, penser, réfléchir et agir. Ils opèrent à travers des fonctions comportementales spécifiques comme _think(), _observe(), _publish_message(), etc. Cette modélisation cognitive permet aux agents d'être des apprenants actifs capables de s'adapter et d'évoluer.

  1. Observer: Les agents scannent leur environnement et intègrent les données clés dans leur Mémoire.
  2. Pensez et réfléchissez: À travers le _think() fonction, rôles délibérés avant d’entreprendre des actions.
  3. Diffuser des messages: Agents utilisés _publish_message() pour partager les statuts actuels des tâches et les enregistrements d'actions associés.
  4. Connaissance Précipitation & Agir: Les agents évaluent les messages entrants et mettent à jour leurs référentiels internes avant de décider de la prochaine action.
  5. Gestion d'état: Grâce à des fonctionnalités telles que le verrouillage des tâches et la mise à jour du statut, les rôles peuvent traiter plusieurs actions de manière séquentielle sans interruption, reflétant la collaboration humaine réelle.

Mécanismes de révision de code pour MetaGPT

La révision du code est un élément essentiel du cycle de vie du développement logiciel, mais elle est absente de plusieurs frameworks populaires. MetaGPT et AgentVerse prend en charge les capacités de révision de code, mais MetaGPT va encore plus loin. Il intègre également une exécution de précompilation, qui facilite la détection précoce des erreurs et améliore par la suite la qualité du code. Compte tenu de la nature itérative du codage, cette fonctionnalité n’est pas simplement un module complémentaire mais une exigence pour tout cadre de développement mature.

Des expériences quantitatives menées sur plusieurs tâches ont révélé que MetaGPT a surpassé ses homologues dans presque tous les scénarios. Pass@1 est une mesure de la capacité du framework à générer un code précis en une seule itération. Cette métrique offre une réflexion plus réaliste de l'utilité d'un framework dans un cadre pratique. Un taux Pass@1 plus élevé signifie moins de débogage et plus d’efficacité, ce qui a un impact direct sur les cycles et les coûts de développement. Lorsqu'il est comparé à d'autres outils avancés de génération de code tels que Manuscrit, CodeT, et même GPT-4, MetaGPT surperforme le centre commercial. La capacité du cadre à atteindre un 81.7% à 82.3% Tarif Pass@1 activé HumanEval et de MBPP points de repère.

Comparaison des métriques MBPP et HumanEval b/w MetaGPT et d'autres modèles leaders (https://arxiv.org/pdf/2308.00352.pdf)

Comparaison des métriques MBPP et HumanEval b/w MetaGPT et d'autres modèles leaders (https://arxiv.org/pdf/2308.00352.pdf)

Le framework utilise également moins de jetons et de ressources de calcul, ce qui permet d'obtenir un taux de réussite élevé pour une fraction des coûts d'ingénierie logicielle traditionnels. Les données indiquent un coût moyen de seulement $1.09 par projet avec MetaGPT, ce qui ne représente qu'une fraction de ce qu'un développeur facturerait pour la même tâche.

Étapes pour installer localement MetaGPT sur votre système

NPM, Installation Python

  1. Vérifier et installer NPM: Tout d’abord, assurez-vous que NPM est installé sur votre système. Si ce n'est pas le cas, vous devrez installer node.js. Pour vérifier si vous disposez de npm, exécutez cette commande dans votre terminal : npm --version. Si vous voyez un numéro de version, vous êtes prêt à partir.
  2. Pour installer mermaid-js, une dépendance pour MetaGPT, exécutez : sudo npm install -g @mermaid-js/mermaid-cli or npm install -g @mermaid-js/mermaid-cli
  3. Vérifier la version de Python: Assurez-vous que vous disposez de Python 3.9 ou supérieur. Pour vérifier votre version de Python, ouvrez votre terminal et tapez : python --version. Si vous n'êtes pas à jour, téléchargez la dernière version depuis le Site officiel de Python.
  4. Cloner le référentiel MetaGPT: Commencez par cloner le dépôt MetaGPT GitHub à l'aide de la commande git clone https://github.com/geekan/metagpt. Assurez-vous que Git est installé sur votre système pour cela. Sinon, visitez ici.
  5. Accédez au répertoire: Une fois cloné, accédez au répertoire MetaGPT à l'aide de la commande cd metagpt.
  6. Installation: Exécutez le script d'installation Python pour installer MetaGPT avec la commande python setup.py install.
  7. Créer une application : exécuter python startup.py "ENTER-PROMPT" --code_review True

Remarque :

  • Votre nouveau projet devrait maintenant être dans le workspace/ répertoire.
  • --code_review True permettra au modèle GPT d'effectuer des opérations supplémentaires qui garantiront que le code s'exécute avec précision, mais notez que cela coûtera plus cher.
  • Si vous rencontrez une erreur d'autorisation lors de l'installation, essayez d'exécuter python setup.py install --user comme alternative.
  • Pour accéder à des versions spécifiques et à plus de détails, visitez la page officielle des versions MetaGPT GitHub : Sorties MetaGPT.

Installation Docker

Pour ceux qui préfèrent la conteneurisation, Docker simplifie le processus :

  • Extraire l'image Docker: Téléchargez l'image officielle MetaGPT et préparez le fichier de configuration :
docker pull metagpt/metagpt:v0.3.1
mkdir -p /opt/metagpt/{config,workspace}
docker run --rm metagpt/metagpt:v0.3.1 cat /app/metagpt/config/config.yaml > /opt/metagpt/config/key.yaml
vim /opt/metagpt/config/key.yaml
  • Exécutez le conteneur MetaGPT: Exécutez le conteneur avec la commande suivante :
docker run --rm --privileged \
-v /opt/metagpt/config/key.yaml:/app/metagpt/config/key.yaml \
-v /opt/metagpt/workspace:/app/metagpt/workspace \
metagpt/metagpt:v0.3.1 \
python startup.py "Create a simple and interactive CLI based rock, paper and scissors game" --code_review True

Configuration de MetaGPT avec votre clé API OpenAI

Après la configuration initiale, vous devrez intégrer MetaGPT à votre clé API OpenAI. Voici les étapes pour le faire :

  1. Localisez ou générez votre clé OpenAI: Vous pouvez trouver cette clé dans votre tableau de bord OpenAI sous les paramètres de l'API.
  2. Définir la clé API: Vous avez la possibilité de placer la clé API soit dans config/key.yaml, config/config.yaml, ou définissez-le comme variable d'environnement (env). L'ordre de priorité est config/key.yaml > config/config.yaml > env.
  3. Pour définir la clé, accédez à config/key.yaml et remplacez le texte de l'espace réservé par votre clé OpenAI : OPENAI_API_KEY: "sk-..."

N'oubliez pas de sauvegarder votre clé API OpenAI. Ne le confiez jamais à un référentiel public et ne le partagez jamais avec des personnes non autorisées.

Illustration de cas d'utilisation

J'ai donné pour objectif de développer un jeu de pierre, papier et ciseaux basé sur CLI, et MetaGPT a exécuté avec succès la tâche.

Vous trouverez ci-dessous une vidéo qui présente l'exécution réelle du code de jeu généré.

Exécution de la démo MetaGPT

MetaGPT a fourni un document de conception de système en Markdown, un langage de balisage léger couramment utilisé. Ce fichier Markdown regorgeait de diagrammes UML, offrant ainsi une vue granulaire du plan architectural. De plus, les spécifications de l'API ont été détaillées avec les méthodes HTTP, les points de terminaison, les objets de requête/réponse et les codes d'état.

Sortie MetaGPT – Conception du système

Sortie MetaGPT – Markdown de conception du système

Le diagramme de classes détaille les attributs et les méthodes de notre Game classe, fournissant une abstraction facile à comprendre. Il visualise même le flux d'appels du programme, transformant ainsi efficacement les idées abstraites en étapes tangibles.

Non seulement cela réduit considérablement les tâches manuelles de planification, mais cela accélère également le processus de prise de décision, garantissant ainsi que votre pipeline de développement reste agile. Avec MetaGPT, vous n'automatisez pas seulement la génération de code, vous automatisez une planification de projet intelligente, offrant ainsi un avantage concurrentiel dans le développement rapide d'applications.

Conclusion : MetaGPT – Révolutionner le développement de logiciels

MetaGPT redéfinit le paysage de l'IA générative et du développement de logiciels, offrant un mélange transparent d'automatisation intelligente et de gestion de projet agile. Surpassant de loin les capacités des modèles ChatGPT, AutoGPT et LangChain traditionnels, il excelle dans la décomposition des tâches, la génération efficace de code et la planification de projets. En savoir plus sur

Voici les principaux points à retenir de cet article :

  1. La puissance de la méta-programmation: En employant la méta-programmation, MetaGPT fournit un cadre logiciel agile et adaptatif. Il transcende les fonctionnalités étroites des outils existants et introduit une approche transformatrice qui gère non seulement le codage, mais également les aspects de gestion de projet et de prise de décision.
  2. Architecture à deux niveaux: Avec ses couches fondamentales et collaboratives, MetaGPT crée efficacement un écosystème synergique où les agents peuvent travailler de manière cohérente, à l'image d'une équipe logicielle gérée par des experts.
  3. Révision du code optimisée: Au-delà de la simple génération de code, MetaGPT offre des fonctionnalités d'exécution de précompilation, qui sont essentiellement un système d'alerte précoce en cas d'erreurs. Cela permet non seulement de gagner du temps de débogage, mais garantit également la qualité du code.
  4. Agents cognitifs: Les agents intelligents de MetaGPT, dotés de fonctions cognitives telles que _observe(), _think() et _publish_message(), évoluent et s'adaptent, garantissant que votre solution logicielle n'est pas seulement codée mais qu'elle est « intelligente ».
  5. Installation et déploiement: Nous avons illustré que MetaGPT peut être facilement mis en place, que vous préfériez une installation locale via npm et Python, ou une conteneurisation via Docker.

J'ai passé les cinq dernières années à m'immerger dans le monde fascinant du Machine Learning et du Deep Learning. Ma passion et mon expertise m'ont amené à contribuer à plus de 50 projets de génie logiciel divers, avec un accent particulier sur l'IA/ML. Ma curiosité continue m'a également attiré vers le traitement automatique du langage naturel, un domaine que j'ai hâte d'explorer davantage.