Νέα

Στην κορυφή της λίστας των μηχανικών λογισμικού τεχνητής νοημοσύνης ανοιχτού κώδικα, η λύση χωρίς πράκτορες της UIUC λύνει πραγματικά προβλήματα προγραμματισμού

2024-07-15

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

Η στήλη AIxiv είναι μια στήλη όπου το Machine Heart δημοσιεύει ακαδημαϊκό και τεχνικό περιεχόμενο. Τα τελευταία χρόνια, η στήλη Heart of the Machine AIxiv έχει λάβει περισσότερες από 2.000 αναφορές, που καλύπτουν κορυφαία εργαστήρια από μεγάλα πανεπιστήμια και εταιρείες σε όλο τον κόσμο, προωθώντας αποτελεσματικά τις ακαδημαϊκές ανταλλαγές και τη διάδοση. Εάν έχετε εξαιρετική δουλειά που θέλετε να μοιραστείτε, μη διστάσετε να συνεισφέρετε ή να επικοινωνήσετε μαζί μας για αναφορά. Email υποβολής: [email protected], [email protected]

Οι συγγραφείς αυτής της εργασίας είναι όλοι από την ομάδα του καθηγητή Zhang Lingming στο Πανεπιστήμιο του Illinois στο Urbana-Champaign (UIUC), συμπεριλαμβανομένων των: Steven Xia, τεταρτοετούς διδακτορικού φοιτητή, του οποίου η ερευνητική κατεύθυνση είναι η αυτόματη επιδιόρθωση κώδικα με βάση την AI μεγάλη Models, Deng Yinlin, τεταρτοετής φοιτητής, του οποίου η ερευνητική κατεύθυνση είναι η παραγωγή κώδικα βασισμένη σε μεγάλα μοντέλα τεχνητής νοημοσύνης. Ο δάσκαλος Zhang Lingming είναι επί του παρόντος αναπληρωτής καθηγητής στο Τμήμα Επιστήμης Υπολογιστών στο UIUC, που ασχολείται κυρίως με την έρευνα που σχετίζεται με τη μηχανική λογισμικού, τη μηχανική μάθηση και τα μεγάλα μοντέλα κώδικα.

Για πιο λεπτομερείς πληροφορίες, επισκεφθείτε την προσωπική ιστοσελίδα του Δάσκαλου Zhang: https://lingming.cs.illinois.edu/

Από τότε που προτάθηκε ο Devin (ο πρώτος μηχανικός λογισμικού τεχνητής νοημοσύνης), ο σχεδιασμός του AI Agent για τη μηχανική λογισμικού έχει γίνει το επίκεντρο της έρευνας Όλο και περισσότεροι μηχανικοί λογισμικού τεχνητής νοημοσύνης που βασίζονται σε πράκτορες έχουν προταθεί και έχουν επιτύχει αποτελέσματα στον πάγκο SWE. Το σύνολο δεδομένων έχει επιτύχει καλή απόδοση και έχει διορθώσει αυτόματα πολλά πραγματικά προβλήματα του GitHub.

Ωστόσο, ένα πολύπλοκο σύστημα Agent θα φέρει πρόσθετα έξοδα και αβεβαιότητα Χρειάζεται πραγματικά να χρησιμοποιήσουμε έναν τόσο περίπλοκο Agent για την επίλυση προβλημάτων του GitHub; Μπορούν οι λύσεις που δεν βασίζονται σε πράκτορες να πλησιάσουν την απόδοσή τους;

Ξεκινώντας από αυτά τα δύο προβλήματα, η ομάδα του δασκάλου Zhang Lingming από το Πανεπιστήμιο του Illinois στο Urbana-Champaign (UIUC) πρότεινε το OpenAutoCoder-Agentless, μια απλή, αποτελεσματική και εντελώς ανοιχτού κώδικα λύση χωρίς Agent που μπορεί να λύσει ένα πραγματικό πρόβλημα GitHub μόνο για 0,34 $. Η Agentless έχει προσελκύσει περισσότερα από 300 αστέρια του GitHub στο GitHub μέσα σε λίγες μόνο ημέρες και έχει καταταχθεί μεταξύ των τριών κορυφαίων της εβδομαδιαίας λίστας με τις πιο καυτές εφημερίδες ML του DAIR.AI.



论文:AGENTLESS : Απομυθοποίηση πρακτόρων μηχανικής λογισμικού που βασίζονται σε LLM

Διεύθυνση χαρτιού: https://huggingface.co/papers/2407.01489

Ανοιχτός πηγαίος κώδικας: https://github.com/OpenAutoCoder/Agentless

Ο επιστήμονας της AWS Research Leo Boytsov δήλωσε: "Το πλαίσιο Agentless ξεπέρασε όλες τις λύσεις ανοιχτού κώδικα Agent και έφτασε σχεδόν στο υψηλότερο επίπεδο στο SWE Bench Lite (27%). Επιπλέον, ξεπέρασε όλες τις λύσεις ανοιχτού κώδικα με σημαντικά χαμηλότερο κόστος. Το πλαίσιο χρησιμοποιεί A η ιεραρχική προσέγγιση ερωτημάτων (θέτοντας ερωτήσεις LLM για την εύρεση αρχείων, κλάσεων, συναρτήσεων κ.λπ.) αξιοποιεί το LLM αλλά δεν επιτρέπει στο LLM να λαμβάνει αποφάσεις προγραμματισμού."



Το Agentless είναι μια αυτοματοποιημένη προσέγγιση για προβλήματα ανάπτυξης λογισμικού που χρησιμοποιεί μια απλή προσέγγιση δύο φάσεων για τον εντοπισμό και τη διόρθωση σφαλμάτων στη βάση του κώδικά σας. Στη φάση εντοπισμού, το Agentless χρησιμοποιεί μια ιεραρχική προσέγγιση για να περιορίσει σταδιακά σε ύποπτα αρχεία, κλάσεις/λειτουργίες και συγκεκριμένες τοποθεσίες επεξεργασίας. Για επισκευή, χρησιμοποιεί μια απλή μορφή διαφοράς (που αναφέρεται από το εργαλείο ανοιχτού κώδικα Aider) για τη δημιουργία πολλαπλών υποψήφιων ενημερώσεων κώδικα, το φιλτράρισμα και την ταξινόμηση τους.



Οι ερευνητές συνέκριναν το Agentless με υπάρχοντες πράκτορες λογισμικού τεχνητής νοημοσύνης, συμπεριλαμβανομένων έργων ανοιχτού κώδικα τελευταίας τεχνολογίας και εμπορικών/κλειστού κώδικα. Παραδόξως, το Agentless μπορεί να ξεπεράσει όλους τους υπάρχοντες πράκτορες λογισμικού ανοιχτού κώδικα με χαμηλότερο κόστος! Το Agentless επιλύει το 27,33% των προβλημάτων, το υψηλότερο μεταξύ των λύσεων ανοιχτού κώδικα, και κοστίζει μόνο 0,29 $ κατά μέσο όρο για την επίλυση κάθε προβλήματος και κοστίζει μόνο περίπου 0,34 $ κατά μέσο όρο σε όλα τα προβλήματα (συμπεριλαμβανομένων των επιλύσιμων και ανεπίλυτων).



Όχι μόνο αυτό, αλλά το Agentless έχει τη δυνατότητα να βελτιωθεί. Το Agentless μπορεί να λύσει το 41% ​​των προβλημάτων κατά την εξέταση όλων των ενημερώσεων κώδικα που δημιουργούνται, ένα ανώτερο όριο που υποδεικνύει σημαντικό περιθώριο βελτίωσης στα στάδια ταξινόμησης και επιλογής ενημερώσεων κώδικα. Επιπλέον, το Agentless είναι σε θέση να λύσει μερικά μοναδικά προβλήματα που ακόμη και το καλύτερο εμπορικό εργαλείο (Alibaba Lingma Agent) δεν μπορεί να λύσει, υποδηλώνοντας ότι μπορεί να χρησιμοποιηθεί ως συμπλήρωμα σε υπάρχοντα εργαλεία.



Ανάλυση του συνόλου δεδομένων SWE-bench Lite

Οι ερευνητές πραγματοποίησαν επίσης χειροκίνητη επιθεώρηση και λεπτομερή ανάλυση στο σύνολο δεδομένων SWE-bench Lite.

Η μελέτη διαπίστωσε ότι το 4,3% των προβλημάτων στο σύνολο δεδομένων SWE-bench Lite έδωσαν πλήρεις απαντήσεις απευθείας στην περιγραφή του προβλήματος, που είναι η σωστή ενημέρωση κώδικα. Το υπόλοιπο 10% των ερωτήσεων περιγράφει τα ακριβή βήματα για τη σωστή λύση. Αυτό υποδηλώνει ότι ορισμένα προβλήματα στο SWE-bench Lite μπορεί να είναι πιο εύκολο να επιλυθούν.

Επιπλέον, η ερευνητική ομάδα παρατήρησε ότι το 4,3% των προβλημάτων περιελάμβαναν λύσεις ή βήματα που πρότεινε ο χρήστης στην περιγραφή του προβλήματος, αλλά αυτές οι λύσεις δεν ήταν συνεπείς με τις πραγματικές ενημερώσεις κώδικα των προγραμματιστών. Αυτό αποκαλύπτει περαιτέρω ένα πιθανό πρόβλημα με αυτό το σημείο αναφοράς, καθώς αυτές οι παραπλανητικές λύσεις μπορούν να αναγκάσουν το εργαλείο AI να δημιουργήσει λανθασμένες λύσεις απλώς ακολουθώντας την περιγραφή του προβλήματος.

Όσον αφορά την ποιότητα περιγραφής του προβλήματος, οι ερευνητές παρατήρησαν ότι παρόλο που οι περισσότερες εργασίες στο SWE-bench Lite περιέχουν επαρκείς πληροφορίες και πολλές εργασίες παρέχουν επίσης παραδείγματα αποτυχίας για την αναπαραγωγή σφαλμάτων, εξακολουθεί να υπάρχει το 9,3% των προβλημάτων που δεν περιλαμβάνουν Αρκετές πληροφορίες. Για παράδειγμα, πρέπει να εφαρμόσετε μια νέα συνάρτηση ή να προσθέσετε ένα μήνυμα σφάλματος, αλλά το συγκεκριμένο όνομα συνάρτησης ή συγκεκριμένη συμβολοσειρά μηνύματος σφάλματος δεν δίνεται στην περιγραφή του προβλήματος. Αυτό σημαίνει ότι ακόμα κι αν η υποκείμενη λειτουργικότητα υλοποιηθεί σωστά, η δοκιμή θα αποτύχει εάν το όνομα της συνάρτησης ή η συμβολοσειρά μηνύματος σφάλματος δεν ταιριάζει ακριβώς.



Ερευνητές στο Πανεπιστήμιο του Πρίνστον και ένας από τους συγγραφείς του SWE-Bench επιβεβαίωσαν τα ευρήματά τους στο Ofir Press: "Η Agentless πραγματοποίησε μια ωραία χειροκίνητη ανάλυση του SWE-bench Lite. Πιστεύουν ότι η θεωρητική μέγιστη βαθμολογία στο Lite μπορεί να είναι 90,7%. Νομίζω ότι το Το πραγματικό ανώτερο όριο είναι πιθανώς χαμηλότερο (περίπου 80%). Ορισμένες ερωτήσεις έχουν ανεπαρκείς πληροφορίες και άλλες ερωτήσεις είναι πολύ αυστηρές.



SWE-bench Lite-S: ένα αυστηρό, φιλτραρισμένο υποσύνολο προβλημάτων

Ως απάντηση σε αυτά τα προβλήματα, οι ερευνητές πρότειναν ένα αυστηρό υποσύνολο προβλημάτων SWE-bench Lite-S (που περιέχει 252 ερωτήσεις). Συγκεκριμένα, εξαιρέσαμε από το SWE-bench Lite (που περιέχει 300 ερωτήσεις) εκείνες τις ερωτήσεις που περιείχαν ακριβείς ενημερώσεις κώδικα, παραπλανητικές λύσεις ή δεν παρείχαν επαρκείς πληροφορίες στην περιγραφή του προβλήματος. Αυτό καταργεί τις παράλογες ερωτήσεις και τυποποιεί το επίπεδο δυσκολίας του σημείου αναφοράς. Σε σύγκριση με το αρχικό SWE-bench Lite, το φιλτραρισμένο σημείο αναφοράς αντικατοπτρίζει με μεγαλύτερη ακρίβεια τις πραγματικές δυνατότητες των αυτοματοποιημένων εργαλείων ανάπτυξης λογισμικού.

συμπέρασμα

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