malahov.io

Ralph Loop — der Zyklus, der von allein läuft

Wie ich vom Prompten Aufgabe für Aufgabe zu einem Zyklus aus Plan → Aufgaben → Review-Agenten → Validierung gekommen bin. Wo diese Konstruktion gewinnt, was die Review-Phase kostet und warum es ein Fehler war, die E2E-Tests aus dem Zyklus zu werfen.

Von Georg Malahov

Bei mir hat sich unbemerkt eine neue Arbeitspraxis eingespielt. Heute, beim Durchgehen eines weiteren Pull Requests, habe ich mich dabei ertappt, dass sie zur Routine geworden ist: Claude öffnet selbst den Browser, geht die Basis-Screens der App durch, repariert, was offensichtlich kaputt ist, und schreibt Empfehlungen. Danach gehe ich dieselben Screens von Hand durch und gebe meine Korrekturen. Ein bis zwei solche Iterationen pro Punkt — und die Änderungen wandern in einen Pull Request.

Noch im Winter habe ich anders gearbeitet: Ich habe Aufgabe für Aufgabe geprompted. Ich saß neben dem Agenten, gab ihm eine Aufgabe, schaute auf das Ergebnis, gab die nächste. Der Loop war ich selbst, und sobald ich wegging, stand alles still.

Mitte März habe ich einen Tag in das investiert, was ich „die Säge schärfen" nenne: Ich habe Ralphex eingerichtet — ein offenes Tool für autonome Agenten-Läufe, von dem ich aus Radio-T erfahren hatte, einem IT-Podcast, den ich seit über zehn Jahren höre. Meine Anforderungen waren einfach: Agenten sollen parallel arbeiten, in einem sicheren Container und lange — bis zur fertigen Aufgabe, nicht bis zur ersten Rückfrage. Meine Rolle hat sich verschoben: Businesslogik planen, Pläne schreiben und das Ergebnis abnehmen.

Die Pläne schreibe ich ebenfalls mit Claude — das habe ich im Juni erwähnt: Die Arbeit nach einem fertigen Plan läuft deutlich besser, als Aufgabe für Aufgabe zu prompten. Daraus ist der Zyklus gewachsen, den man in diesem Umfeld Ralph Loop nennt — der Name ist nicht meiner, es gibt reichlich Werkzeuge, die ihn tragen: Plan → Aufgaben → Review-Agenten → Validierung. Der Plan wird in Aufgaben zerlegt, jede führt ein eigener Agent aus, dann machen andere Agenten das Review, und am Ende laufen die Prüfungen: Linter, Typen, Unit-Tests und E2E — durchgehende Tests, die sich wie ein echter Nutzer durch die App klicken.

Wo das bricht, habe ich inzwischen auch gelernt. Im Mai habe ich den Zyklus von Docker-Containern auf die nativen Claude-Agenten umgeschrieben und dabei gleich die E2E-Tests rausgeworfen — sie waren auf sechzehn Minuten pro Lauf angewachsen und nicht mehr wartbar. Ein Fehler: Sofort tauchten offensichtliche Defekte auf — eine Benachrichtigungs-E-Mail soll ankommen und kommt nicht; ein Button soll deaktiviert sein und ist aktiv. Im Juni habe ich fast eine Woche gebraucht, um die Tests zu stabilisieren und in den Zyklus zurückzuholen — ein voller Lauf dauert jetzt unter zwei Minuten. Das zweite Problem ist der Preis: Die Review-Phase verbraucht Tokens in enormem Tempo, eine Aufgabe auf Bezahlbasis hat mich allein fürs Review 17–18 Dollar gekostet. Die dritte: Der Agent kann eindrucksvoll auf der Stelle treten — Anfang Juli hat eine Session an einer scheinbar einfachen Aufgabe mit Swipe-Navigation fast sieben Stunden gelaufen, 227 Hintergrund-Subagenten gestartet und zwar etwas gemacht, aber schief — ein Ergebnis, das man weder annehmen noch benutzen kann.

Dafür: Wenn der Zyklus greift, dann greift er richtig. Anfang Juli hat der Review-Agent in meiner Extension eine riesige Menge Bugs gefunden — und selbst einen detaillierten Fix-Plan erstellt, den ich danach einfach abgearbeitet habe. Im Mai habe ich in einer Stunde den Plan für die mobile Version meines Untertitel-Editors geschrieben, bin mit den Kindern Fahrrad fahren gefahren und habe bei der Rückkehr eine funktionierende App vorgefunden: Der Zyklus hatte drei, vier Stunden ohne mich weitergelaufen. Pläne schreibe ich jetzt überall — beim Spaziergang im Park, vom Handy, über eine Remote-Session.

Die Schwachstelle ist seit März dieselbe: ich. Letzte Woche habe ich rund zwanzig Pläne im Voraus geschrieben und für die Agenten in die Warteschlange gestellt: Ich versuche, diese Warteschlange voll zu halten, damit jeder Plan an den vorigen anschließt und die Agenten nicht stillstehen. Sie behaupten, alles sei fertig, aber man öffnet die App und sieht: Es funktioniert, sieht aber unsauber aus. Die manuelle Abnahme bleibt bei mir, und genau dort staut sich alles. Gestern habe ich den nächsten Schritt gemacht — ich habe dem Agenten Zugang zu meiner Server-Infrastruktur gegeben. Wenn er lernt, Aufgaben schlüsselfertig zu prüfen, bleibt mir von der alten Arbeitsweise nur die Gewohnheit, alles nachzukontrollieren — und am August wird zeigen, ob sie berechtigt ist, sobald ich an das Angestaute komme.