AI-Coding Workflow: Teil 1: Weniger menschliche Zeit verlieren

AI-Coding Workflow: Teil 1: Weniger menschliche Zeit verlieren

Geschrieben von Fachexperten: Timon Fiddike Timon Fiddike, CSTÂź, Machine Learning seit 2005

Zusammenfassung

Schnelleres Coding mit AI nĂŒtzt wenig, wenn die ÜberprĂŒfung durch Menschen zum Flaschenhals wird. Hier beschreibe ich einen Workflow, der Menschen systematisch entlastet: An einem Praxisbeispiel zeige ich auf, wie man konsistent Regeldateien, Werkzeuge und andere Prozessbestandteile verbessert. Dadurch kommt man Schritt fĂŒr Schritt zu einem besseren Workflow fĂŒr die jeweilige konkrete Applikation.

Die folgende Grafik zeigt von links nach rechts einige Arbeitsschritte innerhalb der Software Entwicklung. Manche Aspekte werden hier bewusst nicht betrachtet:

  • Bevor man mit der Programmierung beginnen kann, greifen i.d.R. noch Prozesse zum Sammeln, Priorisieren und KlĂ€ren von Anforderungen.
  • Nachdem etwas programmiert und getestet ist, wollen wir es nicht immer sofort an alle Kunden bereitstellen. Je nach Firma und Produkt gibt es z.T. ausgefeilte Mechanismen zur Bereitstellung an eine erste, kleinere Gruppe von Nutzern.

Wir konzentrieren uns hier bewusst auf die unmittelbare Umsetzungsarbeit, d.h.

  • Programmierung (Coding)
  • 4-Augen Check (Code Review durch Kollegen)
  • Testen aus technischer Sicht
  • Testen aus Kundensicht
  • Bereitstellung intern (Staging)

KapazitÀt: Status quo

Die Grafik kommt ohne Zahlen aus: Die Balken zeigen unsere KapazitĂ€t fĂŒr jeden Prozessschritt. In der ersten Grafik, die den Status Quo symbolisiert, reichen die Balken jeweils bis zur Mitte. Wie auch immer wir die KapazitĂ€t quantifizieren: Dies ist die KapazitĂ€t, mit der wir starten, und mit der wir spĂ€ter vergleichen können. In der Grafik lĂ€uft die Zeit von links nach rechts:

KapazitĂ€t fĂŒr Coding steigern

Stell dir vor, wir könnten die KapazitĂ€t fĂŒr Programmierung (Coding) deutlich steigern. Die im nĂ€chsten Bild gezeigte Verdopplung ist willkĂŒrlich gewĂ€hlt, wir können genauso gut von 50 % oder Faktor zehn ausgehen, interessanter ist letztlich die nĂ€chste Frage (bitte vergib mir die offensichtliche und provokative Frage):

WĂ€re eine deutliche Steigerung unserer KapazitĂ€t fĂŒr Coding wertvoll, wenn die KapazitĂ€t fĂŒr alle nachfolgenden Prozessschritte unverĂ€ndert bleibt?

Die meisten Menschen antworten sinngemĂ€ĂŸ mit “Nein, die Beschleunigung von Coding allein ist NICHT wertvoll!”, denn es entsteht eine Engstelle, ein sogenannter Flaschenhals (Bottleneck) und wir könnten letztlich nicht mehr ausliefern als zuvor.

ZusÀtzlich zum fehlenden Nutzen besteht hier sogar das Risiko, dass durch den Stau an der Engstelle sogar noch Zeit verloren geht, und: Was wÀre, wenn der schneller produzierte Code niedrigere QualitÀt hÀtte als zuvor?

  • Bei der ÜberprĂŒfung durch den Entwickler und Kollegen (Code Review) wĂŒrden dann zusĂ€tzliche Fehler auffallen.
  • Es wĂŒrden zusĂ€tzliche Korrekturen angemahnt werden.
  • Nach Umsetzung der Korrekturen wĂŒrde ein erneutes Code Review wieder Zeit kosten und unsere begrenzte KapazitĂ€t belasten.

Wir können die Betrachtung verschiedener Szenarien abkĂŒrzen und direkt zur Schlussfolgerung kommen:

KapazitĂ€t fĂŒr Gesamtprozess steigern

Unsere KapazitĂ€t fĂŒr Coding zu steigern hat letztendlich nur dann einen Wert, wenn wir die KapazitĂ€t der nachfolgenden Prozessschritte ebenfalls steigern, wie in der nĂ€chsten Grafik gezeigt:

Ursachen fĂŒr Menschen als Flaschenhals

Viele Menschen arbeiten mit AI-Coding Tools ungefÀhr so, wie in der nÀchsten Grafik gezeigt:

  • Mensch gibt dem Agenten mit Hilfe eines Prompts eine Aufgabe
  • Agent erstellt Code
  • Mensch ĂŒberprĂŒft Code
  • Mensch korrigiert Code mit der Hand oder durch weiteres Prompt an den Agenten
  • Agent verĂ€ndert Code
  • Mensch ĂŒberprĂŒft Code
  • usw.

Bei dieser Arbeitsweise geht sehr viel menschliche Zeit verloren, indem Menschen versuchen, den Code des Agenten zu verstehen, und indem Menschen Code selbst korrigieren oder per Prompt eine Korrektur veranlassen. In der Grafik lÀuft die Zeit von links nach rechts.

Menschen entlasten durch Workflow

Wenn wir die KapazitĂ€t fĂŒr den Gesamtprozess steigern möchten (wie oben gezeigt) und bemerken, dass der Mensch der Flaschenhals ist, dann brauchen wir eine Möglichkeit, den Menschen zu entlasten.

Der in der nÀchsten Grafik skizzierte Workflow entlastet den Menschen, indem das Interaktionsmuster verÀndert wird wie in der Grafik gezeigt:

ZunÀchst einmal geben wir dem Agenten nicht gleich ein Prompt zur Erzeugung von Code:

FĂŒr mich hat sich bewĂ€hrt, mehrstufig zu planen, d.h.

  • Prompt, der beschreibt, was ich erreichen möchte, was fĂŒr den Nutzer möglich sein soll, welche NutzerInteraktion ich mir wĂŒnsche (komplett von außen betrachtet). Dabei weise ich den Agenten an, mir Fragen zu stellen, bis er die Anforderung verstanden hat. Insbesondere weise ich ihn an, mir eine Frage nach der anderen zu stellen und jede Antwort zunĂ€chst in seinem Kontext einzubeziehen, bevor er die nĂ€chste Frage stellt (manchmal habe ich schon 5-10 Fragen auf einmal erhalten, von denen die hinteren Fragen obsolet waren, nachdem ich die ersten beantwortet hatte).
  • Prompt, der den Agenten anweist, einen technischen Umsetzungsplan zu entwickeln. Diesen Umsetzungsplan kann ich leichter ĂŒberprĂŒfen, als Code-Änderungen an 20 Dateien o.Ă€. und ich kann den Plan sehr leicht anpassen, oder anpassen lassen. Erst wenn ich mit dem Umsetzungsplan einverstanden bin, startet die Umsetzung.

Die mehrstufige Planung entlastet den Menschen, denn anstelle eines Code Review an 20 Dateien ĂŒberprĂŒfe ich sehr schnell und systematisch, ob die durchgefĂŒhrten Änderungen dem zuvor von mir bereits geprĂŒften Plan entsprechen.

Einen noch grĂ¶ĂŸeren Beitrag zur Entlastung des Menschen leistet der hintere Teil des Workflow, wie in der nĂ€chsten Grafik hervorgehoben:

Statt nur Interaktion zwischen Mensch und Agent zu nutzen, geben wir dem Agenten eine ganze Reihe von deterministischen Tools, z.B.

  • Formatter
  • Linter
  • Statische Codeanalyse
  • Coding Standard Fixer
  • Unit Tests
  • Integrationstests
  • e2e Tests
  • Browser Integration per MCP

Mein Prompt zur Umsetzung des o.g. Plans beinhaltet i.d.R. die Anweisung, nach jeder CodeÀnderung, die gesamte Suite an deterministischen Tools anzuwenden. Bei einer Web-Anwendung gehört auch dazu, das der Agent, Mithilfe der MCP Browser Integration, das neue Feature selbst vollstÀndig durchklickt und erprobt.

Der Agent soll dann jedes Problem, dass bei den verschiedenen ÜberprĂŒfungsschritten auftaucht, direkt selbst lösen und Menschen nur dann involvieren, wenn es ihm in fĂŒnf Versuchen nicht gelingen sollte, eine funktionierende Lösung in hoher QualitĂ€t zu liefern.

Workflow systematisch verbessern

Mit meiner aktuellen Kombination von Agenten, Modellen und deterministischen Tools ist es schon lĂ€nger nicht vorgekommen, dass der Agent nach fĂŒnf AnlĂ€ufen erfolglos aufgeben musste. Mit einem guten Basismodell schafft er es entweder sofort, oder er korrigiert sich selbst in 2-3 AnlĂ€ufen.

Der SchlĂŒssel liegt nun darin, sich nicht zu frĂŒh mit guten Ergebnissen zufrieden zu geben:

Wenn der Agent mehr als einen Anlauf gebraucht hat, um ein gutes Ergebnis zu erzeugen, stelle ich immer die Frage, warum mehrere AnlÀufe erforderlich waren, und lese sehr aufmerksam die Analyse.

Praxisbeispiel In einer Codebase, an der ich hĂ€ufiger arbeite, wird React im Kontext einer Symfony Applikation verwendet, und der Agent brauchte einmal mehrere AnlĂ€ufe, um zu realisieren, wie er eine neue React-Komponente korrekt im ĂŒbergeordneten Framework registrieren kann. Basierend auf diesem Analyseergebnis habe ich den Agenten dann angewiesen, eine Regeldatei zu erstellen, die fĂŒr die Zukunft verhindert, dass die vergangenen Fehler wiederholt werden. Aus Neugier habe ich dann meine Änderungen am Code als Branch in Git behalten, den aktuellen Stand jedoch wieder zurĂŒckgesetzt und nur die neue Regeldatei behalten. Anschließend durfte der Agent mit frischem Kontext noch einmal von vorn beginnen. Dank der neuen Regeldatei kam er dann schon im ersten Anlauf zu einem guten Ergebnis.

Wer sich nicht mit guten Ergebnissen allein zufrieden gibt, sondern auf die oben gezeigte Art konsistent Regeldateien, Werkzeuge und andere Prozessbestandteile verbessert, kommt damit Schritt fĂŒr Schritt zu einem besseren Workflow fĂŒr die jeweilige konkrete Applikation.

In vorherigen Artikeln beschreibe ich menschliche Aspekte und technische Aspekte von AI-Coding.

In meinen AI-Coding Workshops geht es typischerweise darum, dass Entwickler selbst gute Workflows fĂŒr die Arbeit an ihrem konkreten eigenen Code aufbauen. Dabei tauchen wir, soweit nötig, auch in technische und menschliche Aspekte des AI-Coding ein.

Lass uns ein kostenloses ErstgesprĂ€ch fĂŒhren (gerne auch mit Coding Demo), um herauszufinden, ob diese Dinge fĂŒr Euch wertvoll sein könnten.

AI-Coding Workshop

AI-Coding Hands-on Workshop

Du bist von Anfang an selbst an der Tastatur. Am Ende unseres AI-Coding Workshops hast Du einen prall gefĂŒllten Werkzeugkoffer. Du arbeitest souverĂ€n mit aktuellen Werkzeugen und lieferst in kurzer Zeit Ergebnisse in hoher QualitĂ€t.

Zum Deep Dive / Workshop

Reflexion, Einladung und Angebot

  • Hast Du als Entwickler konkrete Ideen fĂŒr Deinen eigenen Weg bekommen?
  • Hast Du als FĂŒhrungskraft einen Eindruck gewonnen, welche Schritte Deine Mitarbeiter gehen könnten? Denkst Du darĂŒber nach, ihnen andere Impulse und UnterstĂŒtzung anzubieten als bisher?
  • Hast Du einen ersten Eindruck von mir?

Nimm Kontakt mit mir auf, wenn Du Dich fĂŒr einen Impulsvortrag (mit Coding Demo) oder Workshop interessierst! Lass uns gemeinsam ĂŒberlegen, welche Art von UnterstĂŒtzung fĂŒr Euch hilfreich sein kann:

Unten auf der Seite Kontakt kannst Du Dir direkt per Calendly einen Termin fĂŒr ein ErstgesprĂ€ch aussuchen (unverbindlich und kostenlos).

Über den Autor

Dr. Timon Fiddike

Dr. Timon Fiddike

  • Seit 2010 auf dem Pfad der AgilitĂ€t
  • Seit 2005 KI, AI, Machine Learning, siehe Werdegang
  • Erfahrung als Entwickler im Team, Product Owner, Scrum Master, GeschĂ€ftsfĂŒhrer und Coach
  • Höchste Zertifizierung: Certified Scrum TrainerÂź (weltweit ca. 220 Personen) fĂŒr die Scrum AllianceÂź
  • Erfahrung in Startup, Mittelstand & Konzern
  • Integraler Coach – Ausbildung nach ICF ACTH-Standard
  • UnterstĂŒtzt mit Begeisterung das menschliche Wachstum, das agile Arbeit ermöglicht
  • GeschĂ€ftsfĂŒhrer Agile.Coach GmbH & Co. KG

Zu Timons Profil