Erklärt

Mehrere KI-Agenten in einem Repository

Mehrere Agenten können sich ein Repository teilen, wenn das Schreiben geschiedst wird: Ein Agent kündigt die Pfade an, die er anfassen wird, der Server weist sie ihm zu und verweigert sie allen anderen, bis er sie freigibt. Ohne diesen Schiedsspruch löscht der zweite Agent die Arbeit des ersten, ohne dass etwas es meldet.

Der Fall, der alles zerstört

Zwei Agenten erhalten zwei Aufgaben, die dieselbe Datei betreffen. Der erste liest die Datei, überlegt zwanzig Sekunden, schreibt. Der zweite hat dieselbe Version gelesen, bevor der erste geschrieben hat, und schreibt darüber. Nichts ist abgestürzt, nichts hat gewarnt, und die Arbeit des ersten ist verschwunden.

Dieser Fall ist nicht selten, sobald es mehr als einen Agenten gibt, weil Agenten breit lesen und schnell schreiben. Deshalb isolieren fast alle Werkzeuge: eine Maschine pro Agent, ein Branch pro Agent.

Was der Rest der Welt tut: ein Worktree pro Agent

Die übliche Antwort auf dieses Problem ist die Aufteilung: Man gibt jedem Agenten seinen eigenen Git-Worktree, eine vollständige Kopie der Dateien mit eigenem Index, und sorgt dafür, dass sich die Bereiche nicht überschneiden. Das machen Windsurf, Conductor und OpenHands, und das empfehlen die meisten Anleitungen.

Es funktioniert, und es hat genau einen Nachteil: Die Aufteilung ist ein Versprechen, keine Garantie. Niemand prüft, dass sich die Bereiche nicht überschneiden, und wenn sie es tun, erfährt man es beim Zusammenführen, wenn beide Agenten fertig sind und sich niemand mehr an die Überlegung erinnert.

Die Reservierung, in drei Schritten

Bevor ein Agent schreibt, kündigt er die Pfade an, die er anfassen wird. Das Board weist sie ihm zu, wenn sie frei sind, und verweigert sie, wenn sie belegt sind. Ein einziger Inhaber pro Datei, zu jedem Zeitpunkt.

Während der Arbeit beobachtet ein Wächter die tatsächlichen Schreibaktionen auf der Festplatte und ordnet jede ihrem Urheber zu. Eine Schreibaktion auf einen von jemand anderem gehaltenen Pfad wird fotografiert, bevor sie ankommt: Die vorherige Version bleibt erhalten, also geht nichts verloren, auch wenn die Regel umgangen wird.

Am Ende gibt der Agent seine Pfade frei. Die Datei wird für den nächsten wieder verfügbar, ohne Zusammenführung, weil es nie zwei lebende Versionen zur gleichen Zeit gab.

Was das auf dem Bildschirm ergibt

Jedes Fenster zeigt seinen Agenten bei der Arbeit, und das Board zeigt, wer was hält. Man sieht, dass ein Agent wartet, und warum. Ein blockierter Agent ist sichtbar, bevor er Schaden anrichtet, was den echten Unterschied zu einer unsichtbaren Warteschlange ausmacht.

Menschen zählen auch. Mehrere Personen auf derselben Canvas steuern ihre eigenen Agenten und sehen die Cursor der anderen, jeder mit einem Namen.

Wenn es nicht die richtige Form ist

Wenn Ihre Aufgaben wirklich unabhängig und lang sind, bleibt die Isolierung per Maschine sinnvoll: nichts zu schlichten, nichts zu warten. Das Teilen gewinnt, wenn sich die Aufgaben berühren, was der Fall ist, sobald man an derselben Funktion arbeitet. Die Vergleiche gehen die Wahl Werkzeug für Werkzeug durch.

Direkte Antworten

Muss man git worktree nutzen, um mehrere Agenten zu starten?

Das ist die Antwort, die die meisten Anleitungen geben, und sie funktioniert: ein Worktree pro Agent, jeder mit seinem eigenen Index und seinen Dateien, also keine mögliche Kollision. Sie hat einen Preis, und der ist immer derselbe: so viele Kopien wie Agenten, und am Ende eine Zusammenführung pro Kopie. Ein einziges Verzeichnis mit Dateireservierung entfernt beides, um den Preis eines Agenten, der manchmal dreißig Sekunden wartet.

Warum nicht jedem Agenten einen Branch geben?

Das ist die übliche Lösung, und sie verschiebt die Kosten ans Ende. Drei Branches erzeugen drei Zusammenführungen, und die Konflikte tauchen auf, wenn alle drei Agenten fertig sind, also genau dann, wenn sich niemand mehr an die Überlegung erinnert. Ein geteiltes Verzeichnis löst den Konflikt in dem Moment, in dem er entsteht.

Was passiert, wenn ein Agent die Reservierung ignoriert?

Er hat keine Wahl: Die Regel wird vom Server durchgesetzt, nicht dem Modell vorgeschlagen. Ein Beobachter überwacht die Schreibaktionen und ordnet jede ihrem Urheber zu, und eine Schreibaktion auf einen von jemand anderem gehaltenen Pfad wird fotografiert, bevor sie ankommt, sodass beide Versionen noch existieren.

Wie viele Agenten gleichzeitig?

Fünf Agentenfenster im Pro-Plan, und mehr darüber. Die praktische Grenze ist nicht die Maschine, sondern die Anzahl unabhängiger Baustellen, die das Projekt zu einem bestimmten Zeitpunkt hat.