Gemini Conductor: Googles neues Tool soll KI-Programmierung reparieren

AAI LABS
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00Wenn du den Kanal verfolgst,
00:00:01kennst du sicher die verschiedenen Arten von Context-Engineering-Workflows,
00:00:04die wir hier behandelt haben.
00:00:05Nun hat auch Google einen weiteren veröffentlicht.
00:00:07Ich wünschte,
00:00:07ich könnte sagen,
00:00:08dass er besser ist als andere Workflows.
00:00:10Aber die Wahrheit ist, dass er es nicht ist.
00:00:11Und es gibt viele Probleme damit.
00:00:13Selbst wenn man argumentiert,
00:00:14dass er für das Gemini-Ökosystem besser ist,
00:00:16ist er immer noch nicht gut.
00:00:17Bevor wir uns damit befassen,
00:00:18warum es nicht nötig war,
00:00:19dies zu veröffentlichen,
00:00:20machen wir eine kurze Pause,
00:00:21um über Automata zu sprechen.
00:00:22Nachdem wir Millionen von Menschen beigebracht haben,
00:00:24wie man mit KI entwickelt,
00:00:25haben wir begonnen,
00:00:26diese Workflows selbst zu implementieren.
00:00:28Wir haben festgestellt,
00:00:29dass wir bessere Produkte schneller als je zuvor entwickeln können.
00:00:31Wir helfen dabei,
00:00:32deine Ideen zum Leben zu erwecken,
00:00:34egal ob Apps oder Websites.
00:00:35Vielleicht hast du unsere Videos gesehen und gedacht: Ich habe eine großartige Idee,
00:00:38aber kein Tech-Team,
00:00:39um sie umzusetzen.
00:00:40Genau hier kommen wir ins Spiel..
00:00:42Betrachte uns als deinen technischen Co-Piloten.
00:00:44Wir wenden die gleichen Workflows,
00:00:46die wir Millionen beigebracht haben,
00:00:48direkt auf dein Projekt an und verwandeln Konzepte in echte,
00:00:50funktionierende Lösungen,
00:00:52ohne die Kopfschmerzen beim Einstellen oder Verwalten eines Entwicklerteams.
00:00:55Bereit, deine Idee in die Realität umzusetzen?
00:00:57Melde dich unter hello@automata.dev..
00:00:59Bevor ich nun erkläre,
00:01:00warum dies nur ein weiterer schwacher Versuch eines Context-Engineering-Workflows ist,
00:01:04schauen wir uns zunächst an,
00:01:05wie Conductor tatsächlich funktioniert.
00:01:07Das ist der Artikel und ich werde einen Link dazu in der Beschreibung unten einfügen.
00:01:11Am Ende erhältst du einen Befehl,
00:01:12um dies tatsächlich als Erweiterung in Gemini CLI zu installieren.
00:01:15Für diejenigen unter euch,
00:01:16die es nicht wissen: Erweiterungen sind Befehlssätze,
00:01:18MCPs und andere Regeln,
00:01:19die zusammen gebündelt und zu einem Paket gemacht werden,
00:01:22das Leute dann hosten und mit anderen teilen können.
00:01:24Claude hat auch etwas Ähnliches namens Plugins.
00:01:26Um den Workflow tatsächlich zu starten,
00:01:28verwendest du den Befehl und er wird installiert.
00:01:30Nach der Installation kannst du seine Slash-Befehle in Conductor verwenden.
00:01:33Du erhältst diese fünf Befehle,
00:01:35die Conductor tatsächlich steuern und wie du den Workflow verwendest.
00:01:38Der allererste Befehl,
00:01:39den du verwenden wirst,
00:01:40ist der Setup-Befehl..
00:01:41Was dieser Befehl macht,
00:01:42ist zunächst zu prüfen,
00:01:43ob die vorhandenen Conductor-Dateien wie der Setup-Status und die anderen Dateien,
00:01:47die ihm mitteilen,
00:01:48ob ein Projekt bereits initialisiert wurde,
00:01:50verfügbar sind oder nicht.
00:01:51Anstelle von Stories erstellt es diese Dateien namens Tracks und vervollständigt diese nacheinander.
00:01:56Danach initialisierte es ein neues GitHub-Repo und fragte,
00:01:59was gebaut werden sollte.
00:02:00Um es zu testen,
00:02:01habe ich ein einfaches Projekt erstellt,
00:02:02wollte aber prüfen,
00:02:03ob die erstellte Architektur tatsächlich gut sein würde.
00:02:06Also um tatsächlich zu testen,
00:02:07ob es die Dinge empfehlen würde,
00:02:09die ich wirklich brauche,
00:02:10habe ich ihm gesagt,
00:02:11dass es produktionsreif und skalierbar für eine größere Anzahl von Benutzern sein sollte.
00:02:15Danach erstellte es die product.md-Datei,
00:02:16die das tatsächliche Konzept dessen enthielt,
00:02:18was ich bauen wollte.
00:02:19Um es tatsächlich zu verfeinern und zu gestalten,
00:02:21begann es mir Fragen zu stellen,
00:02:23und am Ende,
00:02:23weil die Fragen eigentlich nirgendwohin führten und wirklich simpel waren,
00:02:27ließ ich es einfach alles automatisch generieren.
00:02:29Nachdem es den Produktleitfaden genehmigt und gespeichert hatte,
00:02:32wollte es eine weitere Datei erstellen,
00:02:34die Produktrichtlinien,
00:02:35die sich hauptsächlich auf das Styling des Produkts und einige Designprinzipien konzentrierten.
00:02:39Es genehmigte das auch und speicherte die Produktrichtlinien ebenfalls.
00:02:42Danach definierte es den Technologie-Stack und das ist einer der Gründe,
00:02:45warum der Workflow nicht gut war.
00:02:47Es hat den Tech-Stack durcheinandergebracht,
00:02:49den es mir anbot,
00:02:50weil es wusste,
00:02:50was mein gesamtes Projekt war,
00:02:52und trotzdem nicht wirklich empfahl,
00:02:53was angemessen war.
00:02:54Nachdem ich das korrigiert hatte,
00:02:56genehmigte es auch den Tech-Stack und aktualisierte diese MD-Datei ebenfalls.
00:02:59Es hat auch diese Dateien namens Code-Style-Guides.
00:03:01Wenn ich in den tatsächlichen Ordner gehe,
00:03:03sind das die einzigen Sprachen,
00:03:05die es hat,
00:03:05und wenn es denkt,
00:03:06dass wir eine davon im Projekt verwenden werden,
00:03:08fügt es sie während der Initialisierung zu den Code-Style-Guides unseres aktuellen Projekts hinzu.
00:03:13Der Standard-Workflow,
00:03:14den es verwendet,
00:03:14ist tatsächlich ziemlich gut.
00:03:16Standardmäßig beinhaltet er 80% Code-Test-Abdeckung,
00:03:18und während es Sachen einrichtete und Basiskomponenten schrieb,
00:03:21stellte es sicher,
00:03:22dass auch die Tests geschrieben wurden,
00:03:23und nach Abschluss der Aufgaben testete es sie ebenfalls.
00:03:26Gleichzeitig commitete es Änderungen nach jeder Aufgabe und verwendete auch Git-Notes,
00:03:30damit wir tatsächlich nachverfolgen konnten,
00:03:32wo oder wann etwas schiefging.
00:03:33Nach Abschluss des initialen Setups erstellte es einige übergeordnete Produktanforderungen,
00:03:37damit wir auf den ersten Track kommen konnten.
00:03:40Dies ist der erste Track,
00:03:41den es zu implementieren versuchte..
00:03:45Auch dies war zu breit gefasst und musste in kleinere Tracks aufgeteilt werden.
00:03:48Das war zu viel,
00:03:49um es in einem Track zu erledigen,
00:03:50und es gab viele Chancen,
00:03:52Fehler zu machen,
00:03:52wenn es so viel gleichzeitig machte.
00:03:54Nachdem du das abgeschlossen hast,
00:03:55kannst du mit der Arbeit beginnen,
00:03:57indem du den Implement-Befehl ausführst,
00:03:59und im Tracks-Ordner hast du verschiedene Tracks,
00:04:01die es nacheinander implementiert.
00:04:02Jeder Track hat zwei Dateien, eine plan.md und eine spec.md.
00:04:05Die spec.md enthält das Ziel und die technischen Details,
00:04:07die aus dem Tech-Stack und den Informationen extrahiert wurden,
00:04:10die wir zu Beginn eingegeben haben.
00:04:12Die plan.md enthält tatsächlich die Aufgaben,
00:04:14die es nacheinander implementieren muss.
00:04:15Wenn du tatsächlich den Implement-Befehl verwendest,
00:04:18schaut es sich die tracks.md an und betrachtet im Grunde jeden Track,
00:04:21wo es basierend auf dem Status tatsächlich weiß,
00:04:23was zu tun ist.
00:04:23Wenn es leer ist, wurde es nicht gestartet.
00:04:25Das bedeutet,
00:04:26dass es in Bearbeitung ist,
00:04:27und das bedeutet,
00:04:28dass der Track abgeschlossen wurde.
00:04:29Und wie du sehen kannst,
00:04:30ist dieser aktuelle Track in Bearbeitung.
00:04:32Was die anderen Befehle betrifft,
00:04:33gibt dir der Status-Befehl einen Statusbericht darüber,
00:04:36was gerade vor sich geht und welche Tracks verfolgt werden und welche nicht abgeschlossen sind.
00:04:40Wenn du den New-Track-Befehl verwendest,
00:04:42wird es dir die verschiedenen Fragen erneut für die neue Aufgabe stellen.
00:04:45Ich habe es auch in einem bereits vorhandenen Repository implementiert und es lief ziemlich genauso ab.
00:04:49Es war etwas anders,
00:04:50weil es sich die vorhandenen Dateien ansah und mir nur klärende Fragen stellte,
00:04:54und es fragte nicht nach einem neuen Track..
00:04:57Ich musste selbst einen neuen Track als neues Feature implementieren.
00:05:00Und dann gibt es Revert,
00:05:01ein weiteres wirklich cleveres Feature,
00:05:03das tatsächlich jeden Schaden abmildert und Git-bewusst ist.
00:05:06Es verwendet also Git,
00:05:07um zu helfen,
00:05:07falls der Agent irgendwo einen Fehler macht.
00:05:09Nun,
00:05:10derzeit ist das Dateimanagement und die Struktur gar nicht so schlecht.
00:05:13Die Art und Weise,
00:05:13wie es neue Features oder vorhandene Aufgaben in Tracks implementiert und sie dann nachverfolgt,
00:05:18ist tatsächlich ziemlich gut.
00:05:19Aber die Art und Weise,
00:05:20wie die Anweisungen geschrieben wurden oder wie diese Befehlsdateien geschrieben wurden,
00:05:24braucht Arbeit,
00:05:24weil sie nicht wirklich die Kontextschleife richtig verwalten,
00:05:27wo es alles überprüfen muss.
00:05:28Und wenn es eine Änderung gibt, dann wie es das ändern muss.
00:05:31Denn selbst während dieses anfänglichen Prozesses gab es viele Fehler.
00:05:34Der erste Fehler ist,
00:05:35dass es während der Anfrage zur Erstellung jedes Dokuments meine Idee nicht wirklich richtig zerlegt hat.
00:05:39Und ich musste es durch viele Sachen führen.
00:05:41Als ich dachte,
00:05:42es wäre ausreichend,
00:05:42ließ ich es einfach den Rest des Inhalts automatisch generieren.
00:05:45Und wie ich bereits erwähnt habe,
00:05:47verfehlte es auch beim Definieren des Technologie-Stacks viele Dinge.
00:05:50Option B war gut.
00:05:50Aber da ich ihm sagte,
00:05:51dass ich eine voll skalierbare App mit einer großen Anzahl von Benutzern wollte,
00:05:55verfehlte es viele Dinge,
00:05:56die ich klären und explizit sagen musste,
00:05:58dass es sie auch benötigte,
00:05:59und dann modifizierte es den Plan.
00:06:00Als der erste Track generiert wurde,
00:06:02ging ich tatsächlich hinein und schaute mir den Plan und die Spezifikationen an,
00:06:05die es generiert hatte,
00:06:06und das Datenbankschema war völlig unvollständig.
00:06:08Es hatte viele Dinge verpasst,
00:06:10die entscheidend für die Einrichtung der App waren,
00:06:12und ich musste es erneut führen und in die richtige Richtung lenken.
00:06:15Nun, Gemini ist tatsächlich ein wirklich gutes Modell.
00:06:17Also muss ich vermuten,
00:06:18dass die Befehle,
00:06:19die implementiert wurden,
00:06:20das sind,
00:06:20was es sich so verhalten lässt..
00:06:23Und der größte Grund,
00:06:24warum ich glaube,
00:06:25dass,
00:06:25obwohl das Setup an sich eigentlich gut ist,
00:06:27viele Probleme in den Haupt-Slash-Befehlen und insbesondere in der workflow.md bestehen,
00:06:31ist,
00:06:31weil es einen wirklich großen Teil durcheinander gebracht hat,
00:06:34nachdem ich ihm sagte,
00:06:35dass ich NPM ändern wollte.
00:06:36Und stattdessen wollte ich PNPM verwenden,
00:06:38da ich vergessen hatte,
00:06:39es früher zu erwähnen.
00:06:40Aus irgendeinem Grund versuchte es zuerst,
00:06:42ein Backup zu erstellen..
00:06:43Und dabei gab es an,
00:06:44dass es die mit NPM erstellten Dateien entfernen müsse.
00:06:46Aber am Ende hat es den gesamten Conductor-Ordner selbst gelöscht,
00:06:49der alle Planungsdateien enthielt.
00:06:51Nachdem es das gelöscht hatte,
00:06:52suchte es kontinuierlich nach dem Ordner.
00:06:54Und als es ihn nicht finden konnte,
00:06:56sagte es,
00:06:56dass es den Conductor-Ordner anhand seines Kontexts und allem,
00:06:59was es in seinem Speicher hatte,
00:07:01rekonstruieren würde..
00:07:02Im Grunde musste es also alles neu schreiben,
00:07:04im Gegensatz zu dem,
00:07:05was ein normaler Kontext-Workflow tun sollte,
00:07:06bei dem die Änderung nur die Hauptkontextdateien und die Dateien betreffen sollte,
00:07:10die mit dieser spezifischen Aufgabe zusammenhängen,
00:07:12was genau das ist,
00:07:13was Be Mad tut,
00:07:13um effizient zu arbeiten.
00:07:14Nun,
00:07:15wenn ich es nicht abrupt gebeten hätte,
00:07:16etwas zu ändern,
00:07:17wäre es vielleicht gut gelaufen.
00:07:18Aber trotzdem,
00:07:19als es alle Aufgaben initialisierte und ich es bat,
00:07:21mit der ersten Aufgabe zu beginnen,
00:07:22fing es an,
00:07:23das Projekt und die anderen benötigten Kerndienste zu initialisieren.
00:07:26Als es nun darum ging,
00:07:27die Umgebungsvariablen für die Supabase-Verbindung zu konfigurieren,
00:07:29markierte es aus irgendeinem Grund die Aufgabe automatisch als abgeschlossen,
00:07:33während es dort eindeutig einen Dummy-Schlüssel eingefügt hatte.
00:07:35Es hat mich nicht einmal gebeten,
00:07:37das Supabase-Projekt einzurichten oder einen tatsächlichen Schlüssel bereitzustellen.
00:07:40Und es versuchte automatisch, das Datenbankschema zu pushen.
00:07:43Da es keinen tatsächlichen Schlüssel gab, schlug es fehl.
00:07:45Und dann bat es mich, die Zeichenfolge zu überprüfen.
00:07:47Also werden nicht einmal die Aufgaben ordnungsgemäß aktualisiert,
00:07:50und es hat sie nicht wirklich korrekt befolgt.
00:07:52Ich würde das ehrlich gesagt jetzt nicht für End-to-End-Spec-Entwicklung verwenden.
00:07:55Be Mad ist die viel bessere Option.
00:07:57Und für kleine Projekte erstelle ich immer noch meine eigenen Kontextdateien.
00:08:00Damit kommen wir zum Ende dieses Videos.
00:08:01Wenn ihr den Kanal unterstützen und uns helfen möchtet,
00:08:04weiterhin solche Videos zu machen,
00:08:05könnt ihr das tun,
00:08:06indem ihr den Super-Thanks-Button unten verwendet.
00:08:08Wie immer,
00:08:08vielen Dank fürs Zuschauen und wir sehen uns im nächsten Video..

Key Takeaway

Googles neuer Gemini Conductor ist ein Context-Engineering-Workflow mit guten strukturellen Ideen, aber mangelhafter Implementierung und zahlreichen Fehlern, weshalb Alternativen wie Be Mad derzeit die bessere Wahl sind.

Highlights

Google hat mit Gemini Conductor einen neuen Context-Engineering-Workflow veröffentlicht, der jedoch viele Probleme aufweist und nicht besser als bestehende Lösungen ist

Conductor funktioniert als Erweiterung für Gemini CLI und verwendet fünf Hauptbefehle: Setup, Implement, Status, New-Track und Revert

Der Workflow erstellt strukturierte Dateien wie product.md, tech-stack.md und organisiert Aufgaben in sogenannten 'Tracks' mit plan.md und spec.md

Bei Tests zeigte Conductor erhebliche Schwächen: falsche Tech-Stack-Empfehlungen, unvollständige Datenbankschemas und fehlerhafte Aufgabenausführung

Ein kritischer Fehler trat auf, als der gesamte Conductor-Ordner versehentlich gelöscht wurde, nachdem der Nutzer von NPM zu PNPM wechseln wollte

Trotz guter Ansätze wie 80% Code-Test-Abdeckung und Git-Integration ist die Implementierung der Befehle mangelhaft und verwaltet die Kontextschleife nicht richtig

Be Mad wird als deutlich bessere Alternative für End-to-End-Spec-Entwicklung empfohlen

Timeline

Einführung und Sponsoring

Der Sprecher stellt Googles neuen Context-Engineering-Workflow 'Gemini Conductor' vor und gibt direkt zu, dass dieser nicht besser als andere verfügbare Workflows ist. Es werden verschiedene Probleme angedeutet, die selbst innerhalb des Gemini-Ökosystems die Qualität beeinträchtigen. Nach dieser kritischen Einschätzung folgt eine Werbeunterbrechung für Automata, ein Unternehmen, das KI-basierte Entwicklungs-Workflows implementiert. Automata positioniert sich als technischer Co-Pilot, der Ideen in funktionierende Apps und Websites verwandelt, ohne dass ein eigenes Entwicklerteam benötigt wird.

Grundlegende Funktionsweise von Conductor

Der Sprecher erklärt, wie Conductor als Erweiterung in Gemini CLI installiert wird und welche grundlegenden Konzepte verwendet werden. Erweiterungen sind Befehlssätze, MCPs und Regeln, die gebündelt und als Paket geteilt werden können - ähnlich wie Claude's Plugins. Nach der Installation mit einem Befehl stehen fünf Slash-Befehle zur Verfügung, die den Workflow steuern. Der Setup-Befehl ist der erste Schritt, der prüft, ob bereits Conductor-Dateien existieren und ob ein Projekt initialisiert wurde. Anstelle von 'Stories' verwendet Conductor 'Tracks', die nacheinander vervollständigt werden, und initialisiert ein neues GitHub-Repository.

Erster Test und Architekturprobleme

Für den Test wurde ein einfaches Projekt erstellt, wobei der Sprecher bewusst angab, dass es produktionsreif und für viele Benutzer skalierbar sein sollte, um die Qualität der Architekturempfehlungen zu prüfen. Conductor erstellte eine product.md-Datei mit dem Konzept und stellte Fragen zur Verfeinerung, die jedoch simpel waren und nirgendwohin führten. Daraufhin wurden Produktrichtlinien für Styling und Designprinzipien erstellt. Bei der Definition des Technologie-Stacks zeigte sich ein Hauptproblem: Obwohl Conductor das gesamte Projekt kannte, empfahl es keinen angemessenen Tech-Stack. Nach manueller Korrektur wurden auch Code-Style-Guides für die verwendeten Programmiersprachen hinzugefügt.

Workflow-Standards und Track-System

Der Standard-Workflow von Conductor beinhaltet einige positive Aspekte: 80% Code-Test-Abdeckung ist standardmäßig aktiviert, und beim Schreiben von Basiskomponenten werden auch Tests erstellt. Nach Abschluss jeder Aufgabe werden Änderungen committet und Git-Notes verwendet, um nachzuvollziehen, wo Fehler auftraten. Nach dem initialen Setup werden übergeordnete Produktanforderungen erstellt, die in Tracks umgesetzt werden. Der erste Track war jedoch zu breit gefasst und musste in kleinere Einheiten aufgeteilt werden. Jeder Track besteht aus zwei Dateien: plan.md mit den konkreten Aufgaben und spec.md mit Zielen und technischen Details aus dem Tech-Stack.

Implement-Befehl und Status-Tracking

Mit dem Implement-Befehl beginnt die eigentliche Arbeit, wobei Conductor die Tracks nacheinander aus dem Tracks-Ordner implementiert. Der Status jedes Tracks wird verfolgt: leer bedeutet nicht gestartet, eine Markierung zeigt 'in Bearbeitung' an, und eine andere Markierung signalisiert Abschluss. Der Status-Befehl gibt einen Überblick über laufende und abgeschlossene Tracks. Der New-Track-Befehl ermöglicht das Hinzufügen neuer Aufgaben. Bei Tests in einem bereits vorhandenen Repository lief der Prozess ähnlich ab, allerdings mit Blick auf bestehende Dateien und nur klärenden Fragen - neue Tracks mussten jedoch manuell als Features implementiert werden. Der Revert-Befehl nutzt Git-Bewusstsein, um Fehler des Agents rückgängig zu machen.

Strukturelle Stärken und fundamentale Schwächen

Das Dateimanagement und die Struktur von Conductor sind durchaus solide - die Implementierung von Features in Tracks und deren Nachverfolgung funktioniert gut. Jedoch weisen die Anweisungen und Befehlsdateien erhebliche Mängel auf, besonders bei der Verwaltung der Kontextschleife für Überprüfungen und Änderungen. Während des initialen Prozesses traten zahlreiche Fehler auf: Die Idee wurde bei der Dokumenterstellung nicht richtig zerlegt, was viel manuelle Führung erforderte. Beim Technologie-Stack wurden viele wichtige Komponenten für eine skalierbare App mit vielen Benutzern übersehen und mussten explizit nachgefordert werden. Das generierte Datenbankschema im ersten Track war völlig unvollständig und verfehlte entscheidende Elemente für die App-Einrichtung.

Kritische Fehler bei Änderungen

Obwohl Gemini ein gutes Modell ist, lassen die implementierten Befehle - besonders in der workflow.md - den Agent problematisch agieren. Ein katastrophaler Fehler trat auf, als der Sprecher nachträglich von NPM zu PNPM wechseln wollte: Conductor versuchte ein Backup zu erstellen und sollte nur NPM-Dateien entfernen, löschte aber stattdessen den gesamten Conductor-Ordner mit allen Planungsdateien. Danach suchte es kontinuierlich nach dem Ordner, und als es ihn nicht fand, versuchte es, alles aus dem Kontext und Speicher neu zu schreiben. Dies widerspricht dem Prinzip eines normalen Kontext-Workflows, bei dem Änderungen nur die Hauptkontextdateien und spezifisch betroffene Dateien betreffen sollten - wie es Be Mad effizient praktiziert.

Aufgabenausführung und Schlussfolgerungen

Bei der Initialisierung des Projekts und der ersten Aufgabe traten weitere Probleme auf: Beim Konfigurieren der Umgebungsvariablen für die Supabase-Verbindung markierte Conductor die Aufgabe automatisch als abgeschlossen, obwohl nur ein Dummy-Schlüssel eingefügt wurde. Es forderte weder zur Einrichtung des Supabase-Projekts auf noch zur Bereitstellung eines echten Schlüssels, versuchte aber trotzdem, das Datenbankschema zu pushen, was natürlich fehlschlug. Die Aufgaben wurden nicht ordnungsgemäß aktualisiert oder korrekt befolgt. Der Sprecher kommt zum Fazit, dass er Conductor derzeit nicht für End-to-End-Spec-Entwicklung empfehlen würde - Be Mad sei die deutlich bessere Option, und für kleine Projekte erstellt er weiterhin eigene Kontextdateien. Das Video schließt mit einem Dank an die Zuschauer und dem Hinweis auf den Super-Thanks-Button zur Unterstützung des Kanals.

Community Posts

View all posts