Th. Sommer, 2026-06

Vor einigen Wochen - mit steigender Entspannung, zunehmendem Zeitkontigent und dem Übergang in meine neue Version - dachte ich so bei mir: „Du solltest deine private Website mal aktualisieren. Inhaltlich muss die sowieso angefasst werden und technisch hast du da schon seit Jahren nichts mehr dran gemacht. Ist doch eine nette Fingerübung.“ Wenn ich bloß gewusst hätte, worauf ich mich da einlasse…
Es begann recht harmlos mit einer Web-Recherche, wie man meine Seiten denn „heutzutage“ am besten bearbeiten könnte/sollte. Texteditor und FTP sind ja nun wirklich nicht mehr zeitgemäß. Technisch sitzt mein Web-Paket auf einen IIS 10. Also sollten es ASP(X)-Seiten bleiben. Da wurde mir recht schnell klar, dass Visual Studio Code die passende IDE sein sollte.
Kurzerhand herunterladen und installiert. Während der Installation dann die Frage, ob ich Copilot mit installieren wolle. Klar, dachte ich so, cool. Gleich mal in der Praxis ausprobieren, was in der Theorie scheinbar funktioniert. Das war der Auslöser meines persönlichen VibeCoding-Hype-Zyklus: https://de.wikipedia.org/wiki/Hype-Zyklus

Vorher müsste ich aber erst einmal meine stark eingerosteten Programmierfähigkeiten aktualisieren. Das tat sich zugegebenermaßen eher im Modus „Ist doch wie Fahrrad fahren, also einfach los.“ Was ich dabei ignorierte: Ich habe noch klassisch modul- bzw. objektorientiert programmieren gelernt. Das hat mit aktuellen Programmierparadigmen noch weniger gemeinsam als ein Hochrad mit einem E-Bike. Dazu später mehr.
Für die ersten Schritte Richtung „Gipfel der überzogenen Erwartungen“ reichte es jedenfalls. Meine stark angestaubte Basis war innerhalb von zwei halben Arbeitstagen gefühlt auf dem allerneuesten Stand. Und ich im Höhenrausch … Copilot räumte mir technische Schuld in einem atemberaubenden Tempo aus dem Weg. Ich hätte dafür erst einmal tagelang recherchieren und dann händisch programmieren müssen. Stattdessen war alles wie von Zauberhand erledigt und ich war extrem beeindruckt. Der erzeugte Code sah gut aus, alles war nachvollziehbar und stabil. Wow. Wenn das VibeCoding ist, ist das ja alles noch viel besser als angenommen. Dachte ich.
Und so wurde ich übermütig: In einem Anflug völliger Selbstüberschätzung ersann ich den Plan eine komplette Web-App aus dem Boden zu stampfen. Alleine. Nur mit VSCode und Copilot. Das sollte doch in einer, maximal zwei Wochen zu schaffen sein - so meine Einbildung, ob der bisherigen Erfahrung.
(Kurzer Einschub: Das ist jetzt fast acht Wochen her und von Betriebsbereitschaft bin ich noch mindestens zwei, eher vier Wochen entfernt - bei sehr lasch angesetzten Betriebsparametern.)
Meine Wahl fiel auf eine Web-App für moderierte, strukturierte Abfragen - nutzbar in Workshops, bei Veranstaltungen und für Recherchen. Die könnte ich dann auch gleich für meine Recherchen zum Bildungswesen nutzen bzw. um strukturierte Interviews durchzuführen. Kommerzielle Angebote gibt es in diesem Sektor zwar einige (Mentimeter, Limesurvey etc.), aber nichts DSGVO-konformes, sicheres, werbefreies. Das könnte mein USP sein, so meine Überlegung.
Also habe ich meine Ideen dazu in 250 Zeilen Text gegossen und Copilot gesagt: Mach was draus. Und was soll ich sagen, innerhalb von wenigen Stunden saß ich gefühlt vor vollständigen Konzepten inkl. grober Zeit-/Sprint-Planung, nicht-funktionalen Anforderungen und ersten Mockups. Ich war im Rausch und fühlte mich unbesiegbar. Der Gipfel der überzogenen Erwartungen war definitiv erstürmt.
Die folgende Tage „codete“, besser „promptete“ ich wie im Rausch. Es konnte mir gar nicht schnell genug gehen. Die Fortschritte waren enorm. Ich berichtete allen, die es nicht hören wollten, wie toll dieses VibeCoding ist und das Programmierkenntnisse sicherlich bald überflüssig werden würden. Dass ich mich dabei komplett verrennen würde, merkte ich erst einige Tage später.
Zunächst dachte ich mir nichts dabei, aber die erzeugte Code-Qualität begann kontinuierlich zu sinken. Erst langsam, mit wachsender Code Base (aktuell ca. 50k LoC) immer schneller. Anfangs kam es mir noch vor wie Flüchtigkeitsfehler - vielleicht war ich mit meinen Prompts nicht präzise genug. Aber die Sessions, in den es um Regressionen ging, wurden immer häufiger.
Wo anfangs noch einfachste Prompts reichten, um weitreichende Funktionen gut abzubilden, wurden plötzlich immer kleinteiligere Anweisungen erforderlich. Und selbst die führten häufiger nicht zum gewünschten Ergebnis. Das war die Phase in der ich begann, abwechselnd an meinem Verstand zu zweifeln und der Maschine ernsthaft vorzuwerfen, mich verarschen zu wollen. Der antrainierte Hang zu Unterwürfigkeit und übertriebener Leutseligkeit von LLM geht einem nämlich früher oder später gehörig auf die Nüsse.
Die Krönung war dann die Regression, die mich zwei volle Tage und ~10.000 AI-Credits (ernsthaft!) gekostet hat. Aufwand in Geld und Zeit, der einzig und alleine dafür verbraucht wurde, ein bereits vorhandene (und vollumfänglich getestete) Funktion wieder gangbar zu machen. Wahnsinn. Danach verordnete ich mir erst einmal 24 Stunden „LLM-Pause“.
Anschließend versuchte ich den Agenten-Modus und arbeitsteiliges Vorgehen. Dafür setzte ich diverse Agenten auf, die sich die Arbeit teilen sollten - wie in einem realen Projekt-Team. Die Idee war gut, aber die Ergebnisse eher mittel: Alleine die Aufgabenverteilung festzulegen, hat mich zwei Tage gekostet (warum sollte das auch anders ein als in realen Teams?) Sie wurde allerdings erst nach diversen Schärfungsrunden richtig eingehalten. Ineinander griffen sie auch nicht so wirklich (auch wie in realen Teams). Und statt dadurch schneller oder wenigstens besser zu werden, wurde ich noch langsamer und die Qualitätsprobleme des „Developer-Agenten“ waren die gleichen wie zuvor. Für den Agentenansatz gilt das selbe wie für realen Teams: Viele Köche verderben den Brei.
Geholfen hat mir schließlich: https://blog.koehntopp.info/2026/06/05/llm-driven-development/ (Danke am Maik Riecken für den Tipp.) Nach dem Durchlesen wurde mir einiges klarer - vieles davon steckt jetzt auch in diesem Artikel, vor allem das mit den „Scheuklappen“, wie ich es nenne: „Ein LLM hat kein Projektgedächtnis im menschlichen Sinn. Es hat ein Kontextfenster.“ Und genau nur dieses Kontextfenster ist die Welt eines LLM. Der Rahmen ist also extrem eng gesteckt.

Darüber hinaus gibt es weitere wichtige Erkenntnisse:
LLM produzieren plausibel klingende Aussagen, die in viel Fällen komplett ausgedacht sind. Dumm nur, dass auch der Humbug plausibel klingt. Und im Zweifelsfall lügt dich ein LLM auch kackdreist an. Beispiel: „Ich habe diese Regel fest abgespeichert [im Kontextfenster] und werde sie ab sofort immer beachten [bis zum Restart].“
LLM sind „zufallsgesteuerte Textratemaschinen“, sie erzeugen keine wiederholbare Qualität. Jeder Durchlauf (auch des selben Prompts) führt zu anderen Ergebnissen. Beispiel: Für die verschiedenen Fragetypen meines Tools waren zwischenzeitlich drei bis vier unterschiedliche Implementierungsansätze vorhanden, wo es nur einen (gemeinsamen Ansatz) braucht.
LLM sind „faul“ und suchen stets den einfachsten Weg zur Umsetzung einer Anforderung, egal ob groß oder klein. Regeln werden immer maximal eng ausgelegt. Beispiel: Deutsche Umlaute sind in der Web-Programmierung immer etwas knifflig. In HTML braucht es dafür entsprechende Entitäten, in C#- und Java Script Encodings. Was aber tun, wenn ein Script HTML als Output produziert? Da kommen aus LLM die wildesten Sachen raus, weil sie sich nicht entscheiden kann, was jetzt gerade richtig ist. Daher habe ich dann Regeln festgelegt (s. o.), dass nur Entitäten und Encodings zulässig sind. Aber kaum kam die Maschine nicht weiter, hat sie erst Transliterationen versucht - bis ich auch das verboten habe - und dann kam sie mit zeichenweiser String-Konkatenierung um die Ecke. Ernsthaft?
LLM kennen keinerlei Eigeninitiative (z. B. für Fehlersuche, Wiederverwendung, Qualitätssicherung, Auditierung, Refactoring). Beispiel: Einmal musste ich mich bei einer Fehlersuche erst einmal selbst mühsam zur Erkenntnis vorarbeiten, dass der Default-Pfad in der Logik nie gezogen wurde, weil die dahinterliegende Bibliothek einen Fehler warf und die App daher immer auf den Fallback-Pfad ging. Meine mehrstündigen Versuche den Default-Pfad via LLM zur Mitarbeit zu bewegen, waren also komplett sinnlos. Was für eine Zeitverschwendung.
LLM machen (gute) ProgrammiererInnen keinesfalls überflüssig - im Gegenteil: Um sie effektiv zu nutzen, braucht es die besten ProgrammiererInnen überhaupt. Nur Menschen, die wissen was sie tun und was zu tun ist, können die geratenen Ergebnisse der Maschinen vernünftig einordnen, kontrollieren, in die richtigen Bahnen lenken. Sonst kommt nur Schrott dabei raus. (Soviel dazu, dass ich mit meinen veralteten Programmierfähigkeiten „mal eben schnell“ …)
LLM könnten echte ProgrammiererInnen wenn überhaupt nur dann ersetzen, wenn Kunden ihre Anforderungen sauber beschreiben würden. (<Hier satanisches Gelächter einfügen>)
Seit einigen Tagen ist meine Verbrauch an AI-Credits praktisch auf Null gesunken. Ich habe eine stabile Version meiner App zusammen, allerdings fehlen zur Release-Fähigkeit noch eine ganze Reihe von Tests und viel Dokumentation. (Vielleicht wälze ich das alles auch auf meine Beta-Tester ab.)
Copilot werde ich nur noch dort einsetzen, wo ich selbst genau weiß, was passieren muss und wie. Und überhaupt habe ich mich von der Idee des „einfachen, schnellen Erfolges“ größtenteils verabschiedet.
Ob meine App jemals produktiv geht, weiß ich aktuell nicht. Wer mich allerdings kennt, weiß, dass halbfertige Sachen so gar nicht meins sind. Daher werde ich mich wohl doch bald wieder hinsetzen und das Ganze geordnet bis zu einem guten Ende fortführen. Ich werde dann hier berichten.
Der Trick beim #VibeCoding besteht darin, sich so einen „Coding Agenten“ als einen Sechsjährigen mit einer Inselbegabung vorzustellen: Kann zwar wie ein Senior Programmer coden, hat aber die Aufmerksamkeitsspanne und das „Gedächtnis“ eines Kindes.
Menschen mit ausreichend Programmier- und Projekt-Management-Fähigkeiten finden in LLM ein Werkzeug, dass sie bei der Umsetzung einfacher, kleiner Aufgaben gut unterstützen kann - immer unter der Voraussetzung, dass sie gut angeleitet werden. Wer mehr von LLM erwartet, wird genauso enttäuscht werden wie ich.
#Digitalisierung
Erstellt ohne generative KI
Digitale Bildung Organisieren in Niedersachsen