LLMs als Co-Pilot: Ein Erfahrungsbericht über Frustration und Erkenntnis beim App-Launch

27. Januar 2025
ℹ️Hinweis zur Quelle

Dieser Blogartikel wurde automatisch erstellt (und übersetzt). Er basiert auf dem folgenden Original, das ich für die Veröffentlichung auf diesem Blog ausgewählt habe:
When AI Promises Speed but Delivers Debugging Hell.

LLMs als Co-Pilot: Ein Erfahrungsbericht über Frustration und Erkenntnis beim App-Launch

Die heutige Ankündigung einer neuen App, Codescribble – einem einfachen, kollaborativen Texteditor – wirft ein Licht auf die Herausforderungen und Chancen des Einsatzes von Large Language Models (LLMs) im Entwicklungsprozess. Der Entwickler teilt seine Erfahrungen und die unerwarteten Schwierigkeiten, die auftraten, obwohl LLMs den initialen Aufbau beschleunigten.

Die Vision und die Realität

Das Ziel war klar: Eine eigene Version von Codeshare zu entwickeln, schnell und kostengünstig unter Zuhilfenahme von LLMs. Die Wahl fiel auf TypeScript für Front- und Backend, mit Claude 3.5 Sonnet und Cursor als Hauptunterstützung. Überraschenderweise wurde ein großer Teil des Codes von der KI generiert, basierend auf einem detaillierten Anforderungskatalog. Dieser Ansatz ermöglichte einen schnellen Prototypen, bei dem die KI etwa 80% der Implementierung übernahm.

Stolpersteine bei der Implementierung

Die Probleme begannen jedoch beim Deployment. Was als reibungsloser Übergang gedacht war, entpuppte sich als Quelle erheblicher Frustration. Fehlerhafte Codequalität, wie hartcodierte localhost-Referenzen und inkonsistente Backend-Zugriffsmethoden, offenbarten die Grenzen des KI-generierten Codes. Diese Fehler, obwohl behebbar, deuteten auf ein tieferliegendes Problem hin: das fehlende Verständnis des Entwicklers für die zugrundeliegenden Technologien.

Das Docker-Debakel

Die Automatisierung des Deployments mit Docker erwies sich als noch größere Herausforderung. Der Versuch, eine Docker-Konfiguration von der KI erstellen zu lassen, mündete in einem Fiasko. Unzureichendes Wissen über Docker-Umgebungsvariablen führte zu einer Eskalation der Probleme. Die KI lieferte zwar Vorschläge, doch ohne das nötige Fachwissen des Entwicklers blieben diese Stückwerk. Der Teufelskreis aus neuen Kontexten, neuen Dateien und letztendlich fehlerhaftem Code führte zu einem erheblichen Zeitverlust. Es stellt sich die Frage, ob die anfängliche Zeitersparnis durch den KI-Einsatz die spätere Fehlerbehebung und das Debugging aufwog.

Die Wendung

Frustriert und kurz vor dem Aufgeben entschied sich der Entwickler, die Dinge selbst in die Hand zu nehmen. Nach intensiver Fehlersuche und dem Studium der Dokumentation wurde das Problem schließlich erkannt: Die fehlende DATABASE_URL Umgebungsvariable für die Migrationen. Die Erfahrung verdeutlicht, dass LLMs zwar unterstützen können, aber ein grundlegendes Verständnis der Technologie unerlässlich ist.

Die Lehren

  • Inkrementelles Vorgehen ist wichtig, aber verliere das Ziel nicht aus den Augen: Die Aufteilung in kleine Schritte sollte nicht dazu führen, dass das Gesamtbild aus dem Blick gerät.
  • Kleine Erfolge dürfen nicht über Ineffizienzen hinwegtäuschen: Ein funktionierender Teilaspekt bedeutet nicht, dass der gesamte Prozess effizient ist.
  • Tunnelblick vermeiden: Die Überzeugung, dass die KI die Lösung bringen wird, kann zu unproduktiver Arbeit führen. Pausen und ein frischer Blick sind entscheidend.
  • LLMs sind nutzlos ohne Kontextverständnis: Die KI kann nur so gut sein wie das Wissen des Anwenders.

Fazit

Trotz der anfänglichen Schwierigkeiten zieht der Entwickler positive Schlüsse aus dem Prozess. Das erzwungene Erlernen von Docker und die Erkenntnis über die Grenzen des KI-Einsatzes führten zu einem wertvollen Lernprozess. Die Geschichte dient als Mahnung, sich nicht in Details zu verlieren und die Bedeutung eines fundierten Technologieverständnisses zu erkennen. Ist diese Erfahrung ein Einzelfall oder spiegelt sie ein allgemeines Problem im Umgang mit KI-gestützter Entwicklung wider?


Die Kommentare sind geschlossen.