SWE-bench (benchmark) (DE)

From Systems analysis Wiki
Jump to navigation Jump to search

SWE-bench ist ein umfangreicher Benchmark (ein Satz von Testaufgaben) zur Bewertung der Fähigkeiten von großen Sprachmodellen (LLM) im Bereich der automatisierten Softwareentwicklung und des Software-Debuggings[1]. Er wurde von einer Gruppe von Forschern der Princeton University und anderen Organisationen entwickelt und auf der Konferenz ICLR 2024 vorgestellt[2]. SWE-bench unterscheidet sich von traditionellen Code-Benchmarks durch die Verwendung von realen Aufgaben aus der Entwicklungspraxis: Der Testdatensatz umfasst 2294 Aufgaben, die auf geschlossenen Issues und den dazugehörigen Pull-Requests aus 12 populären Open-Source-Python-Repositories auf GitHub basieren[1][3]. Jede Aufgabe enthält eine Problembeschreibung (Issue) und gewährt dem Modell Zugriff auf den Quellcode des entsprechenden Projekts; das Ziel des Modells ist es, minimale Änderungen an der Codebasis (einen Patch) zu generieren, die das beschriebene Problem beheben[1][3].

Methodik und Besonderheiten der Bewertung

SWE-bench simuliert den realen Prozess der Softwareentwicklung. Für jede Aufgabe wird dem Modell der Text des ursprünglichen GitHub-Issues (Problembeschreibung) und ein Snapshot des Repository-Codes in der Version vor der Korrektur zur Verfügung gestellt[4]. Das Modell (oder ein auf dem Modell basierender Agent) muss den Quellcode analysieren, die Art des Fehlers oder der erforderlichen Änderung verstehen und Korrekturen in den relevanten Codedateien vornehmen, um das Problem zu beheben[4][5]. Die Validierung der Lösung ist automatisiert: Jede Aufgabe ist mit realen Modultests aus dem Pull-Request verknüpft, der das Problem behoben hat. Darunter befinden sich sowohl „Fail-to-Pass“-Tests (Tests, die auf dem ursprünglichen Code fehlschlagen, aber nach Anwendung der korrekten Lösung erfolgreich sein müssen) als auch Regressionstests (Pass-to-Pass), die von Anfang an erfolgreich sind und es auch nach den Änderungen bleiben müssen[3]. Der vom Modell vorgeschlagene Patch wird auf den Code angewendet, woraufhin die entsprechenden Tests ausgeführt werden: Wenn alle Fail-to-Pass-Tests erfolgreich werden und die Pass-to-Pass-Tests nicht fehlschlagen, gilt die Aufgabe als korrekt gelöst[3]. Dieser Bewertungsansatz prüft nicht nur die Fähigkeit des Modells, syntaktisch korrekten Code zu generieren, sondern auch, ob es die gestellte Aufgabe tatsächlich lösen kann, ohne die bestehende Funktionalität zu beeinträchtigen. Dabei muss das Modell mit einem großen Kontext (einem ganzen Code-Repository) arbeiten, die Zusammenhänge zwischen den Komponenten verstehen und Änderungen in mehreren Dateien gleichzeitig koordinieren[1] – all dies ist wesentlich komplexer als typische Aufgaben, bei denen eine Funktion nach Beschreibung geschrieben werden soll.

An den Bewertungen von SWE-bench nehmen in der Regel nicht die LLMs selbst teil, sondern Agentensysteme, die das Modell mit Hilfswerkzeugen (z. B. zur Dateinavigation, Codeausführung, Nutzung eines Debuggers usw.) ausstatten[4][6]. Ein solches System imitiert den realen Entwicklungszyklus: Das Modell kann nacheinander Dateien durchsehen, Tests oder Skripte ausführen und die Lösung schrittweise verbessern, bis ein erfolgreiches Ergebnis erzielt wird[4]. Bezeichnenderweise hängt die Effektivität bei der Lösung von SWE-bench-Aufgaben stark von der Qualität dieses „Scaffoldings“ (der Agenteninfrastruktur) ab: Dieselben Basismodelle können unterschiedliche Ergebnisse erzielen, je nachdem, wie die Interaktion mit dem Repository und den Werkzeugen organisiert ist[4][7]. Somit dient SWE-bench als Maßstab für die kombinierten Fähigkeiten des Modells und seiner Lösungsstrategie und nähert die Bewertung den realen Arbeitsbedingungen eines autonomen KI-Entwicklers an[4][7].

Varianten des Datensatzes

Die Autoren von SWE-bench und die Community haben später mehrere abgeleitete Datensätze für verschiedene Bewertungszwecke vorgestellt:

  • SWE-bench Lite – eine vereinfachte Version des Benchmarks, die ~300 Aufgaben umfasst[8], die so ausgewählt wurden, dass die Komplexität und der Rechenaufwand für das Testen von Modellen reduziert werden. Diese Teilmenge wurde für schnelle Experimente mit Modellen erstellt und schließt die aufwändigsten Validierungen aus, während die Repräsentativität der Hauptprobleme erhalten bleibt[7]. Im Wesentlichen enthält Lite einfachere und kürzere Aufgaben zur Fehlerbehebung, und die Ergebnisse der Modelle auf Lite sind in der Regel höher als auf dem vollständigen Satz, da die schwierigsten Fälle ausgeschlossen sind[7].
  • SWE-bench Verified – eine durch manuelle Überprüfung gefilterte Teilmenge, die im August 2024 in Zusammenarbeit mit OpenAI vorgestellt wurde[7]. Die Forscher beauftragten 93 professionelle Entwickler damit, jede Aufgabe des ursprünglichen Benchmarks zu analysieren, und schlossen Fälle aus, in denen die ursprüngliche Problembeschreibung zu unklar war oder das von den Tests geforderte Verhalten nicht explizit aus der Aufgabenstellung hervorging[7]. Außerdem wurden Aufgaben entfernt, die in der Praxis aufgrund von Umgebungsproblemen oder fehlerhaften Tests nicht lösbar waren[7]. Das Ergebnis ist ein Satz von 500 Aufgaben, die garantiert lösbar und korrekt formuliert sind[7]. SWE-bench Verified soll eine zuverlässigere Bewertung der Modellfähigkeiten ermöglichen, indem Fälle eliminiert werden, in denen selbst eine korrekte Lösung aufgrund unzureichender Tests oder Aufgabenstellungen abgelehnt wird[7]. Dieser Datensatz hat die ursprünglichen Testauswahlen von SWE-bench (vollständig und Lite) als primären Referenzpunkt für den Vergleich von Modellen abgelöst[7]. Zusätzlich wurden mit Verified auch Schwierigkeitsgrade für die Aufgaben veröffentlicht (z. B. wurden „leichte“ Aufgaben, die von einem Menschen in <15 Minuten gelöst werden können, und „schwierige“, die >1 Stunde erfordern, unterschieden)[7], sowie ein neues Tool-Framework auf Basis von Docker für stabilere und reproduzierbarere Testläufe herausgegeben[7].
  • SWE-bench Multimodal – eine im Januar 2025 vorgestellte Erweiterung des Benchmarks, die Aufgaben enthält, bei denen die Problembeschreibung nicht nur Text, sondern auch visuelle Elemente (z. B. Bilder der Benutzeroberfläche, Screenshots von Fehlern usw.) umfasst[8]. Dieser Datensatz (517 Aufgaben[8]) testet die Fähigkeit von Modellen und Agenten, visuelle Informationen bei der Lösung von Programmieraufgaben zu verstehen und zu nutzen. Die Bewertung auf dem multimodalen Datensatz ist ähnlich organisiert, erfordert jedoch vom Modell multimodale Fähigkeiten (z. B. Texterkennung in Bildern). Der Testteil von SWE-bench Multimodal wird privat (versteckt) gehalten, um ein Overfitting auf bekannte Lösungen zu verhindern; Entwickler können ihre Lösungen an ein entferntes Leaderboard senden, um ihre Modelle anhand dieser Aufgaben bewerten zu lassen[2].

Zusätzlich zu diesen Hauptvarianten hat sich um SWE-bench ein Ökosystem von Werkzeugen gebildet: SWE-agent, ein Open-Source-Software-„Agent“, der bei Benchmark-Aufgaben führende Ergebnisse zeigt[2]; SWE-smith, ein Framework zum Trainieren eigener Entwicklermodelle; SWE-REX, ein Werkzeug zur erweiterten Extraktion und Verarbeitung von Informationen aus Repositories, und andere. Diese Projekte zielen darauf ab, die Reproduzierbarkeit von Ergebnissen zu vereinfachen und die Forschung im Bereich autonomer Programmiersysteme voranzutreiben.

Ergebnisse und Fortschritte der Modelle

Bei seiner ersten Veröffentlichung zeigte SWE-bench eine erhebliche Lücke zwischen modernen LLMs und den Fähigkeiten erfahrener Programmierer auf. Die Autoren berichteten, dass selbst die leistungsstärksten Modelle von Anfang 2023 nur einen einstelligen Prozentsatz der Aufgaben bewältigen konnten: So löste beispielsweise das Modell Claude 2 von Anthropic weniger als 2 % der Aufgaben des vollständigen Datensatzes erfolgreich[1]. Ein von den Benchmark-Autoren speziell trainiertes Modell (basierend auf LLaMA, genannt SWE-Llama) und proprietäre Modelle wie GPT-4 konnten hauptsächlich nur die einfachsten Fehler beheben[1]. Diese niedrigen Anfangsmetriken unterstrichen die Komplexität von SWE-bench und dienten als Anreiz für die Entwicklung neuer Ansätze.

Im Laufe des Jahres 2024 verbesserten sich die Ergebnisse erheblich, da fortschrittlichere Modelle und Agentensysteme aufkamen. Forscher aus Princeton stellten das SWE-agent-System vor, das GPT-4 mit Codesuche, Planung und anderen Werkzeugen kombiniert; es erreichte etwa 12,5 % gelöster Aufgaben auf dem vollständigen Datensatz und setzte damit einen neuen Maßstab für akademische Modelle[5]. Bis Mitte 2024 erreichten die besten Lösungen (einschließlich proprietärer Systeme) auf dem offiziellen SWE-bench-Leaderboard etwa 20 % erfolgreiche Lösungen auf dem vollständigen Benchmark und bis zu 43 % auf dem vereinfachten Lite-Datensatz[7]. Dieser Anstieg ist auf die Verbesserung der Modelle (z. B. das Erscheinen von GPT-4, Claude 2 und 3) und insbesondere auf die Entwicklung des „Scaffoldings“ zurückzuführen – externer Strategien, die es dem Modell ermöglichen, eine Aufgabe effektiv in Schritte zu zerlegen, Dokumentation zu lesen, Debugging-Sitzungen durchzuführen usw.[7].

Nach der Einführung des Verified-Datensatzes (bereinigt um fehlerhafte Aufgaben) Ende 2024 stieg die messbare Leistung noch weiter an. Das GPT-4-Modell (Variante GPT-4o) zeigte sofort etwa 33 % erfolgreiche Lösungen auf Verified im Vergleich zu zuvor ~16 % auf dem ursprünglichen Datensatz[7]. Die besten Open-Source-Agenten-Frameworks (z. B. Agentless) verdoppelten ihr Ergebnis von ~16 % auf 32 % auf Verified[7]. Dies bestätigte die Annahme, dass der ursprüngliche Benchmark die Leistung aufgrund unlösbarer Fälle etwas unterschätzte[7]. Gleichzeitig war die Verbesserung der Ergebnisse auf Verified im Vergleich zu Lite nicht so dramatisch (die besten Modelle erreichten bereits ~43 % auf Lite), was logisch ist: Lite wählte von Anfang an einfachere Beispiele aus, während Verified zwar unlösbare, aber auch komplexe Aufgaben beibehielt[7]. Es ist wichtig zu beachten, dass der Leistungsanstieg beim Übergang zu Verified in allen Schwierigkeitskategorien stattfand und nicht nur durch die Beseitigung der schwierigsten Aufgaben – die Filterung entfernte also auch versteckt unlösbare Fälle unter den relativ einfachen Aufgaben[7].

Anfang 2025 zeigten führende KI-Systeme auf dem verifizierten Datensatz bereits eine Leistung, die der menschlichen nahekommt, obwohl die 100-%-Marke noch in weiter Ferne liegt. Im Januar 2025 gab Anthropic bekannt, dass ihr neues Modell Claude 3.5 Sonnet in Verbindung mit einem verbesserten Agenten 49 % der SWE-bench-Verified-Aufgaben gelöst hat[4], womit es vorübergehend den ersten Platz einnahm. Große Technologieunternehmen und unabhängige Teams nehmen ebenfalls aktiv an inoffiziellen Wettbewerben auf diesem Benchmark teil. So entwickelte das Team von CodeStory einen multimodalen Ansatz mit Brute-Force-Varianten („Midwit Agent“), der einen Rekord von 62,2 % gelösten Aufgaben auf Verified erreichte (Stand Anfang 2025)[5][9]. Es wurde angemerkt, dass hierfür die Rechenressourcen während der Inferenzphase erheblich erhöht werden mussten (sogenanntes „Inference Time Scaling“), indem viele Lösungsversuche gestartet und das beste Ergebnis ausgewählt wurde[5]. Im Gegenzug wurde in Materialien von OpenAI ein experimentelles System namens GPT-03 erwähnt, dem es bei ausreichender Skalierung der Rechenleistung angeblich gelang, die 70 %-Marke auf dem Verified-Datensatz zu überschreiten (inoffizielle Daten)[5]. Eine unabhängige Überprüfung dieser Ergebnisse fehlt jedoch, und ein so hoher Wert bleibt eher ein Orientierungspunkt für zukünftige Forschungen als eine erreichte Messlatte.

Laut einer Studie von Microsoft Research (2025) überschreiten selbst die neuesten Modelle, die mit Debugging-Werkzeugen ausgestattet sind, die 50 %-Marke für erfolgreiche Fehlerbehebungen aus SWE-bench Lite noch nicht[6]. In diesem Test schnitt Claude 3.7 Sonnet mit ~48,4 % gelösten Aufgaben am besten ab, während ein System auf Basis von GPT-4 (OpenAI 01) etwa 30 % und das leichtere Modell 03-mini nur 22 % löste[6]. Diese Ergebnisse unterstreichen, dass moderne KIs trotz schneller Fortschritte erfahrenen Programmierern immer noch unterlegen sind: Für einen Menschen stellt die Lösung solcher Aufgaben (bei entsprechendem Codeverständnis) keine Schwierigkeit dar, während ein Modell oft nicht in der Lage ist, Debugging-Werkzeuge effektiv anzuwenden, oder unter einem Mangel an Trainingsdaten leidet, die den mehrstufigen Prozess der Fehlerbehebung abbilden[6].

Einschränkungen und Perspektiven

SWE-bench hat sich zu einer standardisierten Plattform für die Bewertung intelligenter Code-Agenten entwickelt, doch Studien haben auch eine Reihe von Einschränkungen aufgedeckt. Das Hauptproblem ist die Unvollständigkeit der Tests: Der Satz von Verifizierungstests für jede Aufgabe wird aus einem spezifischen Pull-Request entnommen und umfasst in der Regel nur die Unit-Tests, die bei der Fehlerbehebung geändert wurden[3]. Wie eine Analyse einer Gruppe von Wissenschaftlern der Zhejiang University und der Universität Stuttgart (Wang et al. 2025) zeigte, kann die Vernachlässigung der übrigen Tests des Projekts die Fehlerhaftigkeit einiger Lösungen verschleiern[3]. Eine erneute Überprüfung der Lösungen mit dem vollständigen Testsatz des Repositories ergab, dass im Durchschnitt 7,8 % der Patches, die in SWE-bench als erfolgreich markiert wurden, tatsächlich andere Tests im Projekt nicht bestehen[3]. Dies führt zu einer Überschätzung der Metrik „gelöste Aufgaben“ um etwa 4–6 Prozentpunkte[3]. Ein noch subtilerer Fall tritt auf, wenn der generierte Patch alle ursprünglichen Tests besteht, aber nicht äquivalent zur Lösung des Entwicklers ist und das Programmverhalten anders als erwartet ändert. Mithilfe der Generierung zusätzlicher Testfälle (PatchDiff-Methode) stellten die Forscher fest, dass sich fast 30 % der von der KI vorgeschlagenen Korrekturen anders verhalten als die Referenz-Patches und etwa 11 % eindeutig fehlerhaft sind, obwohl sie von den bestehenden Tests nicht erkannt werden[3]. Daher könnten die tatsächlichen Fähigkeiten der Modelle überschätzt werden, wenn man sich nur auf das Bestehen einer begrenzten Anzahl von Tests verlässt. Die Entwickler von SWE-bench erkennen diese Schwachstelle an und betonen, dass der Benchmark sich im Laufe der Zeit weiterentwickeln muss: Die Testabdeckung sollte verbessert, Überprüfungen auf unerwünschte Nebenwirkungen hinzugefügt und die Bandbreite der Aufgabentypen erweitert werden[7]. Die Entwicklung solcher Bewertungsinstrumente ist ein wichtiger Teil der Vorbereitung auf das Aufkommen immer autonomerer und leistungsfähigerer KI-Entwickler, und die Erfahrungen mit SWE-bench zeigen die Notwendigkeit eines sorgfältigen Umgangs mit der Qualität von Benchmarks[7].

Obwohl SWE-bench nur ein statischer Aufgabensatz ist und nicht alle Aspekte der Programmierung abdeckt, hat es sich bereits als De-facto-Standard für die vergleichende Analyse von Code-Modellen etabliert[3]. Es wird in wissenschaftlichen Arbeiten zur Demonstration neuer Methoden und Algorithmen sowie von industriellen Forschungsgruppen zur Bewertung des Potenzials von Systemen zur Automatisierung der Programmierung verwendet[3]. Der stetige Anstieg der Ergebnisse auf SWE-bench in den Jahren 2023-2025 zeigt eindrucksvoll die rasche Verbesserung der Fähigkeiten von LLMs bei der Lösung praktischer Entwicklungsaufgaben. Gleichzeitig dient es als Barometer für die Komplexität: Selbst wenn sie sich der Marke von 50–60 % gelöster Aufgaben nähern, sind die Modelle noch weit davon entfernt, den Menschen vollständig zu ersetzen, insbesondere unter Bedingungen begrenzter Informationen und der Notwendigkeit eines feinen Verständnisses der Anforderungen[4][7]. Dennoch schreitet der Fortschritt unaufhaltsam voran – dank Initiativen wie SWE-bench sieht die Community ihre Ziele und Grenzen klarer und bewegt sich weiter auf die Schaffung eines vollwertigen KI-Entwicklers zu, der in der Lage ist, Programmcode autonom auf dem Niveau eines menschlichen Experten zu verstehen und zu korrigieren[4][7].

Literatur

  • Liang, P. et al. (2022). Holistic Evaluation of Language Models (HELM). arXiv:2211.09110.
  • Chang, Y. et al. (2023). A Survey on Evaluation of Large Language Models. arXiv:2307.03109.
  • Ni, S. et al. (2025). A Survey on Large Language Model Benchmarks. arXiv:2508.15361.
  • Biderman, S. et al. (2024). The Language Model Evaluation Harness (lm-eval): Guidance and Lessons Learned. arXiv:2405.14782.
  • Kiela, D. et al. (2021). Dynabench: Rethinking Benchmarking in NLP. arXiv:2104.14337.
  • Ma, Z. et al. (2021). Dynaboard: An Evaluation‑As‑A‑Service Platform for Holistic Next‑Generation Benchmarking. arXiv:2106.06052.
  • Goel, K. et al. (2021). Robustness Gym: Unifying the NLP Evaluation Landscape. arXiv:2101.04840.
  • Xu, C. et al. (2024). Benchmark Data Contamination of Large Language Models: A Survey. arXiv:2406.04244.
  • Liu, S. et al. (2025). A Comprehensive Survey on Safety Evaluation of LLMs. arXiv:2506.11094.
  • Chiang, W.-L. et al. (2024). Chatbot Arena: An Open Platform for Evaluating LLMs by Human Preference. arXiv:2403.04132.
  • Boubdir, M. et al. (2023). Elo Uncovered: Robustness and Best Practices in Language Model Evaluation. arXiv:2311.17295.
  • Huang, L. et al. (2023). A Survey on Hallucination in Large Language Models. arXiv:2311.05232.

Einzelnachweise

  1. 1.0 1.1 1.2 1.3 1.4 1.5 Jimenez, Carlos E. et al. «SWE-bench: Can Language Models Resolve Real-World GitHub Issues?». arXiv. [1]
  2. 2.0 2.1 2.2 «SWE-bench/SWE-bench». GitHub. [2]
  3. 3.00 3.01 3.02 3.03 3.04 3.05 3.06 3.07 3.08 3.09 3.10 Wang, Shuyang et al. «Are "Solved Issues" in SWE-bench Really Solved Correctly? An Empirical Study». arXiv. [3]
  4. 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 «Claude SWE-Bench Performance». Anthropic. [4]
  5. 5.0 5.1 5.2 5.3 5.4 Jain, Sulbha. «SWE Benchmark: LLM evaluation in Software Engineering Setting». Medium. [5]
  6. 6.0 6.1 6.2 6.3 Hatmaker, Taylor. «AI models still struggle to debug software, Microsoft study shows». TechCrunch. [6]
  7. 7.00 7.01 7.02 7.03 7.04 7.05 7.06 7.07 7.08 7.09 7.10 7.11 7.12 7.13 7.14 7.15 7.16 7.17 7.18 7.19 7.20 7.21 7.22 «Introducing SWE-bench Verified». OpenAI. [7]
  8. 8.0 8.1 8.2 «SWE-bench Leaderboard». [8]
  9. «SOTA on swebench-verified: relearning the bitter lesson». Hacker News (Y Combinator). [9]