🤖 Parallele KI-Entwicklung mit Cursor und Git Worktrees
der 15. Februar 2026
In diesem Artikel möchte ich anhand eines konkreten Beispiels zeigen, wie man die Entwicklung mithilfe von Cursor, Git-Worktrees und einem echten Symfony-Bundle parallelisieren kann:
👉 https://github.com/darkwood-com/ia-exception-bundle
Das Ziel ist einfach: das Paket soll verbessert werden, indem mithilfe von KI-Agenten gleichzeitig und konfliktfrei an zwei unabhängigen Funktionen gearbeitet wird.
Kontext
Ich arbeite aktuell an einem Symfony-Bundle mit dem Namen:
Darkwood IA-Ausnahmepaket Repository: https://github.com/darkwood-com/ia-exception-bundle
Ziel ist es, Symfony-Ausnahmen mithilfe von KI zu verbessern: Wenn ein „500“-Fehler auftritt, analysiert das Paket die Ausnahme und generiert strukturierte Diagnosen (wahrscheinliche Ursachen, Lösungsvorschläge, Konfidenzbewertung usw.).
Bei der Bearbeitung vor Ort habe ich jedoch zwei Verbesserungsmöglichkeiten entdeckt.
🟥 Problem 1: Verbesserung des Fehlersymbols
Das aktuelle Symbol ist ein standardmäßiges Bootstrap-„Gefahren“-Symbol. Es funktioniert, vermittelt aber nicht visuell, dass die Ausnahme KI-erweitert ist.
Die Idee: Ersetzen Sie es durch ein passenderes KI-bezogenes Gefahrensymbol.
🟦 Ausgabe 2 KI-Analyse asynchron rendern
Momentan:
- Es tritt eine Ausnahme auf.
- Der KI-Aufruf wird ausgelöst.
- Die HTTP-Antwort wartet auf die KI.
- Die gesamte Seite wird erst gerendert, wenn die KI fertig ist.
Dies führt zu Latenzzeiten.
Stattdessen wollen wir:
- Sofortige Ausnahmebehandlung.
- Die KI-Analyse wurde asynchron geladen.
- Die Seite wird aktualisiert, sobald die KI-Antwort eintrifft.
Hierfür verwenden wir Symfony UX.
Die Herausforderung
Wie können wir beide Probleme parallel mit Cursor bearbeiten, ohne Dateikonflikte zu verursachen?
Die Antwort liefert eine Idee, die in jüngsten Artikeln über KI-Programmieragenten populär geworden ist:
Verwenden Sie Git-Arbeitsverzeichnisse zur Kontextisolierung.
Git Worktrees – Kurze Erinnerung
Mit einem Git-Worktree können Sie ein neues Arbeitsverzeichnis erstellen, das an dasselbe Repository angehängt wird.
Es ist kein vollständiger Klon.
Es teilt zwar die Git-Historie, befindet sich aber in einem separaten physischen Verzeichnis.
Beispiel:
git worktree add ../feature-ai-icon feature/ai-icon
git worktree add ../feature-async-render feature/async-render
Sie haben nun:
- Haupt-Repository
- Arbeitsbaum A → Merkmal 1
- Arbeitsbaum B → Merkmal 2
Jedes kann sich unabhängig voneinander weiterentwickeln.
Keine Dateikonflikte. Keine Kontextverschmutzung.
Warum das für KI-Agenten wichtig ist
Mit Cursor können Sie jedem Worktree einen KI-Agenten zuweisen.
Agent 1 funktioniert nur innerhalb folgender Bereiche:
feature/ai-icon
Agent 2 funktioniert nur innerhalb von:
feature/async-render
Jeder Agent arbeitet isoliert.
Das nennen wir:
Kontextisolierung
Und es ist unerlässlich bei der Parallelisierung KI-gesteuerter Entwicklung.
Praktische Umsetzung
Schritt 1 Zwei Arbeitsbäume erstellen
Ich habe manuell zwei Arbeitsstrukturen erstellt, die den beiden Vorgängen entsprechen.
Dann, für jeden Arbeitsbaum:
- Im Cursor geöffnet
- Die GitHub-Problembeschreibung wurde eingefügt
- Lassen Sie den KI-Agenten die Funktion implementieren.
Schritt 2 Asynchrone Ausnahmebehandlung
Für die asynchrone Funktion implementierte die KI Folgendes:
- Ein dedizierter Routenlader
- Ein
IAExceptionController - Ein Kontextspeichersystem
- Ein Service für verzögerte KI-Analyse
- Bedingtes Verhalten bei aktiviertem asynchronen Modus
Der Arbeitsablauf sieht nun wie folgt aus:
- Die Ausnahme wird sofort gerendert.
- Symfony UX lädt KI-Analysen asynchron.
- Die Seite wird dynamisch aktualisiert, sobald die KI-Antwort eintrifft.
Dies verbessert die wahrgenommene Leistung deutlich.
Schritt 3: Verbesserung des Symbols
Im zweiten Arbeitsbaum ist der Agent:
- Das Bootstrap-Gefahrensymbol wurde ersetzt.
- Einführung eines übersichtlicheren, KI-basierten SVG-Formats
- Layoutkompatibilität beibehalten
- Beibehaltung des Bootstrap-Stils
Dies war völlig unabhängig von der asynchronen Funktion.
Kein sich überschneidender Code.
Zwischen Funktionen wechseln
Da es sich um Arbeitsbäume handelt, ist ein Kontextwechsel einfach.
In meiner lokalen Darkwood-App:
- Das Bundle wird normalerweise über Composer geladen.
- Ich habe das Bundle vorübergehend mit dem entsprechenden Arbeitsbaum verknüpft.
- Cache geleert.
- Es wurde eine kontrollierte Ausnahme ausgelöst.
Dann könnte ich jede Funktion einzeln testen.
Für den Wechsel von Funktion A zu Funktion B war lediglich Folgendes erforderlich:
- Umschalten des symbolischen Links
- Cache leeren
- Erfrischend
Keine Zusammenführung. Kein Rebase. Keine Konflikte.
Was wir erreicht haben
Wir haben nun:
- Zwei unabhängige Pull-Anfragen
- Zwei isolierte KI-Agenten
- Keine Dateikonflikte
- Klare Trennung der Belange
Diese Änderungen wurden veröffentlicht in:
👉 v1.0.2 https://github.com/darkwood-com/ia-exception-bundle/releases/tag/v1.0.2
Diese Version beinhaltet:
- Verbesserungen der Benutzeroberfläche für die Darstellung von KI-Ausnahmen
- Asynchrones Laden der KI-Analyse
- Verbesserte architektonische Trennung für zukünftige Erweiterungen
Wann geht das kaputt?
Parallele Entwicklung funktioniert am besten, wenn folgende Probleme auftreten:
- Klar getrennt
- Ansprechen verschiedener Ebenen
- Die gleichen Dateien nicht verändern
Wenn sich zwei Dinge ändern:
- Derselbe Service
- Die gleiche Twig-Vorlage
- Derselbe Controller
Später werden Sie mit Merge-Konflikten konfrontiert sein.
Die Entwicklung paralleler KI erfordert eine geeignete Aufgabenzerlegung.
Produktionsüberlegungen
Wenn Sie mehrere Branches pushen:
- Es kann vor Ort zu Hafenkonflikten kommen.
- In Vorschauumgebungen kann eine Konfiguration erforderlich sein.
- Asynchrone Funktionen erfordern möglicherweise die Beibehaltung des Kontextes.
Diese Punkte sind zwar beherrschbar, müssen aber berücksichtigt werden.
Warum das so wirkungsvoll ist
Der eigentliche Wert liegt nicht im KI-Modell.
Es ist:
- Isolierung
- Orchestrierung
- Kontextsteuerung
Git-Worktrees ermöglichen es uns, KI-Codierungssitzungen ohne Chaos zu skalieren.
Abschluss
Bei der Entwicklung paralleler KI geht es nicht darum, mehr Modelle auszuführen.
Es geht darum, den Kontext richtig zu isolieren.
Mit:
- Git-Arbeitsverzeichnisse
- Cursor-Agenten
- Symfony UX
- Saubere Problemzerlegung
Komplexe Systeme lassen sich gefahrlos weiterentwickeln, ohne die eigenen Änderungen zu beeinträchtigen.
Referenzen
-
Repository IA Ausnahme-Bundle https://github.com/darkwood-com/ia-exception-bundle
-
Version 1.0.2 veröffentlicht https://github.com/darkwood-com/ia-exception-bundle/releases/tag/v1.0.2
-
Git-Worktrees für parallele KI-Codierungsagenten Upsun https://devcenter.upsun.com/posts/git-worktrees-for-parallel-ai-coding-agents/
-
Git Worktrees: Die Leistungsfähigkeit der parallelen Agenten von Cursor DEV.to https://dev.to/arifszn/git-worktrees-the-power-behind-cursors-parallel-agents-19j1
-
Cursor-Dokumentation Arbeitsbereichskonfiguration https://cursor.com/fr/docs/configuration/worktrees