SWE-Edit: Rethinking Code Editing for Efficient SWE-Agent
SWE-Edit verbessert die Leistung von Software-Engineering-Agenten, indem es die Codeinspektion und -modifikation in spezialisierte Subagenten entkoppelt und ein adaptives, mehrformatiges Bearbeitungsmodell einführt, das mit GRPO trainiert wurde, was insgesamt die Erfolgsraten bei der Aufgabenerledigung steigert und gleichzeitig die Inferenzkosten erheblich senkt.
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 sind ein Meisterarchitekt (der Hauptagent), der versucht, ein riesiges, komplexes Gebäude (eine Software-Codebasis) zu reparieren. Ihr Ziel ist es, ein bestimmtes Leck zu reparieren oder eine schwache Wand zu verstärken.
Bei der alten Methode musste der Architekt drei Aufgaben gleichzeitig erledigen:
- Suchen: Durch jeden Raum gehen, jeden Schrank öffnen, um das Leck zu finden.
- Planen: Genau entscheiden, wie es repariert werden soll.
- Ausführen: Die Reparaturanweisungen in einer sehr strengen, pingeligen Sprache schreiben (wie bei einem Roboter, der nur exakte Maße versteht).
Das Problem? Während der Architekt durch das Gebäude ging und nach Hinweisen suchte, füllte er seinen Geist mit irrelevanten Details (alte Quittungen, Staubwischen, zufällige Möbel). Bis er versuchte, die Reparaturanweisungen zu schreiben, war sein Geist so mit „Lärm" überfüllt, dass er Fehler machte. Außerdem bedeutete die strenge Sprache, die er verwenden musste, dass bei einem einzigen falschen Komma die Reparatur scheiterte.
SWE-Edit ist eine neue Arbeitsweise, die dieses Problem löst, indem sie zwei spezialisierte Assistenten einstellt und einen „sauberen" Arbeitsablauf für den Architekten schafft.
Die zwei neuen Assistenten
1. Der „Betrachter" (Der spezialisierte Kundschafter)
Anstatt dass der Architekt das gesamte Gebäude durchstreift, bittet er den Betrachter um Hilfe.
- Wie es funktioniert: Der Architekt fragt: „Zeig mir die Rohre in der Nähe des Küchenspülbeckens." Der Betrachter geht dorthin, schaut nur die Rohre an und bringt eine saubere, kurze Notiz mit nur den relevanten Details zurück.
- Der Vorteil: Der Geist des Architekten bleibt klar. Er muss nicht durch Tausende von Zeilen irrelevanten Codes waten. Dies spart Zeit und Geld, weil der Architekt keine massive Menge an „Müll"-Informationen verarbeiten muss.
2. Der „Editor" (Der spezialisierte Baumeister)
Sobald der Architekt den Plan hat, schreibt er die Reparaturanweisungen nicht selbst. Er sagt dem Editor: „Ersetze das rostige Rohr durch ein neues Kupferrohr."
- Wie es funktioniert: Der Editor ist ein Spezialist, der genau weiß, wie man die Reparaturanweisungen in der strengen, pingeligen Sprache schreibt, die der Computer erfordert.
- Der Vorteil: Der Architekt kann sich rein darauf konzentrieren, was repariert werden muss (die Logik), während sich der Editor darauf konzentriert, wie es perfekt niedergeschrieben wird (das Format). Dies verhindert, dass der Architekt dumme Formatierungsfehler macht, die zum Scheitern der Reparatur führen.
Der „intelligente Schalter" (Adaptiver Modus)
Die Studie hat zudem entdeckt, dass manchmal eine einfache Reparatur (wie das Austauschen eines einzelnen Wortes) auf die eine Weise am besten erledigt wird, während ein riesiger, komplexer Umbau (wie das Umschreiben eines ganzen Raums) auf eine andere Weise am besten funktioniert.
Früher war das System darauf festgelegt, nur eine Methode zu verwenden (wie der Versuch, ein ganzes Haus zu reparieren, indem man nur einen einzelnen Ziegelstein austauscht). Das neue System lehrt den Editor, intelligent zu sein:
- Wenn die Aufgabe klein ist, verwendet er eine präzise, kostengünstige Methode (Suchen und Ersetzen).
- Wenn die Aufgabe riesig und chaotisch ist, wechselt er zu einer robusten, dateiweiten Methode (Schreibe das Ganze neu).
Es ist wie ein Handwerker, der weiß, wann er einen Schraubenzieher verwenden soll und wann er einen Vorschlaghammer herausholen muss, anstatt zu versuchen, für alles einen Schraubenzieher zu verwenden.
Die Ergebnisse
Durch diese Aufteilung der Aufgabe stellte das Team fest:
- Besserer Erfolg: Das System reparierte mehr Probleme korrekt (etwa 2 % mehr).
- Günstiger: Es kostete deutlich weniger zu betreiben (etwa 18 % weniger), weil das Haupt„Gehirn" nicht so viel Müll-Daten lesen musste.
- Weniger Fehler: Die Reparaturanweisungen wurden fast jedes Mal korrekt formatiert, sodass der Computer sie nicht ablehnte.
Der „Übungstest" (PR-Edit-Benchmark)
Schließlich stellten die Forscher fest, dass das Testen dieser Systeme an den vollständigen, teuren Gebäude-Reparaturen zu lange dauerte und zu viel Geld kostete. Also schufen sie einen Mini-Übungstest (genannt PR-Edit).
Sie stellten fest, dass, wenn ein Editor bei diesem schnellen, günstigen Übungstest gut abschnitt, es fast garantiert war, dass er auch bei der echten, teuren Aufgabe gut abschneiden würde. Das ist wie ein Fahrausbildungstest: Wenn Sie den Parkplatztest bestehen, werden Sie wahrscheinlich auch den Autobahntest bestehen, ohne vorher auf der Autobahn fahren zu müssen, um es herauszufinden.
Kurz gesagt: SWE-Edit verhindert, dass die KI versucht, alles auf einmal zu tun. Es gibt ihr ein sauberes Team von Spezialisten (einen Kundschafter und einen Baumeister) und eine intelligente Art, das richtige Werkzeug für die Aufgabe auszuwählen, was die Software-Reparatur schneller, günstiger und zuverlässiger macht.
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.