RepoZero: Can LLMs Generate a Code Repository from Scratch?
Dieser Beitrag stellt RepoZero vor, den ersten Benchmark für die vollständig automatisierte, ausführungsbasierte Verifizierung von LLMs, die vollständige Software-Repositories ausschließlich auf Basis von API-Spezifikationen von Grund auf generieren, sowie das Agentic Code-Test Evolution (ACE)-Framework und zeigt auf, dass selbst fortschrittlichste Agenten bei dieser komplexen Aufgabe kaum hohe Erfolgsquoten erzielen.
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
Die große Idee: Kann eine KI ein Haus aus einem Bauplan bauen?
Stellen Sie sich einen sehr intelligenten Roboter-Assistenten (eine KI) vor, der hervorragend darin ist, einen undichten Wasserhahn zu reparieren oder eine einzelne Wand zu streichen. Aber jetzt stellen Sie ihm eine viel schwierigere Frage: „Kannst du ein ganzes Haus von Grund auf neu bauen, nur mit einer Liste von Anweisungen, ohne auf die ursprünglichen Baupläne oder das fertige Haus zu schauen?"
Dieses Papier, RepoZero, stellt genau diese Frage, nur geht es dabei nicht um Häuser, sondern um Software-Code-Repositories (eine Sammlung von Dateien, die ein Softwareprogramm ausmachen).
Das Problem: Die Falle des „Fake It Till You Make It"
Zuvor versuchten Forscher, diese KI-Roboter zu testen, indem sie sie baten, kleine Fehler zu beheben oder einzelne Dateien zu schreiben. Aber wenn es darum geht, ein ganzes Programm von Grund auf neu zu bauen, ist es schwer zu sagen, ob die KI tatsächlich verstanden hat, wie man es baut, oder ob sie die Antwort einfach aus ihren Trainingsdaten auswendig gelernt hat (wie ein Schüler, der die Antworten im Lehrbuch auswendig gelernt hat, statt die Mathematik zu verstehen).
Die meisten bestehenden Tests verlassen sich darauf, dass Menschen oder andere KIs den Code lesen und sagen: „Sieht gut aus!" Das ist wie ein Lehrer, der einen Mathe-Test nur bewertet, indem er einen flüchtigen Blick auf die Endergebnisse wirft, ohne die Rechenwege zu prüfen. Es ist leicht zu betrügen, und es ist nicht sehr zuverlässig.
Die Lösung: Die „RepoZero"-Herausforderung
Die Autoren haben einen neuen, extrem schwierigen Test namens RepoZero entwickelt. So funktioniert er, unter Verwendung einer Koch-Analogie:
- Das Originalgericht (Die Quelle): Stellen Sie sich vor, ein berühmter Koch hat ein geheimes Rezept für einen komplexen Kuchen. Wir wissen genau, wie er schmeckt und wie er sich verhält.
- Die Herausforderung: Wir geben dem KI-Roboter eine Liste von Zutaten und eine Beschreibung dessen, was der Kuchen tun soll (z. B. „Er muss beim Erhitzen aufgehen", „Er muss süß schmecken").
- Der Twist (Sprachwechsel): Der Roboter darf das Originalrezept nicht verwenden. Schlimmer noch: Er muss den Kuchen in einer komplett anderen Küche mit anderen Werkzeugen backen.
- Wenn der Originalkuchen in einer Python-Küche gebacken wurde, muss der Roboter ihn in einer JavaScript-Küche bauen.
- Wenn das Original in C++ war, muss der Roboter ihn in Rust bauen.
- Warum? Dies verhindert, dass der Roboter das Rezept einfach kopiert. Es zwingt den Roboter, die Logik wirklich zu verstehen und sie von Grund auf neu zu bauen.
- Der Geschmackstest (Die Verifizierung): Der Roboter baut seinen eigenen Kuchen. Dann probieren wir beide Kuchen nebeneinander. Wenn der Kuchen des Roboters sich exakt genauso verhält wie der Originalkuchen (gleiches Aufgehen, gleicher Geschmack, gleiche Konsistenz), besteht er den Test. Wenn er auch nur geringfügig anders ist, fällt er durch.
Das „ACE"-Rahmenwerk: Die Selbstkorrekturschleife des Roboters
Das Papier führt auch eine neue Methode ein, mit der der Roboter während der Arbeit lernt, namens ACE (Agentic Code-Test Evolution).
Stellen Sie sich dies wie eine Probephase vor einem großen Spiel vor:
- Anstatt nur zu versuchen, das Haus einmal zu bauen und auf das Beste zu hoffen, baut der Roboter einen kleinen Teil und testet ihn sofort.
- Wenn der Test fehlschlägt (z. B. „Die Tür öffnet sich nicht"), erkennt der Roboter den Fehler, repariert die Tür und testet erneut.
- Er wiederholt diesen Zyklus: Bauen -> Testen -> Reparieren -> Bauen.
- Das Papier fand heraus, dass Roboter, die diese „Probephase" nutzten, deutlich besser darin waren, das Endprodukt zu bauen, als diejenigen, die es einfach auf einen Schlag zu bauen versuchten.
Was haben sie herausgefunden?
Die Ergebnisse waren überraschend und ein wenig ernüchternd:
- Selbst die „klügsten" Roboter haben Schwierigkeiten: Die fortschrittlichsten verfügbaren KI-Modelle heute (wie Claude, DeepSeek und Kimi) konnten das vollständige Software-„Haus" nur in etwa 30 % bis 55 % der Fälle erfolgreich bauen.
- Die Lücke ist riesig: Während diese KIs erstaunlich gut darin sind, einzelne Codezeilen zu schreiben, sind sie noch weit davon entfernt, komplexe, funktionierende Softwaresysteme autonom von Grund auf neu zu bauen.
- Selbstprüfung ist der Schlüssel: Die Roboter, die die „ACE"-Schleife nutzten (die ihre eigene Arbeit testeten und reparierten), schnitten deutlich besser ab. Dies deutet darauf hin, dass KI, um zu einem echten Software-Ingenieur zu werden, besser darin werden muss, ihre eigene Arbeit zu prüfen, anstatt nur zu raten.
Zusammenfassung
RepoZero ist ein neuer, strenger Fitnessraum für KI-Roboter. Er zwingt sie, komplexe Software in einer anderen Sprache neu zu bauen, um zu beweisen, dass sie nicht einfach durch Auswendiglernen von Antworten betrügen. Der Test zeigt, dass KI zwar bei kleinen Aufgaben immer besser wird, aber noch einen langen Weg vor sich hat, bevor sie eigenständig ganze Softwareprojekte bauen kann. Das Papier schlägt vor, dass der Schlüssel dazu darin besteht, KI beizubringen, ihre eigenen Fehler zu testen und zu beheben, während sie baut.
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.