Vibe-Codierung: Was es ist und warum Sie es verpassen sollten

Wir alle wissen, dass Programmierer KI-Tools nutzen, um ihre Arbeit zu ergänzen, aber es gibt einen neuen Trend in der Stadt, der die Dinge auf die nächste Ebene bringt. Der Begriff „Vibe Coding“ wurde erst letzten Monat von OpenAI-Mitbegründer Andrej Karpathy geprägt, aber was als zufälliger X-Beitrag begann, hat sich schnell zu einer völlig neuen Community entwickelt.

Andrej Karpathy Vibe Coding X-Beitrag.
Andrej Karpathy / X

Was Karpathy in seinem Beitrag beschreibt, ist die Erstellung von Software, ohne Code zu schreiben – er sendet lediglich Eingabeaufforderungen an sein KI-Tool, in denen er beschreibt, was er möchte, und akzeptiert alle von ihm generierten Ausgaben. Er verwendet sogar ein Diktiergerät , um die Verwendung seiner Tastatur zu vermeiden. Klingt verrückt, oder? Das liegt daran, dass es so ist.

Was genau ist Vibe-Codierung?

Die meisten KI-Codierungstools erledigen derzeit drei Dinge:

  • Generieren Sie Vorschläge zur automatischen Vervollständigung, wenn der Benutzer eine Codezeile eingibt
  • Erläutern, fassen Sie zusammen, debuggen Sie oder geben Sie Ratschläge zu den von Ihnen bereitgestellten Codeausschnitten
  • Generieren Sie Codeblöcke basierend auf Ihren Eingabeaufforderungen in natürlicher Sprache

Sie sollen Menschen helfen, die sich mit dem Programmieren auskennen – einige konzentrieren sich auch auf Studium und Ausbildung. Sogar Cursor, eines der wichtigsten Tools, die derzeit zum Vibrieren von Code verwendet werden, ist wirklich für Entwickler konzipiert. Es soll einfache Prozesse für Leute beschleunigen, die programmieren würden, unabhängig davon, ob das Tool existiert oder nicht.

Screenshot von der Cursor-Website.
Cursor

Nehmen Sie zum Beispiel diese zufällige Funktionserklärung von der Cursor-Website: „Mit Cursor können Sie Code mithilfe von Anweisungen schreiben. Aktualisieren Sie ganze Klassen oder Funktionen mit einer einfachen Eingabeaufforderung.“ Sicher, der Zweck dieser Funktion besteht darin, Ihnen das manuelle Schreiben von Code zu ersparen – aber Sie müssen dennoch wissen, was Dinge wie Klassen und Funktionen sind, um sie sinnvoll nutzen zu können.

Vibe-Coding (oder das, was Vibe-Coding schnell wird) ist ein Trend, bei dem Menschen diese Tools nutzen und versuchen, etwas mit so wenig Softwareentwicklungskenntnissen zu erstellen – indem sie einfach die Ergebnisse, die sie als Endbenutzer sehen möchten, in natürlicher Sprache beschreiben.

Warum ist die Vibe-Codierung für Ihre Benutzer problematisch?

Wenn eine völlig technisch nicht versierte Person Cursor öffnet und mit der Vibe-Codierung beginnt, werden die Ergebnisse ganz anders ausfallen, als wenn jemand wie Andrej Karpathy Vibe-Codes erstellt. Während Karpathy Cursor bitten könnte, „einen Code zu generieren, der Passwörter für die Benutzerauthentifizierung hasht und salzt“, könnte ein technisch nicht versierter Vibe-Programmierer sagen: „Hey Cursor, erstelle eine sichere Datenbank zum Speichern meiner Passwörter.“

Sicher, sie haben das Wort „sicher“ verwendet – aber das ist genau die Art von Detail, die ein LLM zufällig ignorieren könnte. Alternativ entspricht die Idee von „sicher“ möglicherweise nicht den kommerziellen Softwarestandards oder es werden an einigen Stellen Sicherheitsmaßnahmen hinzugefügt, an anderen jedoch nicht. Bei dieser Formulierung gibt es noch ein weiteres Problem: den Teil „Meine Passwörter speichern“. Es ist ziemlich normal, sich Passwörter als irgendwo „gespeichert“ vorzustellen, aber wenn Sie wissen, was Passwort-Salting und Hashing sind, wissen Sie, dass die Passwörter der Benutzer technisch gesehen nirgendwo gespeichert werden.

Stattdessen werden der Salt und der Hash-Wert des verknüpften Salt und Passworts gespeichert – und trotz aller verrückten Begriffe in diesem Satz handelt es sich nicht um ein allzu komplexes Konzept. Es ist jedoch etwas, was Sie nie erfahren würden, wenn Sie nicht gezielt rausgehen und davon erfahren würden. Und wenn Sie es nicht wissen, können Sie nicht danach fragen.

Stattdessen haben Sie eine sichere Datenbank angefordert – aber welche Version des LLM-Genie erhalten Sie? Derjenige, der Ihre Eingabeaufforderung wörtlich nimmt und die Passwörter so wie sie sind in einer zufälligen kleinen Datenbank speichert? Oder diejenige, die berücksichtigt, was Sie tatsächlich erreichen möchten, und einen geeigneten Authentifizierungsprozess für Sie entwickelt?

Ich denke, die zutreffendste Antwort ist, dass man manchmal den gemeinen Geist bekommt, manchmal den netten Geist und oft etwas dazwischen – ohne wirklichen Sinn oder Grund dafür. Es könnte 100 % der Arbeit erledigen, es könnte 90 % erledigen, es könnte 5 % erledigen. Bei einer so vagen Eingabeaufforderung kann alles passieren, und das Problem ist: Ein technisch nicht versierter Vibe-Coder hat keine Möglichkeit, das Ergebnis zu verstehen oder zu entscheiden, wie gut es ist.

Sie können nicht einmal richtige Tests schreiben, um herauszufinden, was vor sich geht, wenn Sie nicht wissen, welche Sicherheitsmaßnahmen Sie benötigen, was Sie am Ende erhalten haben, was sie bewirken sollen oder wie Erfolg und Misserfolg aussehen könnten.

Schließlich führt die Implementierung schlechter, fehlerhafter oder gar keiner Sicherheitsmaßnahmen in Ihrer Software nicht dazu, dass diese kaputt geht. Es könnte immer noch so aussehen, als würde auf Benutzerseite alles richtig gemacht – aber hinter verschlossenen Türen sind die sensiblen Informationen Ihrer Benutzer (persönliche Daten, Zahlungsinformationen, Nutzungsverlauf) völlig ungeschützt und können von Kriminellen gestohlen werden. Und das ist sowohl für Sie als auch für Ihre Kunden schlecht – Sicherheitsverletzungen verursachen für Produktbesitzer nichts als Stress, Skandale und finanzielle Verluste.

Als Karpathy seine Vibe-Coding-Experimente beschrieb, sagte er, dass der von ihm und Cursor erstellte Code „meistens funktioniert“, und ich bin nicht hier, um zu behaupten, dass „funktioniert größtenteils“ inakzeptabel ist. In jeder Codebasis für jedes Produkt sind immer schnelle Lösungen, Hackerlösungen, Fehler und alle möglichen Probleme versteckt. Angesichts der Größe und Komplexität von Software ist dies heutzutage einfach unvermeidlich.

Wenn Sie Ihr Projekt jedoch der Öffentlichkeit zugänglich machen und den Leuten Geld für die Nutzung in Rechnung stellen möchten, haben Sie die Verantwortung, es so sicher wie möglich zu machen. Es ist nicht in Ordnung, vertrauliche Informationen ungeschützt zu lassen – und es ist auch nicht in Ordnung, davon auszugehen, dass sie geschützt sind, ohne dies ordnungsgemäß zu bestätigen.

Wenn Sie eine warnende Geschichte aus dem wirklichen Leben brauchen – @leojr94 auf X hat alles, was Sie brauchen. Hier ist seine Geschichte zusammengefasst in drei X-Beiträgen:

leojr94 auf X erster Beitrag.
leojr94 auf X / Digital Trends
leojr94 auf X zweiter Beitrag.
leojr94 auf X / Digital Trends
leojr94 auf X dritter Beitrag.
leojr94 auf X / Digital Trends

Warum ist Vibe-Coding für Sie problematisch?

Software ist teuer. Selbst wenn Sie alle Entwicklungskosten durch Vibe-Codierung senken, müssen Sie dennoch für die Speicherung Ihrer Daten, den Versand zwischen Ihnen und Ihren Benutzern und die Interaktion mit anderen Diensten über APIs bezahlen.

Die Dienste, die Sie dafür nutzen, wie z. B. AWS, sind in der Regel „Pay-as-you-go“, das heißt, Sie zahlen nur für genau das, was Sie benötigen. Das ist großartig, oder? Sicher. Aber wenn Sie keine Kontrolle über die Software haben, die Sie entwickeln, haben Sie auch keine Kontrolle über die Datennutzung. Ihr Code, der in zufälligen Blöcken generiert und zusammengefügt wird, ist wahrscheinlich äußerst ineffizient. Nur ein paar schlecht gestaltete Leitungen könnten 3x, 5x oder sogar 10x mehr Daten erzeugen, als Sie tatsächlich benötigen – und das Hin- und Herschicken dieser unnötigen Daten zwischen Ihnen und Ihren Benutzern kostet Sie viel zusätzliches Geld. Die explosivste Art und Weise, wie etwas schief gehen kann, ist tatsächlich, wenn die Dinge richtig laufen.

Stellen Sie sich vor, Sie haben ein paar Benutzer, einige Rechnungen gehen ein, das Wachstum ist langsam, aber stetig, und Sie können damit umgehen. Aber eines Tages wachen Sie auf und Ihre Social-Media-Inhalte sind viral geworden und haben Tausende von Menschen zu Ihrem Softwareprodukt geführt. Das wäre großartig, abgesehen von der Tatsache, dass Ihre AWS-Rechnung jetzt riesig ist und Sie feststellen, dass Ihre Netzwerkverkehrskosten pro Benutzer tatsächlich höher sind als die Abonnementkosten, die sie Ihnen zahlen.

Was ist die Lösung?

An diesem Punkt würden einige Leute anfangen, weitere Produkte vorzuschlagen. Plattformen für Vibe-Programmierer und „Nicht-Techniker“, die Benutzern zusätzliche Unterstützung für Sicherheit, Server und andere Backend-Sachen bieten. Manche Leute könnten auch sagen, dass Vibe Coding mit ein paar Änderungen genau das sein könnte, was die Softwareentwicklung braucht, um demokratisiert zu werden und nicht mehr ausschließend zu sein.

Ich bin anderer Meinung – es ist bereits demokratisiert und bereits inklusiv (obwohl ich nicht glaube, dass das ein Wort ist). Jeder kann etwas über Informatik, Codierung, Programmierung oder Softwareentwicklung lernen, solange er über einen Computer und eine Internetverbindung verfügt – und genau das tun die Menschen. Viele Programmierer sind Autodidakten und werden es wahrscheinlich auch immer sein. Sie haben alles, was Sie brauchen, was mich zur „harten Wahrheit“ der Situation führt: Wenn Sie Software erstellen wollen, dann haben Sie Pech – Sie müssen lernen, wie man es macht.

Wenn Sie eine Idee haben, investieren Sie entweder die Mühe, zu lernen, wie man sie umsetzt, oder Sie investieren die Mühe, Partner und Investoren zu finden, die Ihnen dabei helfen können, sie zum Leben zu erwecken. Es gibt keine knifflige Option ohne Aufwand, bei der Sie auf magische Weise in vernachlässigbarer Zeit ein funktionierendes Produkt erhalten und keine Partner haben, mit denen Sie die Gewinne teilen müssen. So funktioniert die Welt nicht und so sollte sie auch nicht funktionieren.

Wenn Sie eine andere Sprache sprechen möchten, müssen Sie sie lernen. Wenn Sie Gitarre spielen wollen, müssen Sie es lernen. Und wenn Sie Software erstellen möchten, müssen Sie lernen, wie man Software erstellt. Wenn der Do-it-yourself-Weg für Sie gut klingt, dann sind das tolle Neuigkeiten: Jeder, der die Möglichkeit hat, Code mit kostenloser oder kostenpflichtiger Software zu testen, hat auch die Möglichkeit, Programmieren mit kostenlosen oder kostenpflichtigen Kursmaterialien zu erlernen. Vielleicht könnten Sie sogar KI-Tools nutzen, um die Dinge zu beschleunigen.

Und ich mache keine Witze, wenn ich sage, dass es jeder kann – beim Programmieren wird so viel Wert auf Inklusion gelegt, dass es sogar eine „Art des Programmierens“ gibt, die für fast jeden verfügbar ist. Natürlich wird nicht jeder Software-Architekt bei einem Top-Unternehmen werden – aber manche lernen genug, um Spiele in C++ zu erstellen, andere lernen genug, um Apps mit Python zu erstellen, und selbst wenn Sie entscheiden, dass Programmieren nicht wirklich Ihr Ding ist, werden Sie wahrscheinlich immer noch in der Lage sein, Websites mit HTML zu erstellen. Egal, ob Sie ein professioneller Lernfreak sind oder noch nie in Ihrem Leben gelernt haben, ob Sie ein Mathe-Experte sind oder schlecht mit Zahlen umgehen können – Sie werden in der Lage sein, etwas zu schaffen.

Wie lange wird Vibe Coding bestehen bleiben?

Nun ist es unmöglich zu wissen, was Karpathy mit der Durchführung dieses kleinen Experiments oder der Veröffentlichung im Internet erreichen wollte. Für mich lautet der X-Beitrag so: „Mann, diese KI-Sachen werden verrückt. Ich kann haufenweise absichtlich schlechte Entscheidungen treffen, nach absichtlich dummen Dingen fragen, und irgendwie bekomme ich am Ende etwas, das trotzdem irgendwie funktioniert.“

Andere Leute scheinen es eher so interpretiert zu haben: „Wow, man kann Software erstellen, auch wenn man nicht versteht, wie man programmiert.“ Nein. Großes Nein. Das kannst du nicht machen. Sie denken vielleicht, dass die Barriere zwischen Ihnen und der App, die Sie erstellen möchten, darin besteht, dass Programmierer mit kryptischen Unsinn den ganzen Tag herumsitzen und tippen – dass Sie nichts erstellen können, weil Sie nicht wissen, wie man code eingibt.

Aber das ist es nicht. Sie können beginnen, all das zu verstehen, nachdem Sie es nur ein paar Stunden lang studiert haben. Es ist nur die Sprache, nur die Kommunikationsmethode zwischen Ihnen und dem Computer, und sie verblasst im Vergleich zu den tatsächlichen Informationen, die Sie kommunizieren möchten. Wenn Ihr Lebensziel darin besteht, ein tiefes und gründlich technisches Gespräch mit einem spanischen Experimentalphysiker in seiner Muttersprache zu führen, werden Sie es nicht erreichen, indem Sie nur Spanisch lernen.

Software entwerfen, Algorithmen verstehen, Daten verwalten, Sicherheitsstandards einhalten, skalierbar entwickeln, optimieren und debuggen – das sind die Fähigkeiten, die beim Erstellen von Software erforderlich sind. Es spielt also keine Rolle, ob Sie mit Cursor die Eingabe von Code vermeiden können, Sie können jedoch keine richtige App erstellen, wenn Sie nichts über Apps wissen.

Ich weiß nicht wirklich, wie groß Vibe-Coding werden wird oder wie lange es dauern wird, aber ich glaube definitiv nicht, dass es sich für eine technisch nicht versierte Person lohnt, es mit Vibe-Coding für ein Produkt zu versuchen. Ich glaube auch nicht, dass es für Verbraucher das Risiko wert ist, ein Produkt mit Vibe-Code auszuprobieren – es gibt keine Möglichkeit herauszufinden, ob Ihre Passwörter und Zahlungsinformationen sicher sind. Wenn Sie ein neues, unabhängig entwickeltes Produkt sehen, an dem Sie interessiert sind, überlegen Sie, herauszufinden, wer es hergestellt hat und wie es hergestellt wurde, bevor Sie ihnen Geld geben.