In der sich rasant weiterentwickelnden Welt der Softwareentwicklung stehen Entwickler immer wieder vor der Herausforderung, komplexe Projekte in immer kürzerer Zeit umzusetzen. Die Integration von Künstlicher Intelligenz und speziell von großen Sprachmodellen (LLMs) verspricht eine neue Ära der Produktivität und Effizienz. Ein besonders spannendes Experiment stellt das sogenannte „Vibe Coding“ dar, eine Methode, bei der der Entwickler vorrangig durch gezielte Eingaben – sogenannte Prompts – mit einem KI-Agenten interagiert, um Code in kurzer Zeit zu generieren und weiterzuentwickeln. Während der letzten zwei Wochen habe ich diese Arbeitsweise intensiv ausprobiert und möchte nun meine Erfahrungen, Erkenntnisse sowie Chancen und Risiken dieser Methode im Detail schildern. Mein Projekt war die Migration einer Desktop-Browsererweiterung auf mobile Plattformen.
Konkret handelte es sich um eine relativ einfache Anwendung, die das Scannen und Herunterladen von Bildern ermöglicht. Da mobile Browsererweiterungen unter iOS nur durch die Safari Web Extension API realisierbar sind und Android-Anwendungen zumeist das manuelle Sideloading erfordern, war diese Herausforderung sehr passend für ein Vibe Coding-Experiment. Der zentrale Ausgangspunkt war eine Hypothese unseres CTOs, dass durch den Einsatz von anspruchsvollen KI-Modellen die Entwicklungszeiten drastisch verkürzt werden können – mit dem Ziel, nicht mehr als zwanzig Prozent der Zeit manuell am Code zu feilen. Die restliche Arbeit sollte mittels effizienter Prompt-Entwicklung erledigt werden. Für das Experiment haben wir die Cursor Plattform verwendet, die es uns ermöglichte, bei Bedarf zwischen verschiedenen leistungsstarken Modellen wie Claude 3-8, GPT-4o und Gemini Pro Max zu wechseln.
Eine wichtige Vorbedingung war die Wahl eines konsistenten Tech Stacks, der sich an Webtechnologien wie React, Styled Components und Webpack orientierte. Durch systemseitig definierte Regeln in Cursor stellten wir sicher, dass der KI-Agent keine abweichenden Bibliotheken oder Frameworks verwendete und stets sauberen sowie kompakten Code lieferte, ohne bestehende Konfigurationen zu übergehen. Zu Beginn lag unser Fokus auf einem funktionsfähigen End-to-End-Prototypen. Diese Phase nahm unerwartet zwei Arbeitstage in Anspruch. Ursprünglich waren wir überzeugt, den Prototyp innerhalb eines halben Tages fertigstellen zu können.
Doch bereits das Anzeigen der UI-Komponenten erwies sich als Herausforderung: Obwohl die React-Komponenten gerendert wurden, fehlte das Styling, da die CSS-Datei der UI-Bibliothek nicht richtig in die Haupt-CSS-Datei eingebunden war. Der KI-Agent versuchte wiederholt, das Styling durch dynamisches Einfügen von Stylesheets zu lösen, was jedoch nicht funktionierte. Hier mussten wir manuell eingreifen und den CSS-Import an der richtigen Stelle hinzufügen. Die darauffolgenden Tage waren vom Bugfixing und der Anpassung des Designs gemäß den Vorgaben des Produktteams geprägt. Sehr erfreulich war, dass Cursor trotz fehlender direkter Integration zu Design-Tools wie Figma die Umsetzung anhand von Screenshots relativ schnell realisieren konnte.
Dabei zeigte das System eine bemerkenswerte Fähigkeit zur visuellen Interpretation und zur Annäherung an vorgegebene Designs. Die letzten drei Arbeitstage nutzten wir, um die Feature-Logik und Ablaufsteuerung mit den Anforderungen der Produktabteilung in Einklang zu bringen und kleinere Details zu verfeinern. Die positiven Aspekte des Experiments sind vielfältig. Ganz besonders beeindruckend ist die Geschwindigkeit, mit der erste Prototypen entwickelt werden können. LLMs ermöglichen es, Ideen von der Konzeption bis zur Umsetzung in einem Bruchteil der sonst üblichen Zeit zu bringen.
Während ich bereits vorab mit ChatGPT experimentiert hatte, erwies sich die Nutzung eines Agenten, der eigenständig Aktionen ausführt, als noch effizienter und benutzerfreundlicher. Ein weiterer wesentlicher Vorteil besteht in der konsequenten Automatisierung des Entwicklungsprozesses. Durch die Kombination von Entscheidungsfindung und Ausführung durch intelligente Agenten fühlt sich der Entwicklungsprozess teilweise geradezu „übernatürlich“ an. Die Vorstellung, solche Agenten als autonome Assistenten im Hintergrund arbeiten zu lassen, beispielsweise während der eigenen Schlafenszeit, eröffnet ein enormes Produktivitäts-Potenzial für die Zukunft. Aber auch die Fähigkeit zur Inferenz überraschte: Selbst auf Grundlage eines vergleichsweise kleinen Kontextes erkannte Cursor mögliche nächste Schritte und Anforderungen, die im Projekt sinnvoll gewesen wären.
Diese Eigenschaft machte die Zusammenarbeit angenehmer und förderte eine proaktivere Abfolge der Aufgaben. Die Funktion als „Companion“, also als unterstützender Partner, erwies sich als vielleicht der bedeutendste langfristige Vorteil. Cursor kann eine Art virtueller Zweithand-Entwickler und Reviewer sein – ein wertvoller Sparringspartner, der insbesondere repetitive oder verbindende Aufgaben automatisiert und dadurch Entwickler entlastet. Dennoch durfte ich auch einige Herausforderungen beobachten. Die ursprünglich gesetzte Deadline konnte nicht eingehalten werden.
Obwohl wir nach zwei Wochen eine intern veröffentlichbare Version hatten, war die Software noch nicht fehlerfrei. Zudem wurde das im Vorfeld angestrebte Verhältnis von achtzig Prozent automatischer Arbeit zu zwanzig Prozent manuellem Eingriff deutlich verfehlt. Tatsächlich investierten wir circa fünfundfünfzig Prozent der Arbeitszeit in Bugfixes, während vierundvierzig Prozent durch Prompts und KI-begleitete Entwicklung gekennzeichnet waren. Eine weitere Einschränkung stellte die begrenzte Länge der Chatverläufe in Cursor dar. Nach etwa zehn bis fünfzehn Eingaben wurde das System spürbar langsamer, weshalb Chats wiederholt neu gestartet werden mussten.
Dieses Handling ist auf Dauer nicht ideal und schränkt den Workflow ein. Ein untrügliches Problem bei allen KI-basierten Systemen sind die sogenannten Halluzinationen. Obwohl die Qualität der generierten Codes verglichen mit älteren Modellen deutlich verbessert wurde, tauchen immer noch Inhalte auf, die fehlerhaft, unvollständig oder aus dem Zusammenhang gerissen sind. Besonders bei Nischen-Themen wie Safari Web Extensions, die relativ wenig Aufmerksamkeit in der Trainingsphase erhalten haben, ist das Risiko höher. Daraus folgt eine ständige Unsicherheit und erhöhte Kontrolle durch den Entwickler, der trotz Automatisierung nicht auf Wachsamkeit verzichten darf.
Nicht zuletzt ist die Gefahr der menschlichen Nachlässigkeit nicht zu unterschätzen. Die Geschwindigkeit, mit der KI Ergebnisse liefert, verführt dazu, weniger durchdachte Prompts zu verfassen oder lediglich Fehlermeldungen zu posten, ohne eine tiefere Analyse anzustellen. Diese Haltung kann die eigene Produktivität und die Qualität der Zusammenarbeit mit KI-Agenten negativ beeinflussen und zu schnelleren Ermüdungserscheinungen führen. Zusammenfassend lässt sich sagen, dass Vibe Coding zweifellos ein vielversprechender Ansatz ist. Insbesondere bei neuen, grünen Projekten mit überschaubaren Anforderungen ermöglicht die Kombination aus menschlicher Expertise und KI-gestützter Entwicklung eine spannende und produktive Arbeitsweise.