Was ist Vibe-Coding?

„Vibe-Coding“ ist ein Ansatz zur Anwendungsentwicklung, bei dem man sich bei der Codegenerierung stark auf ein Large Language Model (LLM) stützt.

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • Beschreiben, was Vibe-Coding bedeutet
  • Verstehen, wie LLMs die Anwendungsentwicklung unterstützen können
  • Die Vor- und Nachteile des Vibe-Codings auflisten

Link zum Artikel kopieren

Was ist Vibe-Coding?

Vibe-Coding ist eine Methode der Softwareentwicklung, bei der große Sprachmodelle (LLMs) zur Codegenerierung stark zum Einsatz kommen. Der Begriff „Vibe Coding“, also KI-gestütztes Coding, wurde von Andrej Karpathy, Mitbegründer von OpenAI, in einem Beitrag auf X im Februar 2025 geprägt:

Es gibt eine neue Art des Codings, das ich „Vibe Coding“ nenne, bei dem man sich voll und ganz den Vibes hingibt, Exponentialfunktionen annimmt und vergisst, dass der Code überhaupt existiert. Dies ist möglich, weil die LLM (z. B Cursor Composer w Sonnet) zu gut werden ... Der Code übersteigt mein übliches Verständnis, ich müsste ihn eine Weile durchlesen. Manchmal können die LLMs einen Fehler nicht beheben, also arbeite ich einfach um ihn herum oder frage nach zufälligen Änderungen, bis er verschwindet... Das ist nicht zu schlecht für einmalige Wochenendprojekte, aber immer noch recht amüsant.

Obwohl Karpathy diesen Begriff definierte, hatten viele Entwickler bereits mit der Veröffentlichung von LLMs wie ChatGPT und Copilot begonnen, mit einem ähnlichen KI-gestützten Ansatz zu experimentieren.

Das Ziel des „Vibe Codings“ ist es, funktionierende Anwendungen und neue Funktionen schneller bereitzustellen. Traditionell ist das Programmieren eine sehr präzise Aktivität; Vibe-Coding ermöglicht es Entwicklern stattdessen, allgemeine, übergeordnete Anweisungen an ein LLM zu übermitteln, das dann die genauen Anweisungen erzeugt, die im Arbeitscode enthalten sind.

Wie funktioniert Vibe-Coding?

Ähnlich wie bei anderen Anwendungsfällen für LLMs geht es beim Vibe-Coding darum, Prompts an ein Modell zu senden, das als Reaktion darauf Inhalt (in diesem Fall Code) erzeugt. LLMs sind generative KI-Modelle: Nachdem sie anhand einer großen Menge von Beispielen trainiert wurden, können sie Sprache erkennen, interpretieren und erzeugen. LLMs sind in der Lage, dies sowohl mit menschlicher Alltagssprache als auch mit Programmiersprachen zu tun. Diese Fähigkeit ermöglicht es einem LLM, funktionierenden Code zu generieren, oft innerhalb von Sekunden.

Der mit Vibe-Coding arbeitende Entwickler muss dem LLM die richtigen Prompts geben, damit das LLM die richtige Art von Funktion oder Anwendung erstellen kann. Im Allgemeinen müssen diese Prompts nicht besonders präzise sein, auch wenn es mehrere Versuche erfordern kann, bis das LLM einen Code erstellt, der so funktioniert, wie es sich der Entwickler gewünscht hat.

Das Testen und Debuggen erfolgt, nachdem das LLM den Code generiert hat. Dazu gehören die Identifizierung von Fehlern und Sicherheitsproblemen. Das LLM kann dann aufgefordert werden, diese Fehler zu beheben, oder, wie Karpathy beschreibt, „diese zu umgehen oder nach zufälligen Änderungen zu fragen, bis er verschwindet“ (ein Ansatz, der je nach Fehler funktionieren kann oder auch nicht).

Welche beliebten Vibe-Coding-Tools gibt es?

Es gibt eine Reihe weit verbreiteter LLMs, die es Entwicklern ermöglichen, mit Vibe-Coding zu experimentieren. Copilot, Cursor, Codeium, Qodo, CodeWhisperer und Replit sind beliebte Tools für die LLM-gestützte Softwareentwicklung.

Was sind die Vor- und Nachteile von Vibe Coding?

Zu den Vorteilen des Vibe-Codings zählen:

  • Nahezu sofortiges Prototyping: Entwicklerteams können mithilfe von Vibe-Coding schnell Beta-Versionen neuer Ideen für Produkte oder Funktionen erstellen und diese ausprobieren.
  • Weniger unnötiger manueller Aufwand: Boilerplate- und Low-Level-Code können automatisch von LLMs beim Vibe-Coding erstellt werden (das Kopieren von Boilerplate-Code war in der Entwicklung schon immer üblich).
  • Schnellere Entwicklung und Markteinführung: Das Schreiben einer neuen Anwendung oder Funktion kann sehr zeitaufwendig sein. Vibe-Coding kann den erforderlichen Code jedoch in Sekunden oder Minuten erzeugen – auch wenn weitere Prompts erforderlich sein können, damit die Anwendung oder die Funktion ordnungsgemäß funktioniert.

Einige der Nachteile können Folgendes umfassen:

  • Verlust des Verständnisses der Codebasen: Entwicklungsteams, die per Vibe-Coding-erstellte Funktionen mit minimaler Überprüfung bereitstellen, werden mit ihren Codebasen möglicherweise nicht mehr vertraut. Das kann die Behebung von Fehlern oder Sicherheitslücken erschweren.
  • Compliance-Probleme: Manchmal ist das Ergebnis des Vibe-Codings die Bereitstellung von nicht vertrauenswürdigem Code. Entwickler können beispielsweise den Überblick darüber verlieren, wie Anwendungen personenbezogene Daten verarbeiten, was zu Problemen bei der Compliance führen kann.

Gibt es Sicherheitsbedenken im Zusammenhang mit Vibe-Coding?

Sicherheitslücken: Jede Anwendung kann Sicherheitslücken oder Sicherheitsrisiken enthalten. Da Vibe-Coding das Schreiben und die Bereitstellung neuer Funktionen erheblich beschleunigen kann, besteht die Gefahr, dass mehr Sicherheitsprobleme durchgehen und in die Produktionsphase gelangen. Diese Sicherheitsprobleme können dann auch schwieriger zu beheben sein, wenn die Entwicklungsteams mit dem Problemcode nicht vertraut sind.

Datenverlust: Jede Verwendung von LLMs in einem geschäftlichen Kontext birgt das Risiko, dass die Eingaben geistiges Eigentum enthalten, das in externen Kontexten weitergegeben wird. Zum Schutz interner Daten müssen Entwickler wissen, wie ein LLM seine Daten im Backend segmentiert.

Erfahren Sie mehr darüber, wie ein LLM funktioniert.