Ich habe einen Coding-Agenten in eine while-Schleife gesteckt, und über Nacht waren 6 Repositories fertig
(github.com/repomirrorhq)- Indem Claude Code headless in eine Endlosschleife gesetzt wurde, entstanden mehr als 1000 Commits und die Ergebnisse mehrerer Codebase-Portierungen
- Mit diesem Ansatz wurden erfolgreich verschiedene Portierungen automatisiert, etwa assistant-ui von React nach Vue und Python-Projekte nach TypeScript
- Es zeigte sich, dass die Leistung steigt, je einfacher die Prompts gehalten werden, während mehr Komplexität zu Ineffizienz führt
- Zusätzlich wurde mit RepoMirror sogar ein nützliches Tool zur Synchronisierung von Quell-/Ziel-Repositories entwickelt, auch wenn noch nicht alles perfekt ist
- Dabei wurden auch unerwartete Verhaltensweisen und Lernmomente beobachtet, etwa Selbstabbruch des AI-Agenten oder das eigenständige Hinzufügen neuer Aufgaben, was sowohl die Möglichkeiten als auch die Grenzen künftiger Automatisierung spürbar machte
Projektüberblick und Zielsetzung
- Dieses Projekt untersucht, wie ein AI Coding Agent Portierungsarbeiten in der Praxis ausführt, wenn man ihn in eine unendliche while-Schleife setzt
- Claude Code wird headless betrieben, wobei derselbe Eingabe-Prompt fortlaufend wiederholt wird, um den automatischen Umwandlungsprozess auf verschiedene Repositories anzuwenden
- Daraus ergaben sich Ergebnisse wie über 1000 Commits und die Automatisierung mehrerer Portierungsaufgaben wie React nach Vue oder Python nach TypeScript
- Im Zuge dessen wurde auch RepoMirror als Hilfstool zur Portierungsautomatisierung entwickelt
Betrieb des Agenten im Endlosschleifen-Modus
- Empfohlen von Geoff Huntley: ein Ansatz, bei dem der Prompt für den Coding-Agenten in der Shell fortlaufend ausgeführt wird
- Beispiel:
while :; do cat prompt.md | claude -p --dangerously-skip-permissions; done
- Beispiel:
- Dieser Schleifenansatz wurde unter anderem für die Umstellung von assistant-ui von React auf Vue eingesetzt
- Nach jeder Dateianpassung wird ein Commit und Push ausgeführt
- Arbeitsverlauf und Planung werden im Verzeichnis
.agent/festgehalten
Experimente mit verschiedenen Portierungsfällen
-
Browser Use (Portierung von Python nach TypeScript)
- Ausführung der Endlosschleife mit einem einfachen Prompt
- Die Schleife lief dauerhaft per tmux auf einer GCP-VM
- Am Morgen lag ein nahezu perfekt funktionierender TypeScript-Port vor
-
Auch eine Portierung des Vercel AI SDK von TypeScript nach Python wurde durchgeführt
- Automatische Erstellung von FastAPI-/Flask-Adaptern
- Unterstützung der Umwandlung auch für verschiedene Schema-Validatoren in Python
-
Spezifikationsbasierte Code-Automatisierung: Auch bei Projekten wie Convex und Dedalus wurde versucht, Code direkt aus der Dokumentation zu erzeugen
Beobachtungen und Erkenntnisse aus dem Experiment
Testschreibung und Selbstabbruch des Agenten
- Der Agent schreibt auf Anweisung auch Testcode
- Es gab Fälle, in denen er in eine Endlosschleife geriet oder nach Abschluss seiner Aufgabe den Prozess selbst per
pkillbeendete - Er hielt sich strikt an den Arbeitsumfang und dokumentierte den Fertigstellungsgrad wiederholt in
TODO.md
Weitere emergente Verhaltensweisen
- Nach Abschluss der Portierungsarbeit fügte er zusätzliche Funktionen wie FastAPI-/Flask-Integration und Unterstützung für Schema-Validatoren eigenständig hinzu, obwohl diese in der ursprünglichen JS-Version nicht vorhanden waren
Die Bedeutung einfacher Prompts
- Kurze und einfache Prompts zeigten die beste Leistung
- Wuchs ein Prompt von 103 auf 1500 Zeichen an, wurde das System langsamer und die Genauigkeit sank
- Informationen zu den tatsächlich verwendeten Prompts finden sich im Ordner
prompts
Grenzen vollständiger Automatisierung
- Ein auffälliges Problem: Es wurde mitunter Portierungscode erzeugt, der nicht vollständig funktionierte, etwa unvollständige Browser-Demos
- Prompt-Nachbesserung und interaktive Korrekturen waren erforderlich
Infrastruktur, Kosten und Betrieb
- Ungefährer Aufwand: 800 US-Dollar, insgesamt 1100 Commits, Kosten pro Agent etwa 10,50 US-Dollar pro Stunde
- Für die Portierung zwischen mehreren Quell- und Ziel-Repositories wurde spontan ein Automatisierungstool entwickelt: RepoMirror
- Es folgt dem Open-Box-Prinzip im shadcn-Stil; nach dem Init-Schritt werden Ordner erzeugt, in denen Skripte und Prompts angepasst werden können
- Wiederholte Ausführung wird über
npx repomirror syncundsync-foreverunterstützt
Nutzung des Tools und Einsatzweise
- Mit
npx repomirror initwerden Quell-/Ziel-Verzeichnisse festgelegt und Befehle für die Initialisierung eingegeben- z. B. für neue Anweisungen wie React → Vue oder gRPC → REST
- Ordnerstruktur:
.repomirror/prompt.md,sync.sh,ralph.shund weitere Initialdateien werden automatisch erzeugt
- Der AI-Portierungs-Loop wird durch die wiederholte Ausführung von
sync/sync-foreverbetrieben - Wichtige Beispiele, Demo-Ergebnisse und das Source-Code-Repository sind im README zu finden
Eindrücke nach dem Experiment und Team-Feedback
AGI (Allgemeine Künstliche Intelligenz) fühlt sich greifbar an und löst vor allem Begeisterung und etwas Angst aus
Es war direkt erfahrbar, dass Einfachheit wirksam ist
Es fühlt sich an, als stünden wir gerade ganz am Anfang einer exponentiellen Wachstumskurve
- Dank an Teammitglieder und Ideengeber
Fazit
- Reale Erfahrung mit quellcodebasierter Portierung und Synchronisierung durch einen AI Coding Agent auf Basis einer Endlosschleife
- Betonung der Bedeutung einfacher Strukturen und eines effektiven Prompt-Betriebs
- Sowohl das zukünftige Potenzial als auch die Grenzen von Automatisierung werden sichtbar
- Das zugehörige Tool (RepoMirror) kann als Open Source genutzt und weiter erforscht werden
2 Kommentare
Hacker-News-Kommentare
intoderstringin Mongodb, Beziehungen ohne foreign key in Postgres oder das komplette Anlegen neuer Tabellen, weilalter tablenicht ging.agent/TODO.mdfestgehalten. Bei einem Agenten wurde sogar bemerkt, dass er in einer Endlosschleife festhing, woraufhin er sich mit dem Befehlpkillselbst beendet hat. In vielerlei Hinsicht eine äußerst unterhaltsame Begebenheit. Ich habe ein paar Gedanken zu diesem Projekt: Vor 1,5 Jahren gab es schon einmal einen ähnlichen Versuch, aber damals funktionierte es mit GPT-3.5/4 praktisch gar nicht. Diesmal waren die Ergebnisse deutlich besser. Erstaunlich ist, wie gut es schon mit einem so einfachen Prompt lief. Vielleicht haben wir alle die Arbeit zu kompliziert gedacht. Andererseits dürften Urheberrechts-/IP-Fragen ziemlich kompliziert werden. Für SaaS-Anbieter ist dieser Trend ein Schlag, und wenn diese Technik mit zehn Ingenieuren in einem mittelständischen Unternehmen kombiniert wird, ist die Begründung für Eigenentwicklung (= NIH-Syndrom) plötzlich sehr stark.pkillbeendet hat.pkillbeendet hat, vielleicht gleich auch noch das Halting Problem gelöst hat.vibe codingist erst vor fünf Monaten als neues Schlagwort aufgetaucht. Ich frage mich, wie der Markt so schnell gesättigt sein konnte, dass es schon Spezialisten für die Wiederherstellung gibt.IMPLEMENTATION_PLAN.mdauskommen kann.bash-for-Schleife. Was für ein verrücktes Projekt.ID.md,EGO.mdundSUPEREGO.mdhinzufügen muss.Ich stimme der Sorge zu, dass von LLMs geschriebener Code zu einer Blackbox wird, aber könnte man die Analyse dieses Codes am Ende nicht einfach wieder dem LLM überlassen?