3 Punkte von GN⁺ 2025-02-04 | 1 Kommentare | Auf WhatsApp teilen
  • In einer LLM-basierten Entwicklungsumgebung wird das neue Konzept des „Vibe Coding“ vorgestellt, bei dem Nutzer nicht selbst direkt Code schreiben, sondern per Dialog und Anweisungen Ergebnisse erzeugen
  • Mit Cursor Composer und SuperWhisper wird Code per Sprachbefehl geändert; schon einfache Anfragen wie „Reduziere das Sidebar-Padding um die Hälfte“ reichen aus, um Aufgaben auszuführen
  • Es wird ein automatischer Korrektur-Workflow genutzt: Codeänderungen (diffs) werden nicht gelesen, sondern pauschal mit „Accept All“ bestätigt, und Fehlermeldungen werden unverändert eingefügt, um Lösungen zu erhalten
  • Der Code wird zunehmend komplex und schwer verständlich, funktioniert aber auf dem Niveau eines experimentellen Wochenendprojekts ausreichend gut
  • Auch ein Battleship-Spiel, in dem zwei LLMs in Echtzeit gegeneinander antreten, wurde auf dieselbe Weise erstellt; dabei wird die Beobachtung erwähnt, dass „4o stärker ist als 4o-mini“

Das Konzept von Vibe Coding

  • „Vibe Coding“ ist eine Entwicklungsweise, die sich stärker auf Fluss und Gefühl als auf das eigentliche Schreiben von Code konzentriert
    • Nutzer kümmern sich nicht um die Detailstruktur des Codes, sondern übernehmen die von LLMs vorgeschlagenen Ergebnisse direkt
    • Mit der Formulierung, man „vergesse sogar, dass überhaupt Code existiert“, wird eine AI-zentrierte Entwicklungserfahrung betont

Verwendete Tools und Arbeitsweise

  • Zur Codegenerierung werden Cursor Composer und das Sonnet-Modell eingesetzt
    • Über SuperWhisper wird per Sprache mit Composer interagiert, sodass die Tastatur fast gar nicht mehr genutzt wird
  • Änderungen werden mit einfachen Befehlen wie „Reduziere das Sidebar-Padding um die Hälfte“ angefordert
    • Codeänderungen (diffs) werden nicht geprüft, sondern mit „Accept All“ genehmigt
    • Fehlermeldungen werden ohne zusätzliche Erklärung eingefügt und in den meisten Fällen dadurch behoben

Code-Management und Grenzen

  • Je größer der Code wird, desto komplexer und schwerer verständlich wird er
    • Wenn sich Bugs nicht beheben lassen, werden sie umgangen oder durch wiederholte, teils willkürliche Änderungsanfragen beseitigt
  • Dieser Ansatz eignet sich für kurzfristige, experimentelle Projekte, hat aber bei komplexen Systemen klare Grenzen

Experimentelles Projekt: Battleship-Spiel

  • In etwa einer Stunde Vibe Coding wurde ein Battleship-Spiel erstellt
    • Zwei LLM-Modelle treten darin in Echtzeit gegeneinander an
    • Es wird eine inoffizielle Beobachtung erwähnt, dass „4o stärker ist als 4o-mini“
  • Konkrete Statistiken oder Leistungswerte für den Vergleich liegen noch nicht vor

Gesamtkontext

  • Durch die Fortschritte bei LLMs zeigt sich, dass Entwickler ohne direkte Arbeit am Detailcode schnell funktionsfähige Anwendungen erzeugen können
  • „Vibe Coding“ kann als Beispiel dafür gelten, ein neues, AI-zentriertes Programmierparadigma experimentell sichtbar zu machen

1 Kommentare

 
GN⁺ 2025-02-04
Hacker-News-Kommentare
  • Jedes Jahr denke ich, dass die Qualitätsstandards für Software nicht noch weiter sinken können, und jedes Mal merke ich, dass ich falschliege

    • Ich verstehe nicht, warum man etwas unbedingt machen will, wenn man es nicht einmal richtig macht
    • Es ist, als würde man schlecht zugeschnittenes Holz irgendwie zusammennageln, bis etwas entsteht, das einem Stuhl ähnelt, und sich dann darauf setzen
    • Man kann zwar sagen: „Manchmal braucht man einfach nur irgendeinen Platz zum Sitzen“, aber trotzdem sollte es zumindest ein Mindestmaß an Fertigstellung geben
    • Ich habe gesehen, wie manche Menschen wegen mangelnden Selbstvertrauens im Englischen vollständig von LLMs abhängig geworden sind und dadurch ihre Ausdrucksfähigkeit und ihr Selbstvertrauen verlieren
    • In der Softwareentwicklung weiß man am Anfang nur selten, dass man tatsächlich einen „Stuhl“ baut
      • Am Ende ist es nur ein anderer Name für exploratives Programmieren oder Prototyping
    • Manchmal ist nicht das Ziel wichtig, sondern einfach nur der Wunsch, möglichst schnell irgendwo anzukommen
      • Das ist, als würde man jemanden tadeln, der müde ist und sich kurz auf den Boden setzt
    • Ich mache mir Sorgen, dass heutzutage das Gefühl für die Realität verloren geht, dass Code auf echter Hardware läuft
      • Viele junge Entwickler verstehen die physischen Folgen von Code nicht
      • Ich denke, dass AI und der ganze Hype irgendwann zusammenbrechen werden, aber der Kampf um Qualität muss weitergehen
  • Auch ich habe Spaß an dieser Art von kleinen Projekten

    • Aber bei Sicherheit darf man absolut nicht schlampig sein
    • AI-Coding-Assistenten haben schon oft APIs ohne Authentifizierung erstellt oder Templates mit XSS-Risiken erzeugt
    • Ich nutze LLMs täglich, bin aber überzeugt, dass für die Rolle von Security Engineers auch in Zukunft mehr als genug zu tun bleibt
  • Wenn ich diesen Ansatz sehe, fühlt es sich an, als würde ein „Essens-und-Coden-Mensch“ einfach ein Ergebnis einreichen

  • Ich mache mir Sorgen, dass die Fähigkeit, schwierige Probleme zu lösen, verkümmert, wenn man so mit dem Coden anfängt

    • Andere sagen aber, dass man die wirklich wichtigen Teile weiterhin manuell und sorgfältig erledigen kann
    • Stattdessen sinkt die Einstiegshürde, neue Dinge auszuprobieren, sodass man viel freier explorieren kann
  • Inzwischen gibt es immer mehr AI-native Entwickler, die von Anfang an auf diese Weise lernen

    • Es wirkt, als lebten wir inzwischen eher in einer Zeit des Managements von AI-Codern als des eigentlichen Codens
  • Tools wie ein „WYSIWYG, das sich per natürlicher Sprache anpassen lässt“ scheinen eine steile Schwierigkeitsklippe zu haben, ähnlich wie die Grenzen von RAD-Tools

  • Manche sagen, man sollte so nicht lernen, aber ich finde, wichtig ist das richtige Verhältnis von Aufwand und Fertigstellungsgrad

    • Vibe Coding ist eine gute Methode zum Lernen und Explorieren
    • Es könnte ein neues Spektrum zwischen Aufwand und Fertigstellungsgrad eröffnen
    • Allerdings muss man, wie Fred Brooks sagte, den ersten Versuch entschlossen verwerfen können, wenn er unzureichend ist
      • Wenn man sich an die erste von einem LLM erzeugte Implementierung klammert, kann man an einem falschen Ausgangspunkt hängenbleiben, ohne das Problem richtig verstanden zu haben
  • Für CSS reicht Vibe Coding meiner Meinung nach völlig aus

    • Andere entgegnen jedoch, dass es unter Berücksichtigung von Barrierefreiheit und Responsive Design nicht so einfach ist
    • Gut gemachtes CSS ist im Gegenteil oft knapp und leicht wartbar
    • AI dazwischenzuschalten kann eher hinderlich sein
    • Jemand anderes berichtet, mit Claude bereits ein kleines Web-Utility vollständig umgesetzt zu haben
    • Eine weitere Person erklärt, sie habe auf dieselbe Weise eine React-basierte Such-DSL oder einen GUI-Pipeline-Editor gebaut, und dass dieser Ansatz damit weit über simples CSS hinausgeht