Rekursive Selbstverbesserung bei KI-Agenten: Was die Experimente tatsächlich zeigen
Ein genaues Hinsehen auf Gödel-Maschinen, STOP, Gödel-Agenten, SICA, die Darwin-Gödel-Maschine, SEAL und Hyperagenten sowie darauf, wie man beurteilen kann, ob ein selbstmodifizierender Agent tatsächlich verbessert.
Quellen: Can Artificial Intelligence Design a Better Artificial Intelligence?
Es ist inzwischen Routine, einen Programmieragenten zu beauftragen, einen Fehler in der Anwendung zu beheben: Er öffnet Dateien, bearbeitet einige Zeilen und führt die Testsuite aus. Wenn man die Anweisung in „Verbessere die Software, mit der du diese Arbeit erledigst“, ändert, richtet sich das Ziel auf den Agenten selbst – wie er Dateien findet, welche Tools er verwendet, wie er von fehlgeschlagenen Versuchen wiederherstellt und ob die resultierende Version weitere Verbesserungen ermöglicht. Genau diese letzte Frage beschäftigt sich mit der rekursiven Selbstverbesserung (RSI). Dieser Artikel unterscheidet zwischen Selbstmodifikation und echter Selbstverbesserung, geht die wichtigsten Experimente sowie deren Ergebnisse durch und liefert Ihnen eine Reihe von Fragen sowie ein einfaches Experimentendesign, mit dem Sie solche Behauptungen selbst beurteilen können.
Selbstmodifikation, Selbstverbesserung und Rekursion
Das Anregen eines Modells, seine Antwort nochmals zu überprüfen, kann zu einer besseren Antwort führen, macht das Modell aber nicht fähiger für die nächste Aufgabe. Nur diese eine Ausgabe ändert sich. Um klar über den RSI nachdenken zu können, müssen drei Ebenen voneinander getrennt werden:
- Selbstmodifikation: Ein Teil des Systems ändert sich.
- Selbstverbesserung: Diese Veränderung bringt einen messbaren Vorteil.
- Rekursive Selbstverbesserung: Die neue Fähigkeit stärkt genau das System, das später weitere Verbesserungen hervorbringt.
Ein konkreter Fall hilft dabei. Wenn ein Agent besser darin wird, nach Dateien zu suchen, erledigt er Aufgaben leichter – das ist Selbstverbesserung. Wenn dieselbe verbesserte Suchfunktion ihm auch dabei hilft, seine eigene Codebasis zu verstehen und somit besser selbst zu editieren, kehrt der Gewinn in den Verbesserungsprozess zurück – das ist der rekursive Teil.
Auch ist entscheidend, worauf sich „es selbst“ bezieht. Ein eingesetztes KI-System ist selten nur ein Sprachmodell. Das Modell befindet sich innerhalb von Tools, Speicherstrukturen, Betriebsanweisungen und Orchestrierungskodern, und dieses umgebende System kann sich stark verändern, während die Gewichte unverändert bleiben. Die Entwicklung in dieser äußeren Schicht ist dennoch eine Evolution, doch jede Behauptung über Selbstverbesserung muss angeben, welche Schicht sich geändert hat: die Gewichte, der Agentenkod, die Anfragen, die Tools oder das Verbesserungsverfahren selbst.
Die Gödel-Maschine: Den Nutzen vor der Änderung beweisen
Die von Jürgen Schmidhuber vorgeschlagene Gödel-Maschine ist die klassische mathematische Rahmenbildung. Das System darf jeden Teil seines eigenen Software-Code umschreiben, einschließlich des Komponenten, der nach Beweisen sucht, aber nur nachdem es nachgewiesen hat, dass die Umschreibung unter seinen definierten Zielen und Annahmen den erwarteten Nutzen erhöht.
Diese Garantie ist enger, als es klingt. Sie verspricht nicht, dass jede Änderung unter allen Bedingungen in der realen Welt hilft; sie gilt nur im Verhältnis zu den gewählten Axiomen, dem Modell der Umgebung und der Definition der Nutzenfunktion. Die Suche nach einem formalen Beweis dafür, dass eine bestimmte Modifikation vorteilhaft ist, kann zudem rechnerisch sehr schwierig sein.
Daher verfolgen die meisten aktuellen Experimente einen empirischen Ansatz: Anstatt im Voraus zu beweisen, dass eine Änderung gut ist, führen sie das modifizierte System aus und messen seine Leistung. Das ist weitaus praktischer, verlagert aber die Last auf die Bewertung. Die offensichtliche Folgefrage ist, ob das Gemessene tatsächlich die Art von Wachstum ist, die für einen wichtig ist.
STOPP: Verwendung eines Verbesserers an sich selbst
Der Selbstunterrichtete Optimierer (STOP) beginnt mit einem „Verbesserer“, einem Programm, das ein Sprachmodell aufruft, um Verbesserungen für andere Programme vorzuschlagen und deren Qualität zu bewerten. Anschließend wird der Verbesserer auf seinen eigenen Quellcode gerichtet, und die aktualisierte Version wird in der nächsten Runde verwendet, um weitere Verbesserungen zu erzielen.
Die bemerkenswerte Erkenntnis ist, dass sich der Kreislauf bei verschiedenen Modellen nicht auf dieselbe Weise verhält. Bei GPT-4 stieg die durchschnittliche Leistung im Laufe der Iterationen an; bei GPT-3.5 und Mixtral hingegen sank sie. Da das zugrunde liegende Sprachmodell sich nie ändert, betonen die Autoren ausdrücklich, dass ihre Arbeit kein vollständiges RSI darstellt.
Die Lektion für Praktiker ist einfach: Die Wiederholung eines Prozesses garantiert keinen Fortschritt. Eine schwache Verbesserungsmethode, die auf sich selbst angewandt wird, kann genauso leicht bei jeder Durchführung ihre eigenen Fehler verstärken.
Gödel Agent: Die eigene Logik des Agents umschreiben
Gödel Agent ermöglicht es einem Sprachmodell, die eigene Schlussfolgerungslogik sowie den Verhaltenscode des Agents laufend zu ändern. Er wird hinsichtlich Leseverständnis, Mathematik und knowledge-basiertem Fragebeantworten bewertet, wobei die Optimierung anhand eines Validierungssets erfolgt und der resultierende Agent anschließend an einem separaten Testset gemessen wird – das ist die richtige Vorgehensweise, um eine Anpassung an den Test zu vermeiden.
Die in den Schlagzeilen angegebenen Zahlen müssen sorgfältig gelesen werden, da die Varianten unter unterschiedlichen Bedingungen laufen. Bei MGSM weist Meta Agent Search eine Genauigkeit von 53,4 % auf, während die eingeschränkte Gödel-basierte Variante 64,2 % erreicht – dies ist ein vergleichbares Vergleichsergebnis. Die unbeschränkte Gödel-freie Variante erreicht 90,6 %, arbeitet jedoch unter anderen Einschränkungen und sollte daher nicht als nächster Schritt im selben Vergleich dargestellt werden.
Was technisch hervorsticht, ist weniger die Bewertung als vielmehr die Gestaltungsentscheidung: Die Methode, die der Agent zur Problemlösung verwendet, ist selbst zu Software geworden, die durchsucht und verändert werden kann.
SICA: Ein Programmieragent, der seine eigene Codebasis bearbeitet
Ein selbstverbessernder Programmieragent (SICA) macht die Frage konkret. Der Agent modifiziert seinen eigenen Code, und jede neue Version wird danach bewertet, wie gut sie Aufgaben löst, wie lange sie dafür benötigt und was sie kostet.
Anhand von 50 zufällig ausgewählten Aufgaben, die aus SWE-bench Verified stammen und konstant gehalten wurden, stieg die Leistung von 17 % in der ersten Iteration auf einen Höchstwert von 53 % in Iteration 14, während die letzte Iteration bei 51 % lag. Mit anderen Worten war die Verbesserung nicht monoton. Die Autoren schätzen, dass der 15-Iterationen-lange Ablauf etwa 7.000 US-Dollar an API-Nutzungskosten verursacht hat.
Zwei Aspekte mildern die Aussagen in der Überschrift ab. Erstens weisen die Autoren darauf hin, dass eine Fünf-Minuten-Grenze pro Aufgabe die Ausgangswerte möglicherweise gedrückt hat, und der größte Teil des anfänglichen Fortschritts resultierte aus schnelleren Dateibearbeitungstools, die es dem Agenten ermöglichten, innerhalb derselben Zeitgrenze mehr Arbeit zu erledigen. Zweitens wirken die Verbesserungen, die der Agent entdeckte, wie gewöhnliche Werkzeuge: präzise Bearbeitungsvorgänge anstelle des Umschreibens ganzer Dateien sowie das Auffinden von Funktionen und Klassen durch Durchsuchung des analysierten Syntaxbaums des Codes statt durch eine einfache Textsuche.
Das macht das Ergebnis zwar nicht trivial, aber ein Anstieg von 17 % auf 53 % bedeutet nicht, dass die allgemeine Intelligenz des Systems fast verdreifacht wurde. Gemessen wurde lediglich die Leistung bei einer bestimmten Aufgabengruppe unter einer festgelegten Zeitgrenze, und der größte Teil des Fortschritts entspricht genau dem, was ein menschlicher Ingenieur zum Werkzeugkasten eines Programmier-Agenten hinzufügen würde.
Darwin Gödel Machine: ein Archiv statt einer einzigen Zeile
Die Darwin Gödel Machine (DGM) gibt die Vorstellung einer einzigen Kette von Versionen auf. Sie speichert ein Archiv der Agentenvarianten und ermöglicht es, dass neue Zweige von jeder beliebigen Variante ausgehen. Eine Variante, die heute eine geringere Leistung zeigt, kann dennoch der Ausgangspunkt für spätere, nützlichere Änderungen sein – das ist das offene, evolutionäre Element im Namen.
Laut dem v3-Paper umfassen die berichteten Verbesserungen einen Anstieg von 20 % auf 50 % bei der Bewertung des SWE-bench-Subsets sowie von 14,2 % auf 30,7 % beim vollständigen Polyglot-Benchmark. Die Studie führt außerdem Übertragungsversuche mit anderen Modellen und Benchmarks durch, die während der Entwicklung nicht verwendet wurden. Diese deuten darauf hin, dass einige der Verbesserungen über die Entwicklungsaufgaben hinaus generalisierbar sind, obwohl sie keine umfassende Verbesserung in allen Bereichen nachweisen können. Wie bei den anderen arbeitsebene Ansätzen bleiben die Grundmodellien unverändert; nur die um sie herum befindliche Agentensoftware entwickelt sich weiter.
Auch die Kosten spielen eine Rolle. Die Autoren schätzen einen DGM-Ausführungsvorgang auf dem SWE-bench auf etwa 22.000 US-Dollar, im Vergleich zu rund 10.000 US-Dollar pro Baseline-Ausführung. Ablationen, die den Beitrag einzelner Komponenten isolieren, beantworten daher nicht vollständig, ob DGM bei gleichem Budget weiterhin vorteilhaft wäre.
Die wichtigste Erkenntnis bezüglich der Übertragbarkeit betrifft die Suchstrategie: Das Aussortieren jeder Version, die wie eine Regression aussieht, kann den Weg zu einem besseren System blockieren, da gute Designs manchmal über schwächere Zwischenschritte gelangen.
Wenn sich die Gewichte oder der Verbesserer ändern
Experimente mit Agenten-Code sind nicht das gesamte Feld. SEAL (Self-Adapting Language Models) untersucht ein Modell, das seine eigenen Feinabstimmungsdaten sowie Aktualisierungsanweisungen erzeugt, einschließlich Anleitungen darüber, wie die Anpassung durchgeführt werden soll. Das Training mit diesen selbst erzeugten Anweisungen bewirkt dauerhafte Veränderungen in den Gewichten des Modells, wodurch Forschung zur Selbstverbesserung eindeutig nicht auf die Strukturierung von Agenten beschränkt ist. Dennoch sagt allein die Tatsache, dass sich die Gewichte ändern, nichts über unbegrenzte oder beschleunigte Fortschritte aus.
Hyperagents begegnet einer anderen Beschränkung. Es vereint den Aufgabenagenten mit dem Meta-Agenten, der diesen bearbeitet, zu einem einzigen editierbaren Programm, sodass das Mechanismus, der zukünftige Verbesserungen hervorbringt, selbst verändert werden kann. Die Autoren berichten, dass einige dieser meta-ebenen Verbesserungen zwischen Aufgabengebieten übertragen werden und im Laufe mehrerer Durchläufe anwachsen. Zusammen bringen diese Studien das Gespräch von „Kann eine KI ihren eigenen Code bearbeiten?“ zu „Wie weit kann sie den Prozess verbessern, durch den sie sich selbst entwickelt?“
Vier Fragen zu jeder Behauptung „Es wurde besser“
Wenn eine Kurve der Selbstverbesserung ansteigt, lohnt es sich, herauszufinden, was genau gestiegen ist.
Besser in welcher Hinsicht?
Die Genauigkeit kann steigen, während Kosten und Latenzzeit gleichzeitig zunehmen. Ein Kompromiss, der für Forschungszwecke in Ordnung sein mag, kann bei einem Produkt inakzeptabel sein – daher sollten alle Metriken betrachtet werden, nicht nur die auffälligsten.
Besser bei welchen Aufgaben?
Die Verbesserungen bei Aufgaben, die wiederholt zur Auswahl der nächsten Version verwendet werden, sind schwächere Indizien als Verbesserungen in einem am Ende beibehaltenen Test, der während der Entwicklung nicht berührt wurde. Jedes Mal, wenn ein Testergebnis eine weitere Auswahlentscheidung beeinflusst, neigt der Prozess dazu, sich an diesen Test anzupassen.
Welche Version ist besser?
Ein Archiv, das das beste Ergebnis speichert, zeigt eine steigende „bester Wert bisher“-Linie – auch wenn die meisten neuen Kandidaten schlechter sind. Prüfen Sie die Verteilung der Kandidaten, nicht nur den maximalen Wert.
Bessert es sich bei der Selbstverbesserung?
Mehr gelöste Aufgaben können auf eine bessere Fähigkeit zur Selbstverbesserung hindeuten, doch es handelt sich dabei um unterschiedliche Metriken. Ein stärkerer Test prüft, ob eine neue Version unter dem gleichen Ressourcenbudget bessere Nachfolgeversionen hervorbringt als ihre Vorgängerin.
Diese Fragen dienen nicht dazu, Fortschritte zu leugnen. Sie helfen dabei, Fortschritt präzise genug zu definieren, um ihn erkennen zu können.
Ein Selbstverbesserungsexperiment, das Sie durchführen können
Ein realistischer Ausgangspunkt für einen einzelnen Entwickler oder ein kleines Team besteht darin, nicht das gesamte System der Selbstanpassung zu öffnen, sondern ein spezifisches Entwicklungstool auszuwählen und dieses streng einzuschränken. Nehmen wir als Beispiel ein Testgenerierungstool für eine Java-Codebasis:
- Bessern Sie das, was sich nicht ändern lässt: Das Tool darf den Anwendungscode oder die Bewertungstests nicht ändern.
- Definieren Sie, was sich ändern kann: Nur seine eigene Dateisuchstrategie, seine Anweisungen sowie sein Testgenerierungsworkflow.
Betrachten Sie dies als Entwurf eines Experiments und nicht als Versprechen von Ergebnissen. Der Einsatz offener Modelle oder kostenloser Quoten kann die Betriebskosten senken, doch günstigere Ausführungen beweisen nicht, dass die Änderungen nützlich sind. Suchen Sie zunächst nach einem eindeutig messbaren Vorteil und erweitern Sie den Umfang erst, nachdem Sie diesen erreicht haben. Dasselbe Bewertungskonzept gilt für jeden von Ihnen bereitgestellten Agenten; unser Leitfaden zu begrenzten agilen Schleifen in TypeScript behandelt die Aspekte des Laufzeitsystems zur Kontrolle solcher Schleifen.
Bessere Agenten bedeuten keine Intelligenzexplosion
Kann KI daher bessere KI entwerfen? In den oben genannten Experimenten ja – in einem bestimmten Sinne: KI-Systeme halfen dabei, leistungsfähigere Agenten zu erstellen, und mehrere wandten diesen Prozess auf ihre eigene Software an. Was sie jedoch nicht zeigen, ist eine Kette von Verbesserungen, die mit jeder Iteration schneller wird, sich auf verschiedene Bereiche übertragen lässt und unabhängig von menschlichen Entwurfsentscheidungen funktioniert. Die Arbeit als „nur Prompt-Engineering“ abzutun, bedeutet, die tatsächlichen Ergebnisse zu übersehen; sie als Beginn einer Intelligenzexplosion zu bezeichnen, übertreibt diese hingegen.
Kernpunkte
- Fragen Sie stets, welche Schicht sich geändert hat: Gewichte, Agentencode, Prompts, Tools oder der Verbesserungsmechanismus selbst.
- Formale Garantien wie die der Gödel-Maschine gelten nur im Verhältnis zu ihren Annahmen; empirische Ansätze tauschen Beweise gegen Bewertungen ein, wodurch die Qualität der Bewertung alles entscheidet.
Das schwierige Problem besteht nicht darin, einer KI zu erlauben, ihren eigenen Code zu ändern. Es geht vielmehr darum, zuverlässig nachzuweisen, dass eine Änderung tatsächlich einen Fortschritt darstellt, und diesen Fortschritt in die nächste Verbesserungsrunde zu übertragen.