Vibe Coding

KI-basierte Generierung von Programm-Quellcode

Vibe Coding (oder Vibecoding) bezeichnet eine Art der Softwareentwicklung, bei der nahezu ausschließlich der Prompt eines LLM oder GPT bedient wird, um den für die Software erforderlichen Quellcode zu generieren. Vibe Coding ist eine Variante des Prompt Engineerings. Anders als die qualifizierte Softwareentwicklung, die Überprüfungen und Tests des Quellcodes und des Produkts auf Fehlerfreiheit durch Fachpersonal einschließt, soll Vibe Coding keine Vorkenntnisse oder Ausbildung erfordern.

Begriffsgeschichte

Bearbeiten

Andrej Karpathy, Mitbegründer von OpenAI und ehemaliger KI-Leiter bei Tesla, beschrieb am 3. Februar 2025 „Vibe Coding“ als eine konversationsbasierte Methode, bei der Sprachbefehle verwendet werden, während „KI“ den eigentlichen Code generiert.[1] Karpathy betonte, dass diese Methode besonders für „Wegwerf-Wochenendprojekte“ geeignet sei und dass sie „ziemlich amüsant“ sei. Karpathys Tweet wurde weithin aufgegriffen und setzte einen Trend in der Diskussion um den Stand der Softwareentwicklung im Jahr 2025.[2][3][4][5] Im März 2025 nahm das Merriam-Webster-Wörterbuch den Begriff als „Slang & Trending“-Substantiv auf.[6]

„Vibe Coding“ bezeichnet nach seiner Definition die unkritische „Hingabe“ des „Programmierers“ zum großen Sprachmodell.[1]

Anwendung

Bearbeiten

Bei Vibe Coding ist der Entwickler eigentlich der Anwender eines großen Sprachmodells (LLM). Diesem wird in Prosa eine Beschreibung des Problems übergeben, für welches die Softwarelösung entwickelt werden soll.[7] Aus dem Prompt generiert das LLM Quellcode oder passende Projektdaten für eine integrierte Entwicklungsumgebung. Die erfolgreiche Überprüfung des Ergebnisses sowie der Erfolg bei der Beseitigung von Fehlern in der generierten Software hängt von den Fähigkeiten und der Qualifikation des Anwenders ab.

Überprüfung

Bearbeiten

Nach der Definition von Karpathy werden alle Generierungen und Änderungen am Quellcode immer ungeprüft akzeptiert.[1] Allerdings räumte er auch ein, dass „KI-Tools“ nicht immer in der Lage sind, Fehler zu beheben oder zu verstehen, was zu Experimenten mit unzusammenhängenden Änderungen führt, bis die Probleme behoben sind. Der Aspekt der unkritischen Übernahme aller Generierungen sei zwar namensgebend für die Technik, allerdings wird im Geschäftsbereich auf Reviews nicht verzichtet.[8][9] Zur Differenzierung des unqualifizierten „Vibe Codings“ von der qualifizierten Software Craftsmanship werden andere Begriffe wie z. B. „Vise Coding“ vorgeschlagen.[10]

Anwendungsumfeld

Bearbeiten

Vibe Coding ermöglicht die schnelle Erstellung von Prototypen und die Umsetzung von Ideen in Software durch Personen, die keine Qualifikation im Fachbereich der Softwareentwicklung aufweisen müssen, um Anforderungen in natürlicher Sprache zu formulieren. Sowohl nach Karpathys Definition als auch weithin rezipiert, besteht für Unkundige die Möglichkeit, Lösungen in geringem Umfang für ein privates Umfeld zu generieren, bei denen Qualität, Zuverlässigkeit, Skalierbarkeit und Wartbarkeit nicht im Vordergrund stehen.[10]

Professionellen und qualifizierten Entwicklern erleichtert die Technik des Vibe Codings das Bootstrapping, das heißt den Anfang und die Einrichtung eines neuen Projekts, das als Ausgangspunkt zur weiteren, durch Fachpersonen durchgeführten Entwicklung dient. Allerdings wird dieser Vorgang pro Softwareprojekt nur ein einziges Mal durchgeführt.

Rezeption

Bearbeiten

Einem Bericht des Risikokapitalgebers Y Combinator zufolge sind bereits 25 % der Codebasis von Startups KI-generiert und basieren auf Vibecoding.[8]

Einschränkungen und Kritik

Bearbeiten

Vibe Coding entledigt sich etablierter Konventionen der Softwareentwicklung hinsichtlich Qualität, Zuverlässigkeit, Skalierbarkeit und Wartbarkeit des Projekts sowie der Notwendigkeit von qualifizierten Personen zur Durchführung. Dadurch entsteht Quellcode, dessen Funktionsweise durch den Anwender gar nicht oder nicht vollständig verstanden wird, was zu unentdeckten Fehlern, Fehlfunktionen und Sicherheitslücken führt.[11] GPT-generierter Code verwendet häufig Platzhalter, die von einem Entwickler identifiziert und ersetzt werden sollen, während die Erwartung des Anwenders ist, auf seine Eingabe hin vollständigen und funktionsfähigen Code vom GPT zu erhalten.[12]

LLM und GPT basieren natürlicherweise auf einem Stand ihrer Daten, der in der Vergangenheit liegt. Aktuelle Sicherheitsprobleme, aber auch neue Versionen der Basistechnologie, sind im Training des GPT daher nicht immer berücksichtigt. Auch kann ein GPT einen Fehler nur identifizieren, wenn sowohl der Fehler als auch seine Behebung Teil der Trainingsdatenmenge sind. Kreatives Denken, Abstraktion, Ableitung und höhere Logik aus sich selbst heraus stehen außerhalb der Möglichkeiten der heute als solche vermarkteten KI.

Einige GPT-Produkte sind in der Lage, im Internet nach bekannten Fehlern oder Sicherheitslücken zu recherchieren, beispielsweise in Quellen wie den Common Vulnerabilities and Exposures. In begrenztem Maß kann GPT auch Quellcode auf Vorgehensweisen analysieren, wie sie in Datenbanken wie OWASP dokumentiert sind. Die Antizipierung von Fehlern und Lücken, die unbekannt sind, erfordert jedoch ein tiefes Verständnis von Systemen, welches GPT und LLM ihrer Natur nach nicht haben. Ist „denkerische“ Eigenleistung gefragt, erhöht sich stets das Risiko von Konfabulationen der so genannten KI.

Die optimale Anwendung von GPT in der Softwareentwicklung ist die dialogbasierte Lösung von Teilproblemen, die durch einen qualifizierten Entwickler durchgeführt und überprüft werden kann. Entwickler, die GPT in ihrem Entwicklungsprozess benutzen und integrieren, verdrängen auf dem Arbeitsmarkt Entwickler, die auf den Einsatz dieser Technologie verzichten.[13] Qualifizierte Entwickler sind für die Umsetzung professioneller und geschäftlicher Anforderungen an Software auch mit dem Aufkommen von LLM und GPT unerlässlich und können nach dem Stand der Technik nicht durch KI ersetzt werden.[14]

Literatur

Bearbeiten

Einzelnachweise

Bearbeiten
  1. a b c Andrej Karpathy (@karpathy) on X. In: X (formerly Twitter). (x.com [abgerufen am 29. März 2025]).
  2. Benj Edwards: Will the future of software development run on vibes? 5. März 2025, abgerufen am 27. März 2025 (amerikanisches Englisch).
  3. What is ‘vibe coding’? Former Tesla AI director Andrej Karpathy defines a new era in AI-driven development. In: The Times of India. 2. März 2025, ISSN 0971-8257 (indiatimes.com [abgerufen am 27. März 2025]).
  4. Kevin Roose: Not a Coder? With A.I., Just Having an Idea Can Be Enough. In: The New York Times. 27. Februar 2025, ISSN 0362-4331 (nytimes.com [abgerufen am 29. März 2025]).
  5. Hasan Chowdhury, Jyoti Mann: Silicon Valley's next act: bringing 'vibe coding' to the world. Abgerufen am 27. März 2025 (amerikanisches Englisch).
  6. vibe coding. Abgerufen am 27. März 2025 (englisch).
  7. SWE-bench -- Can Language Models Resolve Real-World GitHub Issues? (swebench.com).
  8. a b Ivan Mehta: A quarter of startups in YC's current cohort have codebases that are almost entirely AI-generated. In: TechCrunch. 6. März 2025, abgerufen am 27. März 2025 (amerikanisches Englisch).
  9. Vibe Coding 101 with Replit. (deeplearning.ai [abgerufen am 29. März 2025]).
  10. a b David Farago: Vise Coding. (linkedin.com [abgerufen am 29. März 2025]).
  11. leo: Leo (@leojr94_) on X. (x.com [abgerufen am 29. März 2025]).
  12. MCP: May Cause Pwnage - Backdoors in Disguise. Abgerufen am 12. Mai 2025 (englisch).
  13. Sabrina Farmer: The tech giants are wrong: AI won't replace engineers. 6. März 2025, abgerufen am 12. Mai 2025 (britisches Englisch).
  14. Julius Hietala: Why AI Won't Replace Programmers: A Comparison With Robots. Abgerufen am 12. Mai 2025 (englisch).
  15. Paul Pajo: Vibe Coding: Revolutionizing Software Development with AI-Generated Code. 2025, abgerufen am 27. März 2025 (englisch).