← Neueste Arbeiten
💻 computer science

SWE-NFI: Studying and Benchmarking Coding Agents for Non-Functional Improvements

Dieses Paper stellt SWE-NFI vor, einen Benchmark bestehend aus 188 realen Aufgaben und 92 ausführbaren Regeln, der darauf ausgelegt ist, Coding-Agenten bei nicht-funktionalen Verbesserungen zu evaluieren, wobei aufgezeigt wird, dass Agenten zwar eine hohe funktionale Korrektheit erreichen, jedoch bei der Ausführung von verhaltenserhaltenden Code-Optimierungen signifikant hinter menschlichen Entwicklern zurückbleiben.

Ursprüngliche Autoren: Pengyu Xue, He Yang Yuan, Xin Wang, Junkai Chen, Haonan Zhang, Boyuan Chen, Zishuo Ding, Zhenhao Li, Weiyi Shang

Veröffentlicht 2026-07-31
📖 4 Min. Lesezeit☕ Kaffeepausen-Lektüre

Ursprüngliche Autoren: Pengyu Xue, He Yang Yuan, Xin Wang, Junkai Chen, Haonan Zhang, Boyuan Chen, Zishuo Ding, Zhenhao Li, Weiyi Shang

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 bringen einem Roboter das Programmieren bei. Lange Zeit war der einzige Weg, zu testen, ob der Roboter gute Arbeit leistete, die Frage: „Funktioniert das Programm?“ Wenn der Roboter einen Taschenrechner gebaut hatte, der Zahlen korrekt addierte, bekam er einen goldenen Stern. Aber in der realen Welt ist das Schreiben von Software wie das Bauen eines Hauses. Nur weil das Dach nicht leckt und die Türen aufgehen, heißt das noch lange nicht, dass das Haus ein Ort zum Wohlfühlen ist. Vielleicht ist die Verkabelung hinter den Wänden ein Kabelsalat, die Farbe blättert ab oder die Anweisungen zur Benutzung des Lichtschalters sind mit unsichtbarer Tinte geschrieben. Dies sind die „nicht-funktionalen“ Teile eines Hauses: wie leicht es zu reparieren ist, wie sicher es ist und wie schön es aussieht.

Vor kurzem sind intelligente Computerprogramme namens „Coding Agents“ sehr gut darin geworden, die Grundstruktur von Software zu bauen. Sie können Fehler beheben und neue Funktionen hinzufügen. Aber niemand wusste wirklich, ob diese Agenten auch die unordentliche, langweilige, aber super wichtige Arbeit leisten könnten, den Code aufzuräumen, die Verkabelung zu organisieren und klare Anweisungen zu schreiben, ohne etwas zu beschädigen, das bereits funktionierte. Das war die Frage, die ein Forscherteam aus Universitäten in Kanada, China und Singapur beantworten wollte. Sie wollten sehen, ob diese digitalen Helfer mehr als nur funktionale Baumeister sein können und zu echten Software-Pflegern werden können.

Um dies herauszufinden, entwickelten die Forscher einen neuen Test namens SWE-NFI. Betrachten Sie diesen Test als eine riesige, automatisierte Checkliste eines Inspektors. Anstatt nur zu prüfen, ob ein Programm läuft, enthält die Checkliste 92 spezifische Regeln darüber, wie „gut“ der Code aussieht und sich anfühlt. Diese Regeln prüfen Dinge wie: „Hast du eine klare Erklärung geschrieben, was diese Funktion macht?“ (Dokumentation), „Hast du Fehler sicher abgefangen, damit das Programm nicht abstürzt?“ (Fehlerbehandlung) und „Hast du moderne Werkzeuge anstelle von alten, rostigen verwendet?“ (Library Constraints).

Die Forscher bauten diesen Test mit 188 realen Beispielen auf, die aus tatsächlichen Softwareprojekten stammen, die Menschen bereits behoben hatten. Sie nahmen die „Vorher“-Version des Codes, gaben sie verschiedenen Coding Agents und baten sie, den Code zu verbessern, ohne dabei die eigentliche Funktion zu verändern. Dann nutzten sie ihre 92-Regeln-Checkliste, um die Agenten zu bewerten. Sie hatten auch einen „menschlichen Referenzwert“, der angibt, wie gut ein echter menschlicher Entwickler denselben Code in der realen Welt verbessert hat.

Die Ergebnisse waren eine kleine Realitätsprüfung. Die besten Coding Agents waren tatsächlich recht gut darin, sicherzustellen, dass der Code weiterhin funktionierte (sie erreichten eine Erfolgsquote von 70,0 % bei der funktionalen Korrektheit). Doch wenn es darum ging, den Code in den Arten besser zu machen, die für Menschen wichtig sind, hatten die Agenten Schwierigkeiten. Sie blieben hinter menschlichen Entwicklern in fast jeder Kategorie zurück.

Die größte Lücke lag in den „Logikmustern“, was so etwas wie die strukturelle Integrität des Codes ist. Menschen verbesserten diesen Bereich um einen Durchschnittswert von 1,5, während die besten Coding Agents nur zwischen 0,0 und 1,3 erreichten. Es ist, als könnten die Roboter eine stabile Wand bauen, aber sie könnten nicht herausfinden, wie sie die Ziegel perfekt ausrichten oder wie sie einen schönen Torbogen hinzufügen.

Die Studie fand auch einige interessante Besonderheiten:

  • Eine Datei vs. Viele: Die Agenten waren ganz gut darin, eine einzelne Datei zu korrigieren, aber wenn sie Änderungen über mehrere Dateien gleichzeitig koordinieren mussten (wie das Reparieren der Verkabelung in der Küche und im Wohnzimmer zur gleichen Zeit), wurden sie viel schlechter.
  • Kosten vs. Qualität: Die Forscher prüften, wie viel „Treibstoff“ (Rechenzeit und Daten-Token) die Agenten verbrauchten. Sie fanden heraus, dass das Ausgeben von mehr Geld oder Zeit nicht immer zu besseren Ergebnissen führte. Ein Agent verbrauchte 100-mal mehr Ressourcen als ein anderer, brachte aber keine signifikant besseren Code-Verbesserungen hervor.
  • Konsistenz: Sobald ein Agent es geschafft hatte, Code zu schreiben, der tatsächlich funktionierte, war er recht konsistent darin, diese kleinen Verbesserungen vorzunehmen. Das eigentliche Problem war einfach, den Code überhaupt zum Laufen zu bringen.

Kurz gesagt deutet das Paper darauf hin, dass unsere Programmier-Roboter zwar sehr gut im „Was“ sind (Dinge zum Laufen bringen), sie aber beim „Wie“ (wie man Software wartbar, sicher und sauber macht) noch einen weiten Weg vor sich haben. Sie sind gute Lehrlinge, die Anweisungen befolgen können, aber sie haben noch nicht ganz die Kunst des Meisterhandwerkers erlernt, der weiß, wie man die Werkstatt aufräumt. Die Forscher hoffen, dass wir mit dieser neuen, strengen Checkliste die nächste Generation von Coding Agents lehren können, Software nicht nur zu bauen, sondern sie auch zu pflegen.

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.

Digest testen →