Νέα

Το OpenDevin κυκλοφόρησε μια τεχνική αναφορά, που πρέπει να διαβάσουν οι προγραμματιστές μεγάλων μοντέλων Agent

2024-08-02

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina



Αναφορά Machine Heart

Επιμέλεια: Chen Chen, Zenan

Δημοφιλής πλατφόρμα γενικής χρήσης μεγάλου μοντέλου Agent.

Τον Μάρτιο του τρέχοντος έτους, ο Devin, «ο πρώτος μηχανικός λογισμικού AI στον κόσμο», πυροδότησε τον κύκλο της AI. Σε αντίθεση με τους προηγούμενους βοηθούς προγραμματισμού τεχνητής νοημοσύνης, ο Devin δεν παίζει απλώς το ρόλο του βοηθητικού προγραμματισμού, αλλά μπορεί να ολοκληρώσει ολόκληρο το αναπτυξιακό έργο ανεξάρτητα και από άκρο σε άκρο.



Η γέννηση του Devin μας επέτρεψε να εκτιμήσουμε τις ισχυρές δυνατότητες των μεγάλων μοντέλων Agents. Σύντομα, πολλά έργα ανοιχτού κώδικα εμφανίστηκαν στη βιομηχανία προσπαθώντας να το αντιγράψουν Ανάμεσά τους, το OpenDevin ξεχώρισε και έλαβε τη μεγαλύτερη προσοχή.

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

Ο μηχανισμός αλληλεπίδρασης μεταξύ Agent μεγάλου μοντέλου, διεπαφής και περιβάλλοντος.

Λειτουργικό σύστημα Sandbox + περιβάλλον προγράμματος περιήγησης ιστού διαθέσιμο στον Agent.

Μια διεπαφή για τη δημιουργία και την εκτέλεση κώδικα.

Υποστήριξη πολλαπλών πρακτόρων.

Πλαίσιο αξιολόγησης.

Επί του παρόντος, το GitHub του OpenDevin έχει λάβει περισσότερα από 29.000 αστέρια.



Πρόσφατα, η ομάδα του OpenaDevin δημοσίευσε μια τεχνική αναφορά για αυτό το εργαλείο.



Διεύθυνση αναφοράς: https://arxiv.org/pdf/2407.16741

Σε μια τεχνική έκθεση, οι συγγραφείς του OpenDevin, ακαδημαϊκοί από το Πανεπιστήμιο του Ιλινόις στο Urbana-Champaign, το Πανεπιστήμιο Carnegie Mellon και άλλα ιδρύματα, αναφέρουν λεπτομερώς το OpenDevin, μια πλατφόρμα με γνώμονα την κοινότητα για την ανάπτυξη γενικής και εξειδικευμένης τεχνητής νοημοσύνης που αλληλεπιδρά με τον κόσμο μέσω λογισμικού.

Το πιο σημαντικό, το OpenDevin δεν είναι μόνο ένα εννοιολογικό πλαίσιο, αλλά περιλαμβάνει επίσης έναν ολοκληρωμένο και έτοιμο προς χρήση Agent, περιβάλλον και εφαρμογή αξιολόγησης. Από την έκδοση αυτής της αναφοράς, το OpenDevin περιέχει ένα Agent Center, το οποίο έχει εφαρμόσει περισσότερους από 10 πράκτορες, συμπεριλαμβανομένου ενός ισχυρού γενικού πράκτορα που βασίζεται στην αρχιτεκτονική CodeAct, και έχει προσθέσει λειτουργίες για περιήγηση στο Web και επεξεργασία κώδικα. Η αλληλεπίδραση του χρήστη με τον πράκτορα επιτυγχάνεται μέσω μιας διεπαφής συνομιλίας, η οποία οπτικοποιεί τις τρέχουσες λειτουργίες του πράκτορα και επιτρέπει την ανάδραση σε πραγματικό χρόνο. Επιπλέον, το πλαίσιο αξιολόγησης υποστηρίζει επί του παρόντος 15 σημεία αναφοράς που μπορούν να χρησιμοποιηθούν για την αξιολόγηση της απόδοσης του πράκτορα.

Αρχιτεκτονική OpenDevin

Σε αυτό το άρθρο, ο συγγραφέας περιγράφει το OpenDevin από τις ακόλουθες πτυχές: (1) πώς να ορίσετε και να εφαρμόσετε τους πράκτορες. πώς να ενσωματώσετε πολλαπλούς πράκτορες συνεργάζονται για την επίλυση μιας εργασίας.



Πώς να ορίσετε και να εφαρμόσετε έναν πράκτορα

Οι πράκτορες μπορούν να αντιληφθούν την κατάσταση του περιβάλλοντος και να δημιουργήσουν ενέργειες που πρέπει να εκτελέσουν κατά την επίλυση εργασιών που καθορίζονται από τον χρήστη.

Κατάσταση και ροή γεγονότων. Στο OpenDevin, η κατάσταση είναι μια δομή δεδομένων που ενσωματώνει όλες τις σχετικές πληροφορίες προκειμένου ένας πράκτορας να εκτελεί εργασίες. Βασικό συστατικό αυτής της κατάστασης είναι η ροή γεγονότων, μια χρονολογική συλλογή προηγούμενων ενεργειών και παρατηρήσεων.

δράση. Εμπνευσμένο από το CodeAct, το OpenDevin συνδέει πράκτορες με το περιβάλλον μέσω ενός βασικού συνόλου ενεργειών. Οι ενέργειες IPythonRunCellAction και CmdRunAction επιτρέπουν στους πράκτορες να εκτελούν αυθαίρετο κώδικα Python και εντολές bash μέσα σε ένα περιβάλλον sandbox (π.χ. ένα ασφαλώς απομονωμένο λειτουργικό σύστημα Linux). Το BrowserInteractiveAction υποστηρίζει την αλληλεπίδραση μεταξύ του πράκτορα και του προγράμματος περιήγησης στο Web.

παρατηρώ. Οι παρατηρήσεις περιγράφουν αλλαγές στο περιβάλλον που παρατηρούνται από έναν πράκτορα. Μπορεί να προκαλείται ή να μην προκαλείται από μια ενέργεια του πράκτορα: μπορεί να είναι 1) μια οδηγία φυσικής γλώσσας που δίνεται από τον χρήστη, 2) το αποτέλεσμα εκτέλεσης της προηγούμενης ενέργειας του πράκτορα (π.χ. αποτέλεσμα εκτέλεσης κώδικα κ.λπ.).

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



Παρατηρήστε τα αποτελέσματα εκτέλεσης ενέργειας

Το Agent Runtime παρέχει στους πράκτορες έναν χώρο δράσης συγκρίσιμο με αυτόν των ανθρώπινων προγραμματιστών λογισμικού, επιτρέποντας στο OpenDevin να χειρίζεται μια ποικιλία εργασιών ανάπτυξης λογισμικού και βασισμένων στο Web, συμπεριλαμβανομένων πολύπλοκων ροών εργασιών ανάπτυξης λογισμικού, έργων ανάλυσης δεδομένων, εργασιών περιήγησης στο Web κ.λπ. Επιτρέπει στους πράκτορες να έχουν πρόσβαση σε ένα τερματικό bash για την εκτέλεση κώδικα και εργαλείων γραμμής εντολών, να αξιοποιούν τα σημειωματάρια Jupyter για να γράφουν και να εκτελούν κώδικα εν κινήσει και να αλληλεπιδρούν με ένα πρόγραμμα περιήγησης ιστού για την εκτέλεση εργασιών που βασίζονται στον ιστό (για παράδειγμα, αναζήτηση πληροφοριών).

Scalable Agent - Computer Interface

Οι συγγραφείς δημιούργησαν μια βιβλιοθήκη AgentSkills, μια εργαλειοθήκη σχεδιασμένη να βελτιώνει τις δυνατότητες των πρακτόρων, παρέχοντας βοηθητικά προγράμματα που δεν είναι άμεσα διαθέσιμα με βασικές εντολές bash ή κώδικα python.

Αλληλεπίδραση πολλαπλών πρακτόρων

Το OpenDevin επιτρέπει σε πολλούς πράκτορες να αλληλεπιδρούν. Για να επιτευχθεί αυτό, οι συγγραφείς χρησιμοποίησαν έναν ειδικό τύπο ενέργειας, τον AgentDelegateAction, ο οποίος επιτρέπει σε έναν πράκτορα να αναθέτει συγκεκριμένες δευτερεύουσες εργασίες σε έναν άλλο πράκτορα.

Αξιολογώ

Αυτή η ενότητα συγκρίνει το OpenDevin (συντομογραφία ως OD στα ακόλουθα πειραματικά αποτελέσματα) με αναπαραγώγιμες βασικές μεθόδους ανοιχτού κώδικα. Τα 15 σημεία αναφοράς καλύπτουν εργασίες όπως η μηχανική λογισμικού και η περιήγηση στο web.



Ο Πίνακας 3 δείχνει ότι, ενώ ο πράκτορας OpenDevin μπορεί να μην επιτυγχάνει τη βέλτιστη απόδοση σε κάθε κατηγορία, έχει σχεδιαστεί με γνώμονα τη γενικότητα.



Ο Πίνακας 4 αναφέρει τα αποτελέσματα του πράκτορα σε σημεία αναφοράς μηχανικής λογισμικού.



συγκεκριμένα:

Το SWE-bench έχει σχεδιαστεί για να αξιολογεί την ικανότητα ενός πράκτορα να επιλύει ζητήματα του GitHub, όπως αναφορές σφαλμάτων ή αιτήματα λειτουργιών. Όπως φαίνεται στον Πίνακα 4, η τελευταία έκδοση του CodeActAgent v1.8 σε αυτό το άρθρο, που βασίζεται στο claude-3.5-sonnet, έχει ποσοστό επίλυσης προβλημάτων έως και 26% σε σύγκριση με άλλους πράκτορες ανοιχτού κώδικα που χρησιμοποιούνται ειδικά για την ανάπτυξη λογισμικού.

HumanEvalFix. Το OpenDevin CodeActAgent διόρθωσε με επιτυχία το 79,3% των σφαλμάτων σε διαχωρισμούς Python, ξεπερνώντας σημαντικά όλες τις μεθόδους που δεν ήταν πράκτορες και σχεδόν διπλασιάζοντας την απόδοση του StarCoder2-15B.

Ο πράκτορας OpenDevin που βασίζεται στο GPT-4o πέτυχε το υψηλότερο ποσοστό επιτυχίας 76,47% στο ML-Bench, το οποίο είναι καλύτερο από το SWE-Agent (42,64%).

Το Gorilla APIBench εξετάζει την ικανότητα ενός πράκτορα να χρησιμοποιεί API. Το OpenDevin που χρησιμοποιεί το GPT-4o έχει ποσοστό επιτυχίας 36,4%, το οποίο είναι καλύτερο από τη βασική γραμμή που δεν είναι ειδικά ρυθμισμένη για κλήσεις API.

Το ToolQA αξιολογεί την ικανότητα ενός πράκτορα να χρησιμοποιεί εξωτερικά εργαλεία. Το OpenDevin με GPT-4o παρουσιάζει την υψηλότερη απόδοση σε σύγκριση με όλες τις βασικές γραμμές. Ο πράκτορας είχε καλύτερες επιδόσεις σε εργασίες που σχετίζονται με τη χρήση εργαλείων CSV και βάσης δεδομένων, αλλά χρειαζόταν βελτίωση στη χρήση εργαλείων μαθηματικών και αριθμομηχανών.

Ο Πίνακας 5 αναφέρει τα αποτελέσματα αξιολόγησης για το σημείο αναφοράς περιήγησης στον Ιστό.



Ο Πίνακας 6 αναφέρει τα αποτελέσματα διαφόρων βοηθητικών σημείων αναφοράς.



Μεταξύ αυτών, το GAIA χρησιμοποιείται για την αξιολόγηση της ικανότητας του πράκτορα να επιλύει γενικές εργασίες.

Το GPQA χρησιμοποιείται για την αξιολόγηση της ικανότητας ενός πράκτορα να συντονίζει τη χρήση εργαλείων ενώ επιλύει δύσκολα προβλήματα μεταπτυχιακού επιπέδου. Τα αποτελέσματα εμφανίζονται στους Πίνακες 6 και 7. Το OpenDevin ενσωματώνει λειτουργίες που υποστηρίζουν τη χρήση πολλαπλών εργαλείων και αναζητήσεων στον ιστό, επιτρέποντας στον πράκτορα να επιλύει καλύτερα πολύπλοκα προβλήματα πολλαπλών βημάτων.



Για περισσότερα αποτελέσματα, ανατρέξτε στο πρωτότυπο έγγραφο.