Connect with us

MetaGPT: Ολικός Οδηγός για τον Καλύτερο Πράκτορα AI που Διατίθεται Τώρα

Γενική τεχνητή νοημοσύνη

MetaGPT: Ολικός Οδηγός για τον Καλύτερο Πράκτορα AI που Διατίθεται Τώρα

mm
MetaGPBassed Illustration of human and machine collaborationT

Με τα Μεγάλα Μοντέλα Γλώσσας (LLMs) όπως το ChatGPT, η OpenAI έχει δει μια αύξηση στην υιοθέτηση επιχειρήσεων και χρηστών, με τρέχουσες μηνιαίες έσοδα γύρω στα 80 εκατομμύρια δολάρια. Σύμφωνα με μια πρόσφατη έκθεση από το The Information, η εταιρεία με έδρα το Σαν Φρανσίσκο βρίσκεται σε πορεία να φτάσει τα 1 δισεκατομμύρια δολάρια σε ετήσιες πωλήσεις.

Τελευταία φορά που εξετάσαμε το AutoGPT και το GPT-Engineering, τα πρώτα mainstream ανοιχτά μοντέλα LLM-βασισμένων πρακτόρων AI που σχεδιάστηκαν για να αυτοματοποιούν σύνθετα καθήκοντα. Αν και ήταν υποσχόμενα, αυτά τα συστήματα είχαν το μερίδιό τους προβλημάτων: ασυνεπείς αποτελέσματα,瓶νέες απόδοσης και περιορισμούς στην αντιμετώπιση πολύπλοκων απαιτήσεων. Δείχνουν ικανότητες στη γεννήτρια κώδικα, αλλά οι ικανότητές τους συχνά σταματούν εκεί. Λείπουν κρίσιες λειτουργίες διαχείρισης έργου όπως η γεννήτρια PRD, η γεννήτρια τεχνικής σχεδίασης και η προτυποποίηση διεπαφής API.

Εισαγωγή του MetaGPT — Ένα σύστημα πολλαπλών πρακτόρων που χρησιμοποιεί Μεγάλα Μοντέλα Γλώσσας από τον Sirui Hong που συνδυάζει Τυποποιημένες Διαδικασίες Λειτουργίας (SOPs) με συστήματα πολλαπλών πρακτόρων LLM-βασισμένων. Αυτή η αναδυόμενη παραδειγματική αρχιτεκτονική διαταράσσει τους υπάρχοντες περιορισμούς των LLMs στην προώθηση της αποτελεσματικής συνεργασίας και της αποσύνθεσης καθηκόντων σε σύνθετες, πραγματικές εφαρμογές.

Η ομορφιά του MetaGPT βρίσκεται στη δομή του. Εκμεταλλεύεται τεχνικές μετα-προγραμματισμού για να χειρίζεται, να αναλύει και να μετατρέπει κώδικα σε πραγματικό χρόνο. Ο στόχος; Να υλοποιήσει μια ατζίλε, ευέλικτη αρχιτεκτονική λογισμικού που μπορεί να προσαρμοστεί σε δυναμικές προγραμματιστικές εργασίες.

Αγίλε Ανάπτυξη - Metagpt

Αγίλε Ανάπτυξη

Οι SOPs ενεργούν ως μια μετα-συνάρτηση εδώ, συντονίζοντας τους πρακτόρες να αυτο-γεννήσουν κώδικα με βάση τις καθορισμένες εισόδους. Με απλά λόγια, είναι σαν να έχεις μετατρέψει μια υψηλά συντονισμένη ομάδα μηχανικών λογισμικού σε ένα προσαρμοζόμενο, έξυπνο σύστημα λογισμικού.

Κατανόηση του Πλαισίου MetaGPT

Πλαίσιο MetaGPT

Πλαίσιο MetaGPT (https://arxiv.org/pdf/2308.00352.pdf)

Βασικά και Συνεργατικά Επίπεδα

Η αρχιτεκτονική του MetaGPT χωρίζεται σε δύο επίπεδα: το Επίπεδο Βασικών Στοιχείων και το Επίπεδο Συνεργασίας.

  1. Επίπεδο Βασικών Στοιχείων: Αυτό το επίπεδο επικεντρώνεται στις ατομικές εργασίες των πρακτόρων και διευκολύνει την ανταλλαγή πληροφοριών σε ολόκληρο το σύστημα. Εισάγει βασικά δομικά στοιχεία όπως Περιβάλλον, Μνήμη, Ρόλοι, Ενέργειες και Εργαλεία. Το Περιβάλλον ορίζει το στάδιο για κοινά χώρους εργασίας και μονοπάτια επικοινωνίας, ενώ η Μνήμη служει ως αρχείο ιστορικών δεδομένων. Οι Ρόλοι ενσωματώνουν εξειδικευμένες γνώσεις, οι Ενέργειες εκτελούν modυλικές εργασίες και τα Εργαλεία προσφέρουν κοινές υπηρεσίες. Αυτό το επίπεδο εξυπηρετεί ουσιαστικά ως το λειτουργικό σύστημα για τους πρακτόρες. Περισσότερες λεπτομέρειες για το πώς αυτά λειτουργούν μαζί είναι διαθέσιμες στο άρθρο ‘Beyond ChatGPT; AI Agent: A New World of Workers
  2. Επίπεδο Συνεργασίας: Χτισμένο πάνω στα βασικά στοιχεία, αυτό το επίπεδο διαχειρίζεται και ρυθμίζει τις συνεργατικές προσπάθειες των ατομικών πρακτόρων. Εισάγει δύο μηχανισμούς: Κοινή Ανταλλαγή Γνώσεων και Περιέκλυση Ροών Εργασιών.
    • Κοινή Ανταλλαγή Γνώσεων: Αυτό ενεργεί ως το συνεργατικό κόλλα που συνδέει τους πρακτόρες. Οι πρακτόρες μπορούν να αποθηκεύουν, να ανακτούν και να μοιράζονται πληροφορίες σε διάφορα επίπεδα, μειώνοντας έτσι την επανάληψη και βελτιώνοντας την λειτουργική αποτελεσματικότητα.
    • Περιέκλυση Ροών Εργασιών: Εδώ είναι όπου οι Τυποποιημένες Διαδικασίες Λειτουργίας (SOPs) έρχονται στο παιχνίδι. Οι SOPs ενεργούν ως蓝prints που διασπάθουν τις εργασίες σε διαχειρίσιμα συστατικά. Οι πρακτόρες ανατίθενται αυτές τις υπο-εργασίες και η απόδοσή τους ευθυγραμμίζεται με τυποποιημένες εξόδους.

Το MetaGPT χρησιμοποιεί επίσης “Ορισμοί Ρόλων” για να ξεκινήσει διάφορους εξειδικευμένους πρακτόρες όπως Product Managers, Αρχιτέκτονες, κ.λπ. όπως συζητήσαμε παραπάνω. Αυτοί οι ρόλοι χαρακτηρίζονται από βασικά χαρακτηριστικά όπως όνομα, προφίλ, στόχος, περιορισμοί και περιγραφή.

Επιπλέον, τα “Αγκυροβόλα” παρέχουν ρόλο-ειδικές οδηγίες για αυτούς τους πρακτόρες. Για παράδειγμα, ο ρόλος του Product Manager μπορεί να αρχικοποιηθεί με το περιορισμό της “αποτελεσματικής δημιουργίας ενός επιτυχημένου προϊόντος”. Τα αγκυροβόλα εξασφαλίζουν ότι η συμπεριφορά των πρακτόρων ευθυγραμμίζεται με τους υπέρτατους στόχους, βελτιώνοντας έτσι την απόδοση.

Γνωστικές Διεργασίες στους Πρακτόρες MetaGPT

Το MetaGPT μπορεί να παρατηρεί, να σκέφτεται, να ανακτά και να ενεργεί. Λειτουργούν μέσω συγκεκριμένων συμπεριφορικών συναρτήσεων όπως _think(), _observe(), _publish_message(), κ.λπ. Αυτό το γνωστικό μοντέλο εξοπλίζει τους πρακτόρες με την ικανότητα να είναι ενεργοί μαθητές που μπορούν να προσαρμοστούν και να εξελιχθούν.

  1. Παρατήρηση: Οι πρακτόρες σκανάρουν το περιβάλλον τους και ενσωματώνουν βασικά δεδομένα στη Μνήμη τους.
  2. Σκέψη & Ανασκόπηση: Μέσω της _think() συνάρτησης, οι ρόλοι συζητούν πριν από την εκτέλεση ενεργειών.
  3. Δημοσίευση Μηνυμάτων: Οι πρακτόρες χρησιμοποιούν _publish_message() για να μοιράζονται την τρέχουσα κατάσταση εργασιών και σχετικές εγγραφές ενεργειών.
  4. Γνωστική Απόθεση & Ενέργεια: Οι πρακτόρες αξιολογούν εισερχόμενες μηνύματα και ενημερώνουν τις εσωτερικές τους αποθήκες πριν από την απόφαση για την επόμενη πορεία ενέργειας.
  5. Διαχείριση Κατάστασης: Με χαρακτηριστικά όπως κλείδωμα εργασιών και ενημέρωση κατάστασης, οι ρόλοι μπορούν να επεξεργαστούν πολλές ενέργειες συνεχώς χωρίς διακοπή, αντανακλώντας την πραγματική ανθρώπινη συνεργασία.

Μηχανισμοί Κριτικής Κώδικα για το MetaGPT

Η κριτική κώδικα είναι ένα κρίσιμο συστατικό στη ζωή του κύκλου ανάπτυξης λογισμικού, αλλά λείπει σε πολλά δημοφιλή πλαισιά. Τόσο το MetaGPT όσο και το AgentVerse υποστηρίζουν ικανότητες κριτικής κώδικα, αλλά το MetaGPT πάει ένα βήμα παραπέρα. Ενσωματώνει επίσης την εκτέλεση προ-συντάξεως, η οποία βοηθά στην πρώιμη ανίχνευση σφαλμάτων και ανεβάζει την ποιότητα κώδικα. Λαμβάνοντας υπόψη την επαναληπτική φύση της κωδικοποίησης, αυτό το χαρακτηριστικό δεν είναι απλώς ένα πρόσθετο, αλλά μια απαιτούμενη προϋπόθεση για οποιοδήποτε ωριμό πλαισίο ανάπτυξης.

Ποσοτικές πειραματικές μελέτες που διεξήχθησαν σε διάφορες εργασίες αποκάλυψαν ότι το MetaGPT ξεπέρασε τους ανταγωνιστές του σε σχεδόν κάθε σενάριο. Το Pass@1 είναι ένα μέτρο της ικανότητας του πλαισίου να γεννήσει ακριβή κώδικα σε μια seule επανάληψη. Αυτό το μέτρο προσφέρει μια πιο ρεαλιστική αντανάκλαση της χρησιμότητας του πλαισίου σε ένα πρακτικό περιβάλλον. Ένας υψηλότερος ρυθμός Pass@1 σημαίνει λιγότερη αποσφαλμάτωση και περισσότερη αποτελεσματικότητα, επηρεάζοντας άμεσα τους κύκλους ανάπτυξης και τα κόστη. Όταν τοποθετημένο ενάντια σε άλλα προηγμένα εργαλεία γεννήτριας κώδικα όπως το CodeX, CodeT, και ακόμη και GPT-4, το MetaGPT υπερέχει από όλα αυτά. Η ικανότητα του πλαισίου να επιτύχει einen ρυθμό Pass@1 81.7% έως 82.3% στο HumanEval και MBPP benchmarκs.

Σύγκριση MBPP και HumanEval Μετρικών μεταξύ MetaGPT και άλλων Προηγμένων Μοντέλων (https://arxiv.org/pdf/2308.00352.pdf)

Σύγκριση MBPP και HumanEval Μετρικών μεταξύ MetaGPT και άλλων Προηγμένων Μοντέλων (https://arxiv.org/pdf/2308.00352.pdf)

Το πλαισίο χρησιμοποιεί επίσης λιγότερους tokens και υπολογιστικούς πόρους, επιτυγχάνοντας υψηλό ποσοστό επιτυχίας με μια μικρή parte των παραδοσιακών κόστων μηχανικής λογισμικού. Τα δεδομένα έδειξαν ένα μέσο κόστος μόλις $1.09 ανά έργο με το MetaGPT, που είναι μόνο μια parte του τι θα χρεώσει ένας προγραμματιστής για την ίδια εργασία.

Βήματα για την Τοπική Εγκατάσταση του MetaGPT στο Σύστημα Σας

NPM, Python Εγκατάσταση

  1. Ελέγξτε & Εγκαταστήστε NPM: Πρώτα απ’ όλα, βεβαιωθείτε ότι το NPM είναι εγκαταστημένο στο σύστημα σας. Αν δεν είναι, θα πρέπει να εγκαταστήσετε node.js. Για να ελέγξετε αν έχετε npm, εκτελέστε αυτή την εντολή στο τερματικό σας: npm --version. Αν δείτε einen αριθμό έκδοσης, είστε έτοιμοι.
  2. Για να εγκαταστήσετε mermaid-js, μια εξάρτηση για το MetaGPT, εκτελέστε: sudo npm install -g @mermaid-js/mermaid-cli ή npm install -g @mermaid-js/mermaid-cli
  3. Επιβεβαιώστε την Έκδοση Python: Βεβαιωθείτε ότι έχετε Python 3.9 ή νεότερη έκδοση. Για να ελέγξετε την έκδοση Python, ανοίξτε το τερματικό σας και πληκτρολογήστε: python --version. Αν δεν είστε ενημερωμένοι, κατεβάστε την τελευταία έκδοση από την επίσημη ιστοσελίδα Python.
  4. Κλωνοποίηση Αποθετηρίου MetaGPT: Ξεκινήστε κλωνοποιώντας το αποθετήριο MetaGPT στο GitHub χρησιμοποιώντας την εντολή git clone https://github.com/geekan/metagpt. Βεβαιωθείτε ότι έχετε εγκαταστήσει το Git στο σύστημα σας για αυτό. Αν όχι, επισκεφθείτε εδώ.
  5. Μετακίνηση στο Κατάλογο: Μόλις κλωνοποιηθεί, μετακινηθείτε στο κατάλογο MetaGPT χρησιμοποιώντας την εντολή cd metagpt.
  6. Εγκατάσταση: Εκτελέστε το σενάριο εγκατάστασης Python για να εγκαταστήσετε το MetaGPT με την εντολή python setup.py install.
  7. Δημιουργήστε μια Εφαρμογή: Εκτελέστε python startup.py "ENTER-PROMPT" --code_review True

Σημείωση:

  • Το νέο σας έργο πρέπει τώρα να βρίσκεται στον workspace/ κατάλογο.
  • --code_review True θα επιτρέψει στο μοντέλο GPT να κάνει πρόσθετες εργασίες που θα διασφαλίσουν ότι ο κώδικας εκτελείται ακριβώς, αλλά σημειώστε ότι θα κοστίσει περισσότερο.
  • Αν συναντήσετε ένα σφάλμα άδειας κατά την εγκατάσταση, δοκιμάστε να εκτελέσετε python setup.py install --user ως εναλλακτική.
  • Για πρόσβαση σε συγκεκριμένες εκδόσεις και περισσότερες λεπτομέρειες, επισκεφθείτε την επίσημη σελίδα εκδόσεων MetaGPT στο GitHub: Εκδόσεις MetaGPT.

Εγκατάσταση Docker

Για όσους προτιμούν την εναψύχωση, το Docker απλοποιεί τη διαδικασία:

  • Σύρτηση της Εικόνας Docker: Κατεβάστε την επίσημη εικόνα MetaGPT και προετοιμάστε το αρχείο διαμόρφωσης:
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
  • Εκτέλεση του Κοντέινερ MetaGPT: Εκτελέστε το κοντέινερ με την ακόλουθη εντολή:
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 "Δημιουργήστε ένα απλό και διαδραστικό CLI-βασισμένο παιχνίδι πέτρα, ψαλίδι και χαρτί" --code_review True

Διαμόρφωση του MetaGPT με το Κλειδί API OpenAI

Μετά την αρχική εγκατάσταση, θα χρειαστεί να ενσωματώσετε το MetaGPT με το κλειδί API OpenAI. Εδώ είναι τα βήματα για να το κάνετε:

  1. Βρείτε ή Γεννήστε το Κλειδί OpenAI: Μπορείτε να βρείτε αυτό το κλειδί στο πίνακα ελέγχου OpenAI υπό τις ρυθμίσεις API.
  2. Ορίστε το Κλειδί API: Έχετε την επιλογή να τοποθετήσετε το κλειδί API σε οποιοδήποτε από config/key.yaml, config/config.yaml, ή να το ορίσετε ως μια μεταβλητή περιβάλλοντος (env). Η σειρά προτεραιότητας είναι config/key.yaml > config/config.yaml > env.
  3. Για να ορίσετε το κλειδί, μετακινηθείτε στο config/key.yaml και αντικαταστήστε το κείμενο αναπλήρωσης με το κλειδί OpenAI σας: OPENAI_API_KEY: "sk-..."

Θυμηθείτε να προστατεύσετε το κλειδί API OpenAI. Ποτέ μην το υποβάλετε σε ένα δημόσιο αποθετήριο ή το μοιραστείτε με μη εξουσιοδοτημένα άτομα.

Παράδειγμα Χρήσης

Έδωσα τον στόχο να αναπτύξω ένα CLI-βασισμένο παιχνίδι πέτρα, ψαλίδι και χαρτί, και το MetaGPT ολοκλήρωσε επιτυχώς την εργασία.

Κάτω από αυτό είναι ένα βίντεο που δείχνει την πραγματική εκτέλεση του γεννημένου κώδικα παιχνιδιού.

Δημοσίευση MetaGPT

Το MetaGPT παρείχε ένα έγγραφο σχεδίασης συστήματος σε Markdown — μια κοινή χρήση ελαφριάς μορφοποίησης. Αυτό το έγγραφο Markdown ήταν πλήρες με διαγράμματα UML, προσφέροντας μια λεπτομερή άποψη του αρχιτεκτονικού σχεδίου. Επιπλέον, οι προδιαγραφές API περιελάμβαναν μεθόδους HTTP, τελικά σημεία, αντικείμενα αιτήσεων/απαντήσεων και κωδικούς κατάστασης

Εξοδος MetaGPT - Σχεδιασμός Συστήματος Markdown

Εξοδος MetaGPT – Σχεδιασμός Συστήματος Markdown

Το διάγραμμα κλάσεων περιγράφει τα χαρακτηριστικά και τις μεθόδους της κλάσης Game μας, παρέχοντας μια αφαίρεση που είναι εύκολη να κατανοηθεί. Επίσης, οπτικοποιεί τη ροή κλήσεων του προγράμματος, μετατρέποντας αποτελεσματικά τις αφηρημένες ιδέες σε ουσιαστικές βήματα.

Δεν μόνο μειώνει το χειροκίνητο φορτίο στη σχεδίαση, αλλά και επιταχύνει τη διαδικασία λήψης αποφάσεων, εξασφαλίζοντας ότι η διαδικασία ανάπτυξής σας παραμένει αγίλε. Με το MetaGPT, δεν αυτοματοποιείτε μόνο τη γεννήτρια κώδικα, αλλά και την έξυπνη σχεδίαση έργου, παρέχοντας έτσι einen ανταγωνιστικό πλεονέκτημα στη γρήγορη ανάπτυξη εφαρμογών.

Συμπέρασμα: MetaGPT — Ανακατασκευάζοντας την Ανάπτυξη Λογισμικού

Το MetaGPT ανακατασκευάζει το τοπίο της γεννητικής AI και της ανάπτυξης λογισμικού, προσφέροντας μια ομαλή σύνθεση έξυπνης αυτοματοποίησης και αγίλης διαχείρισης έργου. Υπερβαίνοντας τις ικανότητες του ChatGPT, AutoGPT και των παραδοσιακών μοντέλων LangChain, εξέχει στην αποσύνθεση εργασιών, την αποτελεσματική γεννήτρια κώδικα και τη σχεδίαση έργου. Μάθετε περισσότερα

Εδώ είναι οι βασικοί πόροι από αυτό το άρθρο:

  1. Η Δύναμη του Μετα-Προγραμματισμού: Χρησιμοποιώντας μετα-προγραμματισμό, το MetaGPT παρέχει einen ατζίλε και προσαρμοζόμενο πλαίσιο λογισμικού. Υπερβαίνει τη στενή λειτουργικότητα των παλαιών εργαλείων και εισάγει μια μετασχηματιστική προσέγγιση που χειρίζεται όχι μόνο την κωδικοποίηση, αλλά και τη διαχείριση έργου και τις αποφάσεις.
  2. Δομή Δύο Επίπεδων: Με τα επίπεδα βασικών στοιχείων και συνεργασίας, το MetaGPT δημιουργεί einen συναρπαστικό οικοσύστημα όπου οι πρακτόρες μπορούν να συνεργαστούν ομαλά, όμοια με μια εμπειρογνώμονα διαχειριζόμενη ομάδα λογισμικού.
  3. Βελτιωμένη Κριτική Κώδικα: Πέρα από την απλή γεννήτρια κώδικα, το MetaGPT προσφέρει χαρακτηριστικά εκτέλεσης προ-συντάξεως, που είναι ουσιαστικά ένα σύστημα προειδοποίησης για σφάλματα. Αυτό δεν μόνο εξοικονομεί χρόνο αποσφαλμάτωσης, αλλά και διασφαλίζει την ποιότητα κώδικα.
  4. Γνωστικοί Πρακτόρες: Οι έξυπνοι πρακτόρες του MetaGPT, πλήρεις με γνωστικές λειτουργίες όπως _observe(), _think() και _publish_message(), εξελίσσονται και προσαρμόζονται, εξασφαλίζοντας ότι η λύση λογισμικού σας δεν είναι απλώς κωδικοποιημένη, αλλά και “έξυπνη”.
  5. Εγκατάσταση & Αναπτύξη: Εξηγήσαμε ότι το MetaGPT μπορεί να εγκατασταθεί εύκολα, είτε με τοπική εγκατάσταση μέσω npm και Python, είτε με εναψύχωση μέσω Docker.

Έχω περάσει τα τελευταία πέντε χρόνια βυθισμένος στον fascinující κόσμο της Μηχανικής Μάθησης και της Βαθιάς Μάθησης. Η αγάπη και η εξειδίκευσή μου έχουν οδηγήσει στην συμβολή μου σε πάνω από 50 διαφορετικά projects μηχανικής λογισμικού, με ιδιαίτερη έμφαση στο AI/ML. Η συνεχής περιέργεια μου έχει επίσης τραβήξει την προσοχή μου προς την Επεξεργασία Φυσικής Γλώσσας, ένα πεδίο που είμαι πρόθυμος να εξερευνήσω περαιτέρω.