Vibe Coding
Vibe Coding (oder Vibecoding) ist eine Programmiertechnik, welche sich ganz auf Künstlicher Intelligenz (KI) zum Generieren des Quellcodes verlässt und somit Programmierung auch für Unerfahrene zugänglich macht.
Entstehung, Begriff
[Bearbeiten | Quelltext 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 die 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. 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. Karpathys Tweet wurde weithin aufgegriffen und sofort in die aktuelle Debatte rund um Software-Entwicklung eingeführt.[2][3][4][5] Im März 2025 nahm das Merriam-Webster-Wörterbuch den Begriff als „Slang & Trending“-Substantiv auf.[6]
Anwendung und Rezeption
[Bearbeiten | Quelltext bearbeiten]Bei dieser Programmiertechnik beschreibt ein Benutzer ein Problem in wenigen Sätzen als Eingabeaufforderung an ein großes Sprachmodell (LLM), welches hinreichend Fähigkeiten in Programmierung und Softwaretechnik aufweist[7]. Das LLM generiert daraufhin Software, wodurch die Rolle des Programmierers vom manuellen Schreiben von Code hin zur Anleitung verschoben wird. Nach Andrej Karpathys Definition gibt sich der Programmierer ganz den „Vibes“ des großen Sprachmodells hin: Alle Generierungen und Änderungen am Quellcode werden immer ungeprüft akzeptiert[1]. Obwohl dieser Aspekt namensgebend für Vibe Coding ist, wird der Begriff oft gleichbedeutend mit dem Einsatz von großen Sprachmodellen in der Programmierung eingesetzt, auch wenn solidere Programmiertechniken wie Reviews angewandt werden[4][8][9]. In diesen Fällen ist der Begriff „Vibe“ eigentlich irreführend. Vereinzelt werden hier andere Begriffe wie „Vise Coding“ vorgeschlagen, um Programmierung mit großen Sprachmodellen aber Software Craftsmanship von Vibe Coding zu differenzieren.[10]
Vibe Coding ermöglicht es auch Amateurprogrammierern, Software-Prototypen zu erstellen, ohne die umfangreiche Ausbildung und die Fähigkeiten zu benötigen, die traditionell für die Softwareentwicklung erforderlich sind. Vibe Coding findet bei Hobbyprogrammierern großen Anklang, welche die Fähigkeiten der erstellten Software jedoch häufig überschätzen.[11] Vibe Coding ermöglicht die schnelle Erstellung von Prototypen und die Umsetzung von Ideen in Software mit minimalem technischen Aufwand. Diese Methode eignet sich primär für Projekte mit geringem Risiko und für Prototypen, bei denen die Qualität, Zuverlässigkeit, Skalierbarkeit und Wartbarkeit des Codes nicht im Vordergrund stehen.[10] Professionelle Entwickler, die mehr Erfahrung haben, können die Vor- und Nachteile besser abwägen und verwenden Vibe Coding primär zur Erstellung von Prototypen und Softwarewerkzeugen, die nur für kurze Zeit eingesetzt werden.
Einem Bericht des Risikokapitalgebers Y Combinator zufolge sind bereits 25 % der Codebasis von Startups KI-generiert und basieren auf Vibecoding.[8]
Kritik und Herausforderungen
[Bearbeiten | Quelltext bearbeiten]Trotz seiner Vorteile gibt es auch Bedenken hinsichtlich der Verantwortlichkeit und des Verständnisses des generierten Codes. Programmierer könnten KI-generierten Code verwenden, ohne dessen Funktionsweise vollständig zu verstehen, was zu unentdeckten Fehlern, Fehlfunktionen oder Sicherheitslücken führen kann.[11] Dies stellt insbesondere in professionellen Umgebungen ein Risiko dar, in denen ein tiefes Verständnis des Codes für die Fehlerbehebung, Skalierbarkeit, Wartung und Sicherheit unerlässlich ist.
Vibe Coding zeigt auf, wie der Einsatz von großen Sprachmodellen die Art und Weise, wie wir Software erstellen, grundlegend verändern kann: Es bietet sowohl erfahrenen Entwicklern als auch Anfängern neue Möglichkeiten, ihre Ideen schnell und effizient in Prototypen umzusetzen. Allerdings erfordert der verantwortungsvolle Einsatz dieser Technik ein Bewusstsein für ihre Grenzen. Der Einsatz von großen Sprachmodellen für solidere Software erfordert Software Craftsmanship, um den generierten Code gründlich zu überprüfen und das große Sprachmodell in einem effektiven Entwicklungsprozess einzusetzen.
Wissenschaftliche Publikationen
[Bearbeiten | Quelltext bearbeiten]David Farago, Vise Coding[10]
Paul Pajo, Vibe Coding: Revolutionizing Software Development with AI-Generated Code, DOI:10.13140/RG.2.2.36458.22727[12]
Simon Willison, Not all AI-assisted programming is vibe coding (but vibe coding rocks), simonwillison.net[13]
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ a b Andrej Karpathy (@karpathy) on X. In: X (formerly Twitter). (x.com [abgerufen am 29. März 2025]).
- ↑ Benj Edwards: Will the future of software development run on vibes? 5. März 2025, abgerufen am 27. März 2025 (amerikanisches Englisch).
- ↑ 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]).
- ↑ a b 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]).
- ↑ Hasan Chowdhury, Jyoti Mann: Silicon Valley's next act: bringing 'vibe coding' to the world. Abgerufen am 27. März 2025 (amerikanisches Englisch).
- ↑ vibe coding. Abgerufen am 27. März 2025 (englisch).
- ↑ SWE-bench -- Can Language Models Resolve Real-World GitHub Issues? (swebench.com).
- ↑ 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).
- ↑ Vibe Coding 101 with Replit. (deeplearning.ai [abgerufen am 29. März 2025]).
- ↑ a b c David Farago: Vise Coding. (linkedin.com [abgerufen am 29. März 2025]).
- ↑ a b leo: Leo (@leojr94_) on X. (x.com [abgerufen am 29. März 2025]).
- ↑ Paul Pajo: Vibe Coding: Revolutionizing Software Development with AI-Generated Code. 2025, abgerufen am 27. März 2025 (englisch).
- ↑ Simon Willison: Not all AI-assisted programming is vibe coding (but vibe coding rocks). Abgerufen am 27. März 2025 (britisches Englisch).