Vibe-Coding - die Gefahr für deine Software

Veröffentlicht am 2026-01-11 15:00:31


Vibe-Coding spaltet die Entwicklergemeinde derzeit massiv. Auf der einen Seite stehen die Enthusiasten, die mit komplexen Agent-Strukturen beeindruckend schnell Ergebnisse erzielen. Auf der anderen Seite stehen Software-Ingenieure, die diese Ergebnisse warten müssen. Auf LinkedIn wird oft das Ende der elitären Programmiersprache propagiert. Doch als Senior-Entwickler sehe ich in den Repositories oft etwas anderes: Technische Schulden, die bereits am ersten Tag fällig werden.

Technische Insolvenz ab Tag 1

Vibe-Coding erstellt Code, der tatsächlich funktioniert! - das erkenne ich definitiv an und bewundere das auch. Aber: Verstehst du auch jede Zeile, die dein Code da gemacht hat? Oder hast du dir selbst gerade eine Blackbox geschaffen, die selbst ein Senior-Dev nicht mehr versteht?

Aktuell neigen alle bekannten LLMs dazu, unwartbaren Spaghetticode zu schreiben. Das ist bei einigen Programmiersprachen gar nicht so schlimm, da die so gebaut sind, dass sie auch ohne saubere Kapselung, Vererbung und OOP generell super funktionieren.

Es wird halt dann schwierig, wenn plötzlich solche Code-Konstrukte erscheinen, die zwar funktionieren, aber schwierig nachzuvollziehen sind:

<?php
$a=3;
$b=12;
$y=4;
$x = $y <= 1 ? $a : $b != 0 ? 4: $x;
echo $x;

In PHP7 ist das hier völlig valider Code. Und ja, AI kann solchen Code erzeugen, wenn es will. Die Frage ist, Verstehst du, was hier eigentlich passiert? Das Ergebnis ist, bei PHP-Version 7.1 "4", weil

  • $x erst nicht gesetzt ist: $y ist 4, also nicht gleiner als 1
  • $b ist 12,also nicht "0" deshalb kommt 4 zurück.

Das hier ist ein super einfaches Beispiel für Devs, aber - lieber Marketing-Markus, hättest Du das gewusst?

Ich müsste aber gar nicht so ein absichtlich komplexes Beispiel bringen. Ich kann jeden Vibe-Coder danach fragen, was die Funktion array_walk eigentlich macht.

 array_walk(array|object &$array, callable $callback, mixed $arg = null): true

Die Funktion ist nicht unüblich in PHP, um zum Beispiel in Arrays Rechenoperationen durchzuführen, oder Verzeichnisnamen zu Filtern und so weiter und so fort. Verstehst du das?

Du veröffentlichst einen Code, dessen Konsequenzen dir nicht bewusst sind in eine Welt, in der die besten Hacker bewusst auf AI verzichten, weil AI nicht so gut ist, wie sie selbst es sind?

Debugging-Impotenz

99% allen Codes auf der Welt wird von Menschen gelesen, nicht geschrieben. Wenn ein Entwickler in ein Projekt einsteigt, hackt die Person nicht einfach drauflos. Sie liest die Dokumentation, guckt sich an, wie man Klassenmethoden korrekt aufruft, welche Datentypen verwendet werden und was die Methoden mit dem Input machen, um den Output zu generieren.

Angenommen, ich rufe die Funktion einer Fremdbibliothek auf, die einfach nur Nullen an meine 5 ranschreibt, dann kann ich ziemlich schnell einen Out-Of-Memory-Error produzieren:

function add_null(string|int $number, int $number_of_nulls): string {
    // str_repeat ist die effizienteste C-Level-Implementierung dafür
    return $number . str_repeat('0', $number_of_nulls);
}
// Versucht, einen String mit ~2 Milliarden Zeichen (ca. 2GB) zu bauen
add_null(1, 2147483647); // PHP_INT_MAX auf 32-bit Systemen oder einfach eine riesige Zahl

Oder so was hier:

$leaker = [];

while (true) {
    // Wir hängen das Ergebnis in ein globales Array, 
    // ohne es jemals zu löschen (unset).
    // Der RAM-Verbrauch steigt linear bis zum Crash.
    $leaker[] = add_null(1, 1024 * 1024); // Fügt pro Loop 1MB Müll hinzu
}

Alle Beispiele hier sind perfekter, valider Code und du musst nun in einer riesigen Bibliothek von Legacy Code oder irgendwelchen Vendor-Paketen herausfinden, warum zum Beispiel der Kundenwarenkorb in deinem Shopsystem Speicherlöcher verursacht.

Auch hier die Frage: Kannst du das?

Code wird nicht für Computer geschrieben (die verstehen auch Binär), sondern für Menschen. Vibe-Coding ignoriert die 'Cognitive Load' des zukünftigen Maintainers. Ein Einzeiler, den die AI in Sekunden generiert, kann mich Stunden beim Debuggen kosten.

Russisches Roulette in Sicherheitsfragen

KIs halluzinieren noch immer. Es kann also sein, dass die KI ein composer-Paket oder NPM-Package in deinen Code einbinden will, das es gar nicht gibt. Durch diese Pakete fügst du dir aktiv selbst SQL-Injections oder Cross-Site-Scripting hinzu. Validiere den Input. Das Beispiel hier ist syntaktisch zwar falsch, aber das ist eine klassische SQL-Injection.

$q = SELECT * FROM users where username = $_REQUEST['username'];

Die AI baut es vielleicht sicher, aber wenn sie halluziniert und eine unsichere Variante wählt, erkennt der Vibe-Coder den Unterschied nicht. Auch wenn moderne PHP-Versionen hier strenger sind, tendieren LLMs dazu, Muster aus Millionen Zeilen altem Legacy-Code zu reproduzieren, die syntaktisch fragwürdig oder logisch schwer nachvollziehbar sind.

Du verlierst deine Skills

Du lagerst dein eigenes, kognitives Training aus. Und es ist erwiesen, dass KI-Modelle immer mal wieder dümmer werden. Heißt: Auf dem Peak hat dir ein LLM eine coole Datenbank-Abfrage generiert, die es danach nicht mehr versteht. Und du auch nicht.

Pareto am Arsch

Es ist ein Trugschluss, dass man mit KI 80% der Arbeit erledigen kann und der Rest "nur noch Feinschliff" ist. In der Softwareentwicklung stecken 80% der Komplexität in den letzten 20% (Edge-Cases, Security, Performance, Integration). Vibe-Coding ist hervorragend für Prototypen, UI-Skizzen und Boilerplate-Code.

Aber es ersetzt nicht die Ingenieurskunst, ein System so zu bauen, dass es auch unter Last und Angriffen stabil bleibt.

Was kann Vibe Coding denn tatsächlich sinnvolles leisten?

Bei aller berechtigten Kritik ist Vibe Coding nicht komplett nutzlos, sie ist nur kein Ersatz für Software-Entwicklung.

Mit KI kann man zum Beispiel super CRUD-Endpunkte ohne komplexe Logik bauen. Es nimmt dir nerviges Scaffolding von Klassen ab. Es nimmt dir auch die nervige Programmierung von Standard-Prozeduren wie Pagination oder einfache Validatoren ab. Code ohne Entscheidungsgewalt ist locker damit realisieren.

Vibe Coding ist auch gut, um einfache Proof-Of-Concepts oder UI-Skizzierungen (!) zu machen. KI skaliert deine Kompetenz, aber es verstärkt sie nicht. Das Risiko ist eben auch, dass Code plausibel ist und in Happy-Path-Tests super funktioniert. Du brauchst aber immer jemanden, der in der Lage ist, den Code warten und verstehen zu können. Vibe Coding erhöht nicht deine Produktivität, es erzeugt wunderschönen Bullshit, im Worst Case.

Fazit

Software-Entwicklung ist tatsächlich nicht code schreiben, sondern denken. Coder analysieren Code, finden Logiklöcher, sind in der Lage, außerhalb des Happy-Path zu visualisieren und schreiben tatsächlich auf den Tag bezogen extrem wenig Code. Eines der Hauptkommunikationsprobleme zwischen Programmierern und deren Chefs ist, dass es schwer ist, „denken“ in das Projektmanagement-Werkzeug einzutragen. Dabei ist es gar nicht so ungewöhnlich, wenn ein Coder lange Zeit so aussieht, als ob gar nichts passiert.

Programmierer durch AI zu ersetzen ist und bleibt eine Wunschfantasie von Marketing-Markus und irgendwelchen CEOs, die überhaupt nicht verstehen, was die KI kann und wo man einen erfahrenen Entwickler benötigt. Nur, weil etwas nach super Quellcode aussieht und vielleicht sogar funktioniert, ist es nicht zwangsläufig wirklich guter Code. Ich denke, man muss hier als Developer wirklich ganz klar Position zeigen und vor allem die Fehler dieser Systeme aufzeigen.

[Stand 01-2026] Entwickler sind angeblich ja auch so teuer. Aber sind sie das wirklich? 139 Euro kostet Google AI Ultra im Monat. Jetzt sagt der CEO, dass man den Dev nicht mehr braucht und macht das alles selbst. 100 Euro kostet Claude aktuell. ChatGPT Pro kostet 229 Euro.

Klar ist das billiger, als ein Entwickler. Aber rechnet sich das auch, wenn deine Prozesse Sicherheitslücken haben, die selbst ein Junior nach 2 Jahren Berufserfahrung nicht mehr bauen würde?