Nachricht

Die agentenlose Lösung von UIUC steht ganz oben auf der Liste der Open-Source-KI-Softwareentwickler und löst echte Programmierprobleme

2024-07-15

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

Die AIxiv-Kolumne ist eine Kolumne, in der Machine Heart akademische und technische Inhalte veröffentlicht. In den letzten Jahren hat die Kolumne „Heart of the Machine AIxiv“ mehr als 2.000 Berichte erhalten, die Spitzenlabore großer Universitäten und Unternehmen auf der ganzen Welt abdecken und so den akademischen Austausch und die Verbreitung wirksam fördern. Wenn Sie hervorragende Arbeiten haben, die Sie teilen möchten, können Sie gerne einen Beitrag leisten oder uns für die Berichterstattung kontaktieren. E-Mail-Adresse: [email protected]; [email protected]

Die Autoren dieses Artikels stammen alle aus dem Team von Professor Zhang Lingming an der University of Illinois at Urbana-Champaign (UIUC), darunter: Steven Xia, ein Doktorand im vierten Jahr, dessen Forschungsrichtung die automatische Codereparatur auf Basis großer KI ist Modelle; Deng Yinlin, ein Doktorand im vierten Jahr, dessen Forschungsrichtung die Codegenerierung auf der Grundlage großer KI-Modelle ist; Soren Dunn, wissenschaftlicher Forschungspraktikant, derzeit Juniorstudent an der UIUC. Lehrer Zhang Lingming ist derzeit außerordentlicher Professor am Fachbereich Informatik der UIUC und beschäftigt sich hauptsächlich mit der Forschung im Zusammenhang mit Software-Engineering, maschinellem Lernen und großen Codemodellen.

Für detailliertere Informationen besuchen Sie bitte die persönliche Homepage von Lehrer Zhang: https://lingming.cs.illinois.edu/

Seit Devin (der erste vollautomatische KI-Softwareentwickler) vorgeschlagen wurde, ist das Design von KI-Agenten für die Softwareentwicklung in den Mittelpunkt der Forschung gerückt. Immer mehr agentenbasierte automatische KI-Softwareentwickler wurden vorgeschlagen und erzielten Ergebnisse auf der SWE-Benchmark Der Datensatz hat eine gute Leistung erzielt und viele echte GitHub-Probleme automatisch behoben.

Ein komplexes Agentensystem bringt jedoch zusätzlichen Aufwand und Unsicherheit mit sich. Müssen wir wirklich einen so komplexen Agenten verwenden, um GitHub-Probleme zu lösen? Können Lösungen, die nicht auf Agenten angewiesen sind, an ihre Leistung herankommen?

Ausgehend von diesen beiden Problemen schlug das Team um Lehrer Zhang Lingming von der University of Illinois at Urbana-Champaign (UIUC) OpenAutoCoder-Agentless vor, eine einfache, effiziente und vollständig Open-Source-Lösung ohne Agenten, die ein echtes GitHub-Problem lösen kann 0,34 $. Agentless hat in nur wenigen Tagen mehr als 300 GitHub-Stars auf GitHub angezogen und ist unter den ersten drei der wöchentlich angesagtesten ML-Papiere von DAIR.AI gelistet.



Beschreibung: AGENTLESS: Entmystifizierung von LLM-basierten Software-Engineering-Agenten

Papieradresse: https://huggingface.co/papers/2407.01489

Open-Source-Code: https://github.com/OpenAutoCoder/Agentless

AWS-Forschungswissenschaftler Leo Boytsov sagte: „Das Agentless-Framework übertraf alle Open-Source-Agent-Lösungen und erreichte fast das höchste Niveau in SWE Bench Lite (27 %). Darüber hinaus übertraf es alle Open-Source-Lösungen zu deutlich geringeren Kosten. Das Framework verwendet A Der hierarchische Abfrageansatz (Stellen von LLM-Fragen zum Auffinden von Dateien, Klassen, Funktionen usw.) nutzt LLM, erlaubt LLM jedoch nicht, Planungsentscheidungen zu treffen.“



Agentless ist ein automatisierter Ansatz für Softwareentwicklungsprobleme, der einen einfachen zweiphasigen Ansatz zum Auffinden und Beheben von Fehlern in Ihrer Codebasis verwendet. In der Lokalisierungsphase verwendet Agentless einen hierarchischen Ansatz, um schrittweise auf verdächtige Dateien, Klassen/Funktionen und bestimmte Bearbeitungsorte einzugrenzen. Für die Reparatur wird ein einfaches Diff-Format (referenziert vom Open-Source-Tool Aider) verwendet, um mehrere Kandidaten-Patches zu generieren, zu filtern und zu sortieren.



Die Forscher verglichen Agentless mit bestehenden KI-Softwareagenten, einschließlich hochmoderner Open-Source- und kommerzieller/Closed-Source-Projekte. Überraschenderweise kann Agentless alle vorhandenen Open-Source-Software-Agenten zu geringeren Kosten übertreffen! Agentless löst 27,33 % der Probleme, den höchsten Wert unter den Open-Source-Lösungen, und kostet durchschnittlich nur 0,29 US-Dollar für die Lösung jedes Problems und kostet für alle Probleme (einschließlich lösbarer und ungelöster) durchschnittlich nur etwa 0,34 US-Dollar.



Darüber hinaus hat Agentless das Potenzial, sich zu verbessern. Agentless kann 41 % der Probleme lösen, wenn alle generierten Patches berücksichtigt werden, eine Obergrenze, die auf erhebliches Verbesserungspotenzial in den Phasen der Patch-Sortierung und -Auswahl hinweist. Darüber hinaus ist Agentless in der Lage, einige einzigartige Probleme zu lösen, die selbst das beste kommerzielle Tool (Alibaba Lingma Agent) nicht lösen kann, was darauf hindeutet, dass es als Ergänzung zu bestehenden Tools verwendet werden kann.



Analyse des SWE-bench Lite-Datensatzes

Die Forscher führten außerdem eine manuelle Inspektion und detaillierte Analyse des SWE-bench Lite-Datensatzes durch.

Die Studie ergab, dass 4,3 % der Probleme im SWE-bench Lite-Datensatz vollständige Antworten direkt in der Problembeschreibung lieferten, also im richtigen Fix-Patch. Die anderen 10 % der Fragen beschreiben die genauen Schritte zur richtigen Lösung. Dies deutet darauf hin, dass einige Probleme in SWE-bench Lite möglicherweise einfacher zu lösen sind.

Darüber hinaus stellte das Forschungsteam fest, dass 4,3 % der Probleme von Benutzern vorgeschlagene Lösungen oder Schritte in der Problembeschreibung enthielten, diese Lösungen jedoch nicht mit den tatsächlichen Patches der Entwickler übereinstimmten. Dies offenbart ein weiteres potenzielles Problem mit diesem Benchmark, da diese irreführenden Lösungen dazu führen können, dass das KI-Tool falsche Lösungen generiert, indem es einfach der Problembeschreibung folgt.

Im Hinblick auf die Qualität der Problembeschreibung stellten die Forscher fest, dass die meisten Aufgaben in SWE-bench Lite zwar ausreichende Informationen enthalten und viele Aufgaben auch Fehlerbeispiele zur Reproduktion von Fehlern liefern, es aber immer noch 9,3 % der Probleme gibt, die nicht genügend Informationen enthalten. Sie müssen beispielsweise eine neue Funktion implementieren oder eine Fehlermeldung hinzufügen, aber der spezifische Funktionsname oder die spezifische Fehlermeldungszeichenfolge ist in der Problembeschreibung nicht angegeben. Dies bedeutet, dass der Test fehlschlägt, selbst wenn die zugrunde liegende Funktionalität korrekt implementiert ist, wenn der Funktionsname oder die Fehlermeldungszeichenfolge nicht genau übereinstimmen.



Forscher der Princeton University und einer der Autoren von SWE-Bench bestätigten ihre Ergebnisse gegenüber Ofir Press: „Agentless hat eine schöne manuelle Analyse von SWE-Bench Lite durchgeführt. Sie glauben, dass die theoretische Höchstpunktzahl bei Lite 90,7 % betragen könnte. Ich denke, das.“ Die tatsächliche Obergrenze liegt wahrscheinlich niedriger (ca. 80 %). Einige Fragen enthalten unzureichende Informationen, andere sind zu streng.“



SWE-Bench Lite-S: eine strenge, gefilterte Teilmenge von Problemen

Als Reaktion auf diese Probleme schlugen die Forscher eine strenge Problemteilmenge SWE-Bench Lite-S (mit 252 Fragen) vor. Insbesondere haben wir aus SWE-bench Lite (mit 300 Fragen) diejenigen Fragen ausgeschlossen, die genaue Patches oder irreführende Lösungen enthielten oder in der Problembeschreibung keine ausreichenden Informationen lieferten. Dadurch werden unangemessene Fragen beseitigt und der Schwierigkeitsgrad des Benchmarks vereinheitlicht. Im Vergleich zum ursprünglichen SWE-bench Lite spiegelt der gefilterte Benchmark die wahren Fähigkeiten automatisierter Softwareentwicklungstools genauer wider.

Abschluss

Obwohl die agentenbasierte Softwareentwicklung sehr vielversprechend ist, glauben die Autoren, dass es für die Technologie- und Forschungsgemeinschaft an der Zeit ist, innezuhalten und über die wichtigsten Design- und Bewertungsmethoden nachzudenken, anstatt überstürzt weitere Agenten herauszubringen. Die Forscher hoffen, dass Agentless dazu beitragen kann, die Grundlagen und Richtung künftiger Software-Engineering-Agenten neu zu bestimmen.