Engineering
Parallele KI-Agenten mit Git Worktrees: eine Aufgabe, ein Arbeitsbereich
Mehrere Agenten gleichzeitig schaffen mehr, solange jeder in seinem eigenen Arbeitsbereich bleibt. So sieht das bei uns aus und was schiefgehen kann.
Zwei Agenten im selben Ordner überschreiben sich gegenseitig, sobald beide dieselbe Datei ändern. Deshalb bekommt bei uns jede Aufgabe einen eigenen Arbeitsbereich. Wie parallele KI-Agenten mit Git Worktrees bei uns arbeiten, zeigt eine Zahl: In den letzten 30 Tagen sind 432 Pull Requests in unserem Haupt-Repository gelandet.
Parallele KI-Agenten brauchen Git Worktrees, also je einen Arbeitsordner
Git kann ein Repository in mehreren Ordnern gleichzeitig auschecken. Jeder Ordner hat seinen eigenen Branch und seine eigenen Änderungen, alle teilen sich dieselbe Historie. Wir nennen so einen Ordner eine Lane und benennen ihn nach dem Schema repo-issue-nummer-thema. Aus dem Namen sieht jeder, welche Aufgabe darin läuft.
Der Original-Klon des Repositorys bleibt unberührt. Er steht auf dem Standard-Branch, ist sauber, und ein Hook lehnt jeden Schreibversuch dort ab. Gearbeitet wird ausschließlich in Lanes.
Was eine Lane entscheidet
Eine Lane gehört zu genau einer Aufgabe im Ticketsystem. Der Agent liest das Ticket, arbeitet auf dem Branch der Lane und eröffnet daraus den Pull Request. Ist der Pull Request gemerged oder geschlossen, räumt ein Hilfsprogramm die Lane weg. Eine Lane mit ungesicherten Änderungen räumt es nie weg.
Eine Sitzung bearbeitet ein Thema. Kommt mittendrin ein Wunsch, der nicht dazugehört, legen wir dafür ein neues Ticket an und arbeiten es später in einer eigenen Lane ab. Der Agent sagt kurz Bescheid, damit nichts verloren geht. Das klingt streng, verhindert aber, dass ein Pull Request drei unabhängige Änderungen mischt, die kein Mensch mehr sauber prüfen kann.
Wo es schiefging
Neue Lanes zweigten anfangs vom lokalen Standard-Branch ab, und der war manchmal veraltet. Eine Lane verpasste so einen Pull Request, der Minuten vorher gemerged worden war. Seither holen wir vor jedem Anlegen den aktuellen Stand vom Server.
Ein zweites Problem war der Speicher. Auf dem Server, der die Agenten ohne Bildschirm ausführt, teilen sich alle Lanes einen festen Speicherrahmen. Drei gleichzeitige Lanes trieben die Last einmal auf einen Wert um 50 und den Server aus dem Netz. Seitdem gilt eine Obergrenze von zwei Lanes gleichzeitig auf diesem Server. Weitere Aufgaben warten oder laufen auf dem Entwicklungsrechner.
Was ohne Bildschirm anders läuft
Ein Agent ohne Bildschirm kann keine Rückfrage beantworten. Dieselben Hooks, die am Schreibtisch nachfragen, lehnen dort deshalb ab. Der Agent lässt den Schritt liegen, und ein Mensch sieht ihn sich bei der Durchsicht an. Installationen laufen mit eingefrorener Lockdatei, sodass eine Lane die Abhängigkeiten nie verändern kann, ohne dass es im Pull Request sichtbar wird.
Was das für Ihr Projekt heißt
Sie bekommen mehrere Änderungen gleichzeitig, jede in einem eigenen, prüfbaren Pull Request mit grüner Testausführung. Bricht eine davon, bleibt der Rest unberührt. Wie wir Agenten dabei an die Leine legen, beschreibt der Beitrag Wie wir KI-Agenten Code schreiben lassen, ohne die Kontrolle abzugeben. Den Rahmen unserer Arbeitsweise finden Sie auf der Seite Arbeitsweise. Wenn Sie klären wollen, was davon in Ihrem Betrieb sinnvoll ist, buchen Sie ein Erstgespräch.