22 Punkte von GN⁺ 2025-04-23 | 3 Kommentare | Auf WhatsApp teilen
  • LLM-Tools ersetzen Programmierer nicht, sondern verstärken die Fähigkeiten von Entwicklern
  • Aus der Nutzung von Claude Code wurde deutlich, dass sich die Coding-Geschwindigkeit drastisch erhöht hat, menschliche architektonische Entscheidungen und kontinuierliche Aufsicht aber weiterhin unverzichtbar sind
  • Mit der Einführung von LLMs wird Problemdefinition und Design wichtiger als das eigentliche Coding
  • Weil AI Fehler verstärkt, besteht für unerfahrene Entwickler das Risiko, Fehler der AI nicht zu bemerken
  • Im Programmieren der Zukunft werden die Fähigkeit zur Zusammenarbeit mit AI, Urteilsvermögen und die Entschlossenheit zum Verwerfen zentrale Kompetenzen sein

LLM-Programmierung ist kein Ersatz für Menschen, sondern ein Mittel zur Verstärkung

  • LLM-basierte Programmier-Tools sind wie ein Mech Suit, der die Fähigkeiten von Entwicklern verstärkt
  • Der Autor entwickelte kürzlich mit Claude Code eine Backend-Agentenplattform und eine Frontend-SaaS-App
  • Dabei entstanden insgesamt mehr als 30.000 Zeilen Code, wodurch die praktische Wirkung von LLMs direkt erfahrbar wurde
  • Claude Code ersetzt den Nutzer nicht, sondern ist ein Tool, das ähnlich wie Ripleys Power Loader die Fähigkeiten von Entwicklern verstärkt
  • Architekturentscheidungen, Qualitätskontrolle und Richtungsgebung werden weiterhin vom Menschen geführt
  • AI ist bei Geschwindigkeit und wiederholbaren Aufgaben im Vorteil, aber eine falsche Richtung kann zu fatalen Ergebnissen führen

Vigilance: AI-Coding erfordert ständige Aufmerksamkeit

  • Claude Code trifft gelegentlich seltsame Entscheidungen und ignoriert mitunter grundlegende Probleme oder hardcodet Dinge, nur um Tests zu bestehen
  • Es kommt auch vor, dass Frameworks überhastet ausgetauscht oder unnötige Abhängigkeiten hinzugefügt werden
  • Wie bei einem Piloten ist in entscheidenden Momenten menschliches Eingreifen zwingend erforderlich
  • In einem Moment der Unachtsamkeit lief die AI in die falsche Richtung, sodass der Backend-Code gleich dreimal vollständig neu geschrieben werden musste
  • LLMs verringern die Coding-Last, aber die Last von Aufsicht und dem Erhalt der Architektur wächst

Veränderung der Ökonomie der Programmierzeit

  • Programmierzeit lässt sich traditionell in drei Bereiche unterteilen: Warum (Ziel), Was (Design) und Wie (Coding)
  • Seit der Einführung von Claude Code ist die für das „Wie“ benötigte Zeit fast auf null gesunken
  • Dafür wird das Nachdenken über „Warum“ und „Was“ noch wichtiger
  • Da sich Code leicht erzeugen lässt, braucht es nun den Mut, bestehenden Code konsequent zu verwerfen und einen besseren Ansatz zu wählen
  • Diese Entschlusskraft ist vielen Entwicklern noch nicht vertraut; wir leben nun in einer Zeit, in der Design-Urteilskraft wichtiger ist als Implementierungszeit

Der Unterschied, den Erfahrung macht

  • Um AI effektiv zu nutzen, braucht es die Einsicht und Urteilskraft aus 30 Jahren Erfahrung
  • Selbst wenn Code funktioniert, ist die Fähigkeit wichtig, Antipatterns zu erkennen, die für Skalierung oder Wartbarkeit ungeeignet sind
  • Unerfahrene Entwickler übersehen die Probleme von AI-generiertem Code leichter und laufen Gefahr, sich nur mit dem unmittelbaren Effekt zufriedenzugeben
  • AI verstärkt nicht nur Fähigkeiten, sondern auch Fehler; ohne Urteilsvermögen steigt daher das Risiko

Der Zentaur-Effekt: Zusammenarbeit von Mensch und AI

  • Wie beim aus dem Schach bekannten Zentaur-Schach erzielt die Kombination aus AI und Mensch bessere Ergebnisse als AI allein
  • Die Zusammenarbeit mit Claude Code funktioniert ähnlich: Der Mensch gibt die strategische Richtung vor, die AI übernimmt taktische Aufgaben
  • Am effektivsten war der Ansatz: „Spezifikation entlang des Gedankenflusses schreiben → gemeinsam mit Claude verfeinern“
  • Da Claude keine kontextangemessenen Urteile fällen kann, braucht es immer menschliche Überwachung und Bewertung

Balance finden: Delegation und Kontrolle austarieren

  • Lässt man die AI unbeaufsichtigt, versucht sie häufig, Probleme unnötig kompliziert zu lösen
  • Beispiele: doppelter Code, falsche Technologieentscheidungen und andere Fehlfunktionen der AI, die reale Probleme verursachen
  • Auch im Frontend wiederholten sich Situationen, in denen eigentümliche JavaScript-Implementierungen in Richtung Elixir- oder LiveView-Ansatz korrigiert werden mussten
  • Für einfache, repetitive Aufgaben sollte delegiert werden; bei Teilen, die komplexe Urteile erfordern, braucht es einen Kooperationsrhythmus mit direktem Eingreifen
  • Dank AI war schnelle Entwicklung möglich, aber ohne menschliches Eingreifen hätte es nicht richtig funktioniert

Die Zukunft ist Augmentation

  • LLMs werden Programmierer nicht vollständig ersetzen, aber die Arbeitsweise und die erforderlichen Fähigkeiten stark verändern
  • Strukturelles Denken, Mustererkennung und technisches Urteilsvermögen werden wichtiger als bloße Coding-Fähigkeiten
  • Schon die Fähigkeit, mit AI zusammenzuarbeiten, entwickelt sich zu einer neuen technischen Kernkompetenz
  • Erfolgreiche Entwickler der Zukunft werden AI nicht fürchten, sondern sowohl ihre Grenzen als auch ihre Möglichkeiten verstehen und mit ihr umgehen können
  • AI ist kein Werkzeug, das den Menschen beseitigen will, sondern eines, das menschliche Möglichkeiten erweitert

3 Kommentare

 
bus710 2025-04-23

Ich bin weder Amuro, noch habe ich einen Gundam zugeteilt bekommen ...?

 
jsh5782 2025-04-23

Dass Leistungsunterschiede bei Mobile Suits keinen entscheidenden Unterschied in der Kampfkraft ausmachen …

 
GN⁺ 2025-04-23
Hacker-News-Meinung

Wichtiger als das Coding sind Problemverständnis und Design

  • Traditionell lässt sich Coding in drei Zeitbereiche einteilen
    • Warum machen wir diese Arbeit? Das Geschäftsproblem und den Wert verstehen
    • Was muss getan werden? Die Lösung konzeptionell entwerfen
    • Wie wird es umgesetzt? Den Code tatsächlich schreiben
  • Der letzte Schritt hat früher viel Zeit gekostet, doch dank Claude dauert er heute fast keine Zeit mehr
    • Wenn man für den letzten Schritt viel Zeit aufwendet, kann das bedeuten, dass die ersten beiden Schritte falsch waren oder man mit dem Tool nicht vertraut ist
    • Manuelles Editieren von Code ist umständlich, wird aber in vielen Sprachen durch IDEs und Indexer automatisiert
    • In Programmierprojekten wurde mehr Zeit dafür aufgewendet, das Problem zu verstehen
  • Das heißt, Problemverständnis und Design beanspruchen mehr Zeit
    • Coding gehört zum einfachsten Schritt
    • Wenn es lange dauert, kann das an mangelnder Vertrautheit mit den Tools oder unzureichendem Design liegen
  • Das Entwerfen von Datenstrukturen ist der Schlüssel
    • Wenn die Struktur gut steht, ist Coding nur noch eine einfache Implementierung
    • In diesem Punkt sind Menschen LLMs überlegen

Grenzen und Vorsichtspunkte bei LLMs

  • LLMs treffen oft falsche Entscheidungen
    • Zum Beispiel: unnötige Abhängigkeiten hinzufügen, anfälligen Code erzeugen
    • Menschen müssen sie unbedingt überprüfen und korrigieren
  • Sicherheitsprobleme erkennen sie nicht von selbst
    • Zum Beispiel: injection, falsch gesetzte Berechtigungen
  • Leistungseinbußen in großen Codebases
    • Wegen der Begrenzung des Kontextfensters scheitern sie daran, die Gesamtstruktur zu verstehen

Produktivitätssteigerung durch LLMs

  • Bei wiederholenden und einfachen Aufgaben sind sie sehr effektiv
    • Bei Boilerplate, Testcode usw. spart das Zeit
  • Der Einsatz in der Planungsphase ist effizienter
    • Nützlich für Entwürfe von System Design, Funktionszerlegung usw.
  • Hervorragend beim Lernen unbekannter Sprachen oder Frameworks
    • Man kann den grundlegenden Ablauf schneller erfassen als mit herkömmlicher Dokumentation

Die Bedeutung von Erfahrung und technischem Urteilsvermögen

  • Um LLMs gut zu nutzen, ist Erfahrung noch wichtiger
    • Man braucht die Fähigkeit, Probleme strukturiert zu beurteilen und zu filtern
  • Auch wenn LLMs Code erzeugen, bleiben Review und Refactoring Sache des Menschen
    • „Funktioniert“ und „ist richtig“ sind nicht dasselbe

LLMs ersetzen Entwickler nicht, sondern unterstützen sie als Werkzeug

  • LLMs kommen der Rolle eines Junior-Entwicklers nahe
    • Ohne klare Richtungsangabe liefern sie leicht abwegige Ergebnisse
  • Die Kombination aus Mensch und LLM ist einem LLM allein überlegen
    • Die Strategie kommt vom Menschen, die wiederholenden Aufgaben übernimmt die AI

Je nach Nutzungsweise von LLMs unterscheiden sich die Ergebnisse

  • Wer sich nur auf automatische Codegenerierung verlässt, wird eher langsamer
    • Vor allem in vertrauten Sprachen sind Menschen schneller
  • Autocomplete-basierte Interfaces (Copilot usw.) sind am natürlichsten
    • Man kann sich leicht helfen lassen, ohne den Flow zu unterbrechen

Veränderungen im Berufsbild und Sorgen durch LLMs

  • Statt Code zu schreiben verlagert sich die Kernrolle von Entwicklern zu Design und Review
  • Wer sich nur auf LLMs verlässt, verliert Lern- und Wachstumschancen
    • Es besteht die Gefahr, keine technische Tiefe aufzubauen und zu einem passiven Nutzer zu werden

Die Zukunft von LLMs und ihre gesellschaftlichen Auswirkungen

  • In einer Umgebung, in der alle AI nutzen können, machen Menschen den Unterschied
    • Urteilsvermögen und Kommunikationsfähigkeit entscheiden über die Wettbewerbsfähigkeit
  • LLMs sind ein „Werkzeug wie ein Auto“
    • Leistungsstark, aber mit wachsender Abhängigkeit und schwieriger Reaktion bei Problemen