42 Punkte von GN⁺ 2026-03-25 | 2 Kommentare | Auf WhatsApp teilen
  • Zusammenfassung von sechs Wochen Erfahrung, in denen die Zahl der Commits durch Verbesserungen an der Entwicklungsinfrastruktur stark anstieg – etwa durch die Automatisierung einfacher, wiederkehrender Aufgaben für AI-Agenten, das Eliminieren von Build-Wartezeiten und den Aufbau eines parallelen Worktree-Systems
  • Mit dem Skill /git-pr wurde der Prozess zur PR-Erstellung automatisiert und damit die Kosten von Context Switching beseitigt; außerdem schreibt der Agent selbst detailliertere PR-Beschreibungen
  • Durch den Wechsel des Build-Tools zu SWC wurde der Serverneustart auf unter 1 Sekunde verkürzt, was eine Entwicklungsumgebung ohne Unterbrechungen im Flow ermöglicht
  • Mit der Preview-Funktion von Claude Code kann der Agent die UI selbst prüfen, wodurch der Flaschenhals entfällt, dass Entwickler jede Änderung manuell kontrollieren müssen
  • Wenn Reibungspunkte nacheinander entfernt werden, zeigt sich direkt das Theory-of-Constraints-Muster, bei dem jeweils der nächste Engpass sichtbar wird
  • Der Fokus liegt nun weniger auf der Implementierung von Features als auf dem Aufbau einer Infrastruktur, in der Agenten effizient arbeiten, und auf der Beschleunigung der Loop-Geschwindigkeit

Automatisierung einfacher, wiederkehrender Aufgaben

  • Anfangs wurden das Stagen von Änderungen, das Schreiben von Commit-Messages, das Formulieren von PR-Beschreibungen, das Pushen und das Erstellen von GitHub-PRs vollständig manuell erledigt
  • Der erste Wendepunkt war die Erkenntnis, dass es sich dabei um einfache Routinearbeit (grunt work) handelt; die Rolle änderte sich damit vom Implementierer zum Manager, der Agenten steuert
  • Als ersten Claude-Code-Skill wurde /git-pr geschrieben, um den gesamten Ablauf der PR-Erstellung zu automatisieren
    • Weil der Agent den kompletten Diff liest und die Änderungen sauber zusammenfasst, sind die PR-Beschreibungen detaillierter als die zuvor manuell verfassten
    • In der CLAUDE.md der Codebasis ist die Nutzung von Graphite festgehalten, persönlich wird jedoch plain git bevorzugt und daher mit /git-pr gearbeitet
  • Der größere Effekt gegenüber der reinen Zeitersparnis ist die Beseitigung des mentalen Overheads: Das kleine Context Switching von „über Code nachdenken → über die Erklärung des Codes nachdenken“ bei jeder PR entfällt

Wartezeiten eliminieren

  • Für lokale Previews musste man die aktuelle Arbeit immer wieder verlassen, den Dev-Server stoppen und in einem neuen Branch neu starten
  • Der Server-Build dauerte etwa 1 Minute – lang genug, um die Konzentration zu unterbrechen, aber zu kurz, um sinnvoll etwas anderes zu tun
  • Durch die Umstellung des Builds auf SWC wurde der Serverneustart auf unter 1 Sekunde verkürzt
    • Direkt nach dem Speichern einer Datei läuft der Server bereits wieder, sodass keine Lücke mehr entsteht, in der die Aufmerksamkeit abdriften kann
    • Verglichen wird das mit dem Unterschied zwischen „einem Gespräch mit peinlichen Pausen“ und „einem Gespräch, das natürlich fließt“

Eigene UI-Prüfung durch den Agenten

  • Zuvor mussten alle UI-Änderungen manuell in einer lokalen Preview geprüft werden, wodurch der Entwickler zum Flaschenhals für jede Funktion wurde
  • Nachdem eine Chrome-Erweiterung ständig abstürzte, wurde auf die Preview-Funktion von Claude Code umgestellt
    • Der Agent kann die Preview einrichten, Sitzungsdaten beibehalten und damit selbst direkt prüfen, wie die UI tatsächlich aussieht
  • Das wurde in den Workflow integriert, sodass eine Aufgabe nur dann als „fertig“ gilt, wenn der Agent die UI selbst verifiziert hat
    • Da die Verifikation delegiert werden kann, ist Eingreifen nur noch beim finalen Review nötig, und der Agent kann über längere Zeit autonom arbeiten
    • Ein deutlich wichtigerer Effekt als erwartet ist, dass der Agent eigene Fehler selbst erkennt

Paralleles Worktree-System

  • Nachdem schnelle Rebuilds und automatisierte Previews vorhanden waren, trat die nächste Reibung offen zutage: Bequem ließ sich immer nur eine Aufgabe gleichzeitig bearbeiten
  • Um PRs anderer Agenten oder Teammitglieder zu reviewen, musste vom Main-Branch auf einen PR-Branch gewechselt sowie neu gebaut und getestet werden – was mit uncommitteten Änderungen kollidierte
    • stash → checkout → rebuild → test → switch back → pop stash, oder manuelles Erstellen eines Worktree mit anschließenden Port-Konflikten
  • Die App benötigt für Frontend und Backend jeweils eigene Ports, und alle Worktrees teilen dieselben Umgebungsvariablen, sodass sie versuchen, sich an dieselben Ports zu binden
  • Zur Lösung wurde ein System aufgebaut, das beim Erstellen eines Worktree jedem Server automatisch einen eigenen Port-Bereich zuweist
    • Damit können sogar 10 Previews gleichzeitig laufen
  • Statt schon von 2 parallelen Branches überfordert zu sein, wurde auf einen Zustand umgestellt, in dem 5 Worktrees gleichzeitig betrieben werden
    • Mehrere Agenten laufen in separaten Worktrees, bauen jeweils unterschiedliche Features und arbeiten autonom weiter, bis die UI-Selbstprüfung abgeschlossen ist
    • Nach intensiver Beteiligung in der Planungsphase wird bis zum Zeitpunkt des Code-Reviews nicht mehr eingegriffen
  • Auch Reviews laufen nun deutlich reibungsloser: lesen, prüfen, mergen – ohne Setup-Arbeit, Rebuilds oder Port-Konflikte

Der Kern ist nicht AI, sondern Infrastruktur

  • Die Rolle hat sich verändert: Statt Zeit damit zu verbringen, komplexe Probleme selbst zu lösen und perfekte UI zu bauen, macht es mehr Spaß, Infrastruktur aufzubauen, die Agenten effektiv macht
  • Es fühlt sich eher so an, als wäre man nicht Solo-Entwickler, sondern Manager eines zehnköpfigen Teams
  • Es ist keine glamouröse Plumbing-Arbeit, aber genau sie entscheidet darüber, ob man im Flow bleibt oder mit der Umgebung kämpft
  • Bei Tano war die Arbeit mit dem höchsten Hebel nicht Feature-Entwicklung, sondern der Aufbau einer Infrastruktur, die den Commit-Fluss in einen Stromschnellen-Modus verwandelt hat

Der Loop: Anwendung der Theory of Constraints

  • Jeder Schritt beseitigt eine andere Art von Reibung:
    • /git-pr: beseitigt die Formatierungsreibung, um Code-Änderungen in eine PR zu überführen
    • SWC: beseitigt die Wartereibung zwischen Änderung und Sichtbarkeit des Ergebnisses
    • Preview-Funktion: beseitigt die Verifikationsreibung beim Prüfen von Änderungen
    • Worktree-System: beseitigt die Context-Switching-Reibung zwischen mehreren Arbeitsströmen
  • Jedes Mal, wenn ein Engpass entfernt wird, wird sofort der nächste sichtbar – ein typisches Muster der Theory of Constraints
  • Das Wesen der Arbeit hat sich verändert: Nicht mehr „ein Tool zum Schreiben von Code benutzen“, sondern ein enger Feedback-Loop aus Aufgabenstart → Agent schreibt Code → Preview prüfen → Diff lesen → Feedback oder Merge → nächste Aufgabe
  • Wenn der Loop schnell genug ist, bleibt keine Lücke, in der die Aufmerksamkeit entweichen kann, und die Geschwindigkeitssteigerung selbst wird zum Spiel
  • Am Ende verschiebt sich das Ziel der Entwicklung von der Feature-Implementierung hin zu der Frage, wie weit sich die Geschwindigkeit des Loops noch erhöhen lässt
    • Ein Stadium, in dem Geschwindigkeit selbst zur Freude am Engineering wird

2 Kommentare

 
t7vonn 2026-03-25

Als Reviewer war meine Erfahrung nicht besonders gut, wenn ich eine von einer Maschine geschriebene PR-Beschreibung gesehen habe. Vielleicht liegt es einfach daran, dass man nur das Prompt-Tuning gut hinbekommen muss..

 
GN⁺ 2026-03-25
Hacker-News-Kommentare
  • Es fühlt sich an, als wäre die Kennzahl „wöchentliche Codezeilen“ aus den 90ern zurück
    „Mehr PRs zu machen“ ist kein Beleg dafür, dass AI gut funktioniert, sondern bedeutet nur, dass mehr gemergt wird
    Codequalität, Bugs und Wartungsaufwand auszublenden und Leistung nur nach Output zu bewerten, unterscheidet sich nicht von den schlechten Metriken, die frühere Manager durchgedrückt haben
    Am Ende haben wir wohl nicht schlechte Metriken abgelehnt, sondern es gehasst, überhaupt gemessen zu werden

    • Ich nutze AI auch jeden Tag, ziele aber eher auf weniger PR-Kommentare, Iterationen und Bugs als auf „Zeilenzahl“
      Das eigentliche Ziel ist Code, der einfach ist und wirkungsvolle Ergebnisse liefert
      Ich experimentiere damit, mehrere Agenten gleichzeitig laufen zu lassen, damit sie unterschiedliche Implementierungen versuchen, und die guten Ideen daraus zusammenzuführen
      Außerdem sammle ich Dokumentation und Anforderungen, stelle dem Agenten dazu Fragen und verallgemeinere Feedback aus Code-Reviews zu Checklisten, die ich in die nächste Review übernehme
    • Der Autor hat wohl auch einen Blogpost über Burnout und Angst geschrieben; diese Produktivitätsfixierung scheint damit zusammenzuhängen
      So viel zu arbeiten, dass man krank wird, ist kein Grund zum Stolz, sondern ein Signal für ein kaputtes System
    • Schon im ersten Satz des Artikels wird eingeräumt: „Commits sind eine schlechte Metrik, aber das sichtbarste Signal, das ich habe“
    • Codezeilen sind auf individueller Ebene bedeutungslos, aber zur Abschätzung der Größe eines Gesamtsystems durchaus sinnvoll
      Das COCOMO-Modell gilt zum Beispiel als so verlässlich, dass es sogar vor Gericht zur Schätzung des Systemwerts verwendet wird
    • Die Aussage „Wir haben nicht schlechte Metriken abgelehnt, sondern die Messung selbst gehasst“ läuft letztlich auf die Frage hinaus, ob es überhaupt gute Metriken gibt
      Die meisten Entwickler wollen sich selbst nicht quantifizieren
      AI-Befürworter meinen allerdings, dass man messen muss, um Verbesserungen nachzuweisen
  • Ich finde, man sollte LLMs so einsetzen, dass sie die kognitive Last reduzieren
    Menschen sind schlecht im Multitasking, und LLMs gleichen das nicht aus
    Ich lasse Claude die Implementierung nicht einfach übernehmen, sondern nutze es eher so, dass ich durch den Implementierungsprozess geführt werde
    So verstehe ich den gesamten Ablauf und kann gleichzeitig Details und das große Ganze sehen
    Claude sollte nur die repetitiven und mechanischen Teile übernehmen

    • Ich nutze ebenfalls einen POC-zentrierten Workflow
      Ich stelle dem LLM Fragen, damit es das Problem versteht, schreibe den Kerncode selbst und lasse es dann den restlichen Implementierungsplan aufstellen
      LLMs sind stark beim Lesen, Erklären und bei einfachen Aufgaben im Code, und ich konzentriere mich darauf, die Richtung der Problemlösung zu wählen
    • Mir gefällt diese Idee so gut, dass ich sie sofort ausprobieren will
      Ich experimentiere mit Prompts wie „Erstelle eine Liste der Annahmen“ oder „Zähle Entscheidungen auf, die nicht im Plan standen“, um nachzuverfolgen, was das LLM an meiner Stelle entschieden hat
    • Manche finden diese intensive Zusammenarbeit spaßig und sehr fesselnd
      Wenn man die Eigenheiten von Claude versteht, wird auch die Verifikation effizienter, und mit mehr Erfahrung wird Qualitätskontrolle einfacher
  • Wenn man mehrere Agenten auf ein großes Feature ansetzt, entsteht am Ende das Problem, dass die Review-Zeit enorm steigt
    Denn fremden Code zu lesen – ob von Menschen oder AI – ist schwieriger, als ihn selbst zu schreiben
    Man könnte das mit Testautomatisierung abfedern, aber vollständiges Vertrauen ist schwer

    • Deshalb betone ich die Strenge in der Planungsphase
      Ich mache Umfang, Tests und Dokumentationsplan klar, setze Code-Review-Bots (Sourcery, CodeRabbit, Codescene) und starke Linting-Regeln ein
      Dazu nutze ich BDD, Property Testing, e2e-Tests, Code Audits und sogar Mutation-/Fuzzing-Tests
      Der Vorteil von Agent Coding ist, dass es Zeit für genau diese Qualitätskontrolle freimacht
    • Der Engpass ist, dass LLMs unnötig weitschweifige und überflüssige Änderungen produzieren und dadurch den Review-Umfang aufblähen
    • Bei Änderungen mit geringem Risiko, etwa einfachen Fixes oder UI-Verbesserungen, ist aber auch automatisches Deployment möglich
      Ich probiere schrittweise Auslieferung mit Ansätzen wie 100 PRs a day aus
    • Ich deploye von Agenten erzeugten Code nicht direkt, sondern nutze nur dessen Output
    • Code-Review kann mit Übung durchaus schneller werden
      Wenn man Arbeit kleinteilig schneidet und den Tests vertraut, wird auch AI-Code-Review leichter
      Ich schaue mir die Testfälle genauer an und ziehe das Code-Review schnell durch
      Ich lasse nicht mehrere Agenten parallel laufen, aber durch AI ist meine Produktivität definitiv gestiegen
  • Wenn das Schreiben von PRs nur noch automatisiert abläuft, verschwindet die Gelegenheit zur Selbstprüfung
    Beim Formulieren der PR-Beschreibung habe ich oft Merkwürdigkeiten in meinem Code entdeckt
    Der Moment, in dem ich es auf Englisch erklären musste, war der letzte Sanity Check

  • Dank des worktree-Systems ist Kontextwechsel leichter geworden, gleichzeitig steigt aber die mentale Ermüdung

    • Ich habe das Gefühl, dass es Forschung braucht, wie sich mehrere parallel laufende Agenten tatsächlich auf Geschwindigkeit und Genauigkeit auswirken
    • Ich konzentriere mich eher auf 1–2 Aufgaben gleichzeitig
      Wenn man sie in kleine Einheiten aufteilt und kurze Review-Zyklen fährt, ist Qualitätskontrolle einfacher
    • Ich nutze eine Queue-Strategie, bei der Agenten PRs erzeugen und ich sie später gesammelt reviewe
    • Ich lasse mehrere worktrees parallel laufen, beobachte sie aber nicht ständig
      Mir gefällt, dass ich meinen Flow nicht unterbrechen muss und am nächsten Tag zurückkomme, während der Fortschritt schon da ist
  • Ich bin skeptisch gegenüber der Annahme, dass Claude Code automatisch hochwertigen Code fertigstellt
    In der Praxis braucht es mehrere Runden aus Feedback und Korrekturen, und mehrere Aufgaben gleichzeitig parallel zu steuern ist eher ineffizient

  • Claude Code ist als Lernwerkzeug revolutionär, aber die Qualität der Codegenerierung schwankt
    Ich habe beim Lernen von Flutter/Dart Claude zu Konzepten befragt und konnte so ohne Buch in nur einer Woche eine App bauen
    Es fühlt sich fast wie eine interaktive Enzyklopädie an

    • Für diesen Anwendungsfall stimme ich voll zu. Wirklich revolutionär
    • Viele Leute nutzen es genau so
      Auf Fragen wie „Was ist in dieser Sprache der idiomatische Weg, X zu tun?“ bekommt man sofort nützliche Antworten
      Es ist aber weniger etwas, das die Welt verändert, als einfach ein sehr gutes Werkzeug
    • AI sollte nicht Menschen ersetzen, sondern Lernen und Kompetenzaufbau beschleunigen
      Übertriebenes Marketing hat aber negative Auswirkungen auf die Wirtschaft insgesamt
      Es gibt auch die Sorge, dass jüngere Menschen Berufe aufgeben, weil sie der Illusion glauben, AI werde alle Jobs ersetzen
  • Es gab die Aussage: „Nach dem Wechsel auf SWC sank die Zeit bis zum Server-Neustart auf unter 1 Sekunde“,
    SWC steht für Speedy Web Compiler und ist ein Tool zum schnellen Transpilieren ohne Type-Checking
    Dasselbe wird auch in der NestJS-Dokumentation erklärt

  • Nur weil man LLMs nutzt, ist das kein Grund, mit explosionsartig gestiegener Produktivität zu prahlen
    Wenn alle dieselben Tools verwenden, steigt einfach die Basislinie
    Außerdem ist die langfristige Qualität unklar, wenn große Mengen AI-generierten Codes nicht ordentlich reviewt werden

    • Leistung sollte nicht durch simplen Vergleich, sondern anhand der eigenen Ergebnisse und ihres Werts beurteilt werden
    • Zu sagen, man sei durch moderne Compiler (wie GHC) produktiver geworden, ist im Grunde derselbe Gedankengang
  • LLMs steigern die Produktivität zwar, aber das über Commit-Zahl-Graphen zu messen, ist sinnlos
    Genauso töricht wie Qualität nach LOC zu beurteilen

    • Dank Claude habe ich ebenfalls Features, die monatelang liegen geblieben waren, in wenigen Tagen umgesetzt
      Ich schreibe den Code selbst und verstehe ihn dabei, und Claude hilft stark bei Aufgabenzerlegung und als Review-Partner
    • Der beste Indikator für Verbesserungen an einer Codebasis ist negative LOC, also das Entfernen unnötigen Codes
    • Meiner Erfahrung nach waren die besten Engineers diejenigen, die Code reduziert haben
      Die Fähigkeit, komplexen Code durch einfache Abstraktionen zu ersetzen, ist echte Produktivität