Understanding the Rejection of Fixes Generated by Agentic Pull Requests -- Insights from the AIDev Dataset
Diese Arbeit analysiert den AIDev-Datensatz, um 14 spezifische Gründe zu identifizieren, warum fast die Hälfte der KI-generierten Pull Requests abgelehnt wird, wobei diese Fehlermodi kategorisiert werden, um handlungsorientierte Leitlinien zur Verbesserung der Agentenleistung, der Aufgabenpriorisierung und der Integration in Softwareentwicklungs-Workflows bereitzustellen.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich vor, Sie stellen ein Team aus superschnellen, hyper-enthusiastischen Roboter-Praktikanten ein, um Fehler in Ihrer Software zu beheben. Sie geben ihnen ein Problem, und sie fangen sofort an zu coden, erstellen einen „Pull Request“ (was so etwas wie ein Vorschlag zur Änderung des Codes ist).
Dieses Papier ist im Grunde ein Zeugnis darüber, was passiert, wenn diese Roboter-Praktikanten (speziell Copilot, Devin, Cursor und Claude) versuchen, Dinge zu reparieren. Die Forscher fanden eine erschreckende Statistik heraus: fast die Hälfte der Zeit (46,41 %) wirft der menschliche Chef die Arbeit des Roboters in den Müll.
Hier ist eine Aufschlüsselung dessen, warum das passiert, unter Verwendung einfacher Analogien:
Das große Problem: Die „verschwendete Aufwand“-Rechnung
Jedes Mal, wenn ein Roboter eine Lösung generiert, die abgelehnt wird, ist es ein doppelter Verlust. Erstens verschwendet der Roboter seine eigene „Gehirnleistung“ (Rechenressourcen und Token). Zweitens, und das ist wichtiger, muss ein Mensch seine Arbeit unterbrechen, die unordentliche Arbeit des Roboters lesen, feststellen, dass sie falsch ist, und einen Kommentar schreiben, um zu erklären, warum. Das ist verschwendete menschliche Zeit.
Die Forscher untersuchten 306 dieser abgelehnten Vorschläge, um genau herauszufinden, warum die Menschen „Nein“ sagten. Sie fanden vier Hauptgründe für die Ablehnung:
1. Das „Falsche Werkzeug für den Job“ (Implementierungsprobleme)
Manchmal versucht der Roboter das Problem zu lösen, nutzt aber den falschen Ansatz.
- Die Analogie: Stellen Sie sich vor, Ihr Auto springt nicht an. Sie bitten einen Mechaniker, es zu reparieren. Er erscheint und versucht, das Radio zu reparieren, anstatt den Motor, oder er versucht, den Motor mit einem Hammer statt mit einem Schraubenschlüssel zu reparieren.
- Was passierte: Die Roboter missverstanden oft die Anweisungen, reparierten das Falsche oder schlugen eine Lösung vor, die technisch unmöglich oder unvollständig war.
2. Der „Defekte Test“ (Technische Probleme)
In der Softwareentwicklung muss eine Korrektur, bevor sie akzeptiert wird, eine Reihe von automatisierten Tests bestehen (wie eine Sicherheitsprüfung).
- Die Analogie: Der Roboter baut eine neue Brücke, aber als der Inspektor mit einem LKW darüberfährt, bricht die Brücke zusammen. Der Roboter hat nicht geprüft, ob seine eigene Brücke das Gewicht halten kann.
- Was passierte: Der Code, den die Roboter schrieben, scheiterte oft an den automatisierten „Sicherheitstests“ (CI-Pipelines) oder brachte andere Teile der Software kaputt, die bereits funktionierten.
3. Der „Geister-Praktikant“ (Anbieterprobleme)
Manchmal hört der Roboter einfach auf zu arbeiten oder wird unterbrochen.
- Die Analogie: Sie bitten den Praktikanten, einen Bericht zu schreiben, aber halbwegs durch den Bericht verlässt der Praktant das Gebäude, oder die Internetverbindung bricht ab, sodass Sie mit einer leeren Seite zurückbleiben.
- Was passierte: Der KI-Dienst selbst stürzte ab, der Roboter wurde „rate-limited“ (hat das erlaubte Kontingent an Anfragen aufgebraucht) oder die Sitzung endete einfach, bevor er die Aufgabe abschließen konnte.
4. Die „Nutzlose Reparatur“ (Relevanzprobleme)
Manchmal arbeitet der Roboter an einem Problem, das nicht mehr wichtig ist.
- Die Analogie: Sie bitten den Praktikanten, ein Leck in der Küche zu reparieren. Bis der Praktikant die Reparatur abgeschlossen hat, wurde die Küche bereits renoviert, und das Leck ist weg, oder jemand anderes hat es bereits mit einer besseren Methode behoben.
- Was passierte: Das Problem, das der Roboter behob, hatte eine niedrige Priorität, das Problem wurde bereits von jemand anderem gelöst oder der Roboter war so lange inaktiv, dass das Projekt bereits weitergezogen ist, ohne auf ihn zu warten.
Die „Kosten“ des Fehlers
Das Papier maß auch, wie viel „Chaos“ die Roboter verursachten, bevor sie abgelehnt wurden.
- Code Churn: Dies ist ein eleganter Weg zu sagen: „Wie viel Code geschrieben und dann wieder gelöscht wurde.“ Die Forscher fanden heraus, dass abgelehnte Korrekturen im Median zwischen 81 und 293 Zeilen Code umfassten. Das ist viel Tipparbeit für einen Fehler!
- Kommentare: Menschen mussten im Durchschnitt 1 bis 4,5 Kommentare schreiben, um zu erklären, warum die Korrektur schlecht war. Da fast die Hälfte aller Roboter-Fixes abgelehnt wird, bedeutet das, dass die Hälfte aller menschlichen Kommentare, die an diese Roboter geschrieben werden, lediglich daraus besteht, zu sagen: „Nein, das funktioniert nicht.“
Das Fazate: Wie man die Praktikanten besser trainiert
Die Autoren schlagen vor, dass Menschen bessere Anweisungen geben müssen, bevor die Roboter anfangen zu arbeiten, um Zeitverschwendung zu vermeiden. Speziell:
- Geben Sie eine Karte: Sagen Sie dem Roboter genau, wie er das Problem lösen soll und was er nicht tun darf.
- Richten Sie den Test ein: Sagen Sie dem Roboter, wie er seine eigene Arbeit prüfen soll, um sicherzustellen, dass er die Sicherheitstests besteht, bevor er sich dem Chef zeigt.
- Wählen Sie die richtigen Aufgaben: Bitten Sie den Roboter nicht, winzige, unwichtige Bugs zu beheben, die die Zeit der menschlichen Überprüfung nicht wert sind.
Kurz gesagt: KI-Agenten sind leistungsstark, aber im Moment sind sie wie enthusiastische Praktikanten, die sehr klare, spezifische Anweisungen benötigen, um nicht die Zeit und Energie aller zu verschwenden.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.