Blog: Java, Software-Entwicklung & mehr

Doppelte Geschwindigkeit, halber Preis: Was kann Vibe-Coding?

20.05.2025 Bjarne Jansen

Beim Vibe-Coding wird die KI mit gezielten Anweisungen gefüttert und übernimmt die Programmierung. Was funktioniert und welche Einschränkungen gibt es?

Mit Vibe-Coding schwappt ein neuer Trend mal wieder aus den USA in den Rest der Welt. Anstatt sich programmierend Codezeile für Codezeile mühsam an mehr oder weniger gut formulierten Anforderungen abzuarbeiten, überlässt man beim Vibe-Coding diese Aufgabe lieber einer KI. Mit gezielten Anweisungen gefüttert, übernimmt diese dann die Fleißarbeit der Programmierung. Kann das funktionieren?

Spoiler alert: Ja, es kann - muss allerdings nicht.

In diesem Artikel werfen wir einen Blick auf Claude 3.7 Sonnet sowie Claude Code und geben einen ersten Überblick, was möglich ist und wo (noch) Grenzen vorhanden sind.

Claude 3.7 Sonnet und Claude Code

KI hat sich in rasender Geschwindigkeit in allen Bereich des Alltags etabliert, was sich u.a. an sinkenden Suchanfragen bei StackOverflow und Google bemerkbar macht. Viele Entwickler nutzen verschiedene KI-Tools, um konkrete Aufgabenstellungen einfacher zu lösen. Das ist ganz nett, fühlt sich mittlerweile aber nicht mehr allzu revolutionär an. Vibe-Coding ist hingegen ein echter Game Changer.

Spätestens die Ankündigung, dass Claude 3.7 Sonnet im SWE Benchmark mit einem Wert von über 70% die bisherigen LLMs um Längen geschlagen hat, musste einen zum Aufhorchen bringen. Die LLMs hinter ChatGPT, Gemini und Claude 3.5 liegen bei dem Benchmark relativ dicht zusammen bei einem Wert von ca. 50% und waren bisher ebenfalls eine große Unterstützung bei der Softwareentwicklung. Was kann man also von Claude 3.7 Sonnet erwarten?

Hinzu kommt das mit Claude Code ein absolutes Killer Feature zur Verfügung steht. Während viele KI-Plattformen über den Webbrowser oder eigene Apps verwendet werden, kann man über Claude Code direkt auf der eigenen Kommandozeile mit Claude kommunizieren. Claude Code kann dann Dateien anlegen, ändern oder löschen oder auch Dev-Tools wie git, maven oder npm ausführen. Es kann Logdateien und Konfigurationseinstellungen lesen und neue Pakete installieren.

Mal davon abgesehen, dass es prinzipiell wohl keine gute Idee ist, Claude den vollen Zugriff auf das eigene System zu geben, sind die Vorteile dieser Integration nicht von der Hand zu weisen. Man muss nicht mehr mühsam Code-Schnipsel aus dem Browser kopieren oder Dateien herunterladen und verschieben. Gerade bei größeren Projekten spart das sehr viel Zeit und ist deutlich weniger fehleranfällig. Außerdem hat Claude immer Zugriff auf den vollen Kontext.

Der Blick unter die Haube

Claude ist ein LLM von Anthropic, einem KI-Forschungsunternehmen, das von ehemaligen OpenAI-Mitarbeitern gegründet wurde. Wer aufgrund des Namens die Hoffnung hatte, dass seine Daten EU-konform sicher in Frankreich liegen, wird leider enttäuscht. Anthropic ist ein US-amerikanisches Unternehmen, das alle Daten in den USA speichert. Anthropic bietet jedoch einen Auftragsverarbeitungsvertrag (AVV) (im Englischen als Data Processing Addendum (DPA) bezeichnet) an, der insbesondere für Unternehmen relevant ist, die personenbezogene Daten gemäß der Datenschutz-Grundverordnung (DSGVO) verarbeiten.

Für kommerzielle Kunden ist der DPA mit Standardvertragsklauseln (Standard Contractual Clauses, SCCs) automatisch Bestandteil der Commercial Terms of Service von Anthropic. Durch die Annahme dieser Nutzungsbedingungen wird gleichzeitig der DPA akzeptiert.

Trotz der DPA hatten wir kein großes Interesse, Claude Zugriff auf unser gesamtes System zu geben. Zudem sollen durch Claude initiierte Installationen auch in einigen Fällen zu Systemabstürzen geführt haben, was wir ebenfalls als nicht sonderlich reizvoll empfunden haben. Es ist daher sinnvoll, für Claude einen Käfig zu bauen. Sei es ein dedizierter Rechner, eine VM oder ein docker-Image. Danach kann es jedoch gleich losgehen.

Une conversation avec Claude

Hat man Claude Code das erste Mal gestartet, stellt sich natürlich die alles entscheidende Frage: Was mache ich jetzt? Lasse ich ein neues Betriebssystem erzeugen oder vielleicht eine neue Version meines Lieblingsspiels oder lasse ich Claude selbst entscheiden. Claude macht das dann, bzw. er versucht es und scheitert.

Es mag etwas irritierend sein, wenn man Claude vermenschlicht. Diese Sichtweise kann bei der Arbeit mit Claude jedoch hilfreich sein, da es etwas die Magie aus der Denkweise nimmt. Zaubern kann Claude eben auch nicht. Im Laufe des Artikels werden wir Claude noch andere menschliche Eigenschaften andichten.

Die oben genannten Aufgaben konnte Claude nicht zufriedenstellend erledigen, da die Freiheitsgrade viel zu hoch waren. Was hingegen gut funktioniert, sind kleinere, aufeinander aufbauende Schritte. Zudem ist es hilfreich, wenn man sich mit Claude der eigentlichen Aufgabe annähert, bevor die eigentliche Generierung beginnt.

Man könnte z.B. zunächst mit Claude eine Spezifikation erstellen, indem man einige Vorgaben macht und Claude bittet, diese zu vervollständigen oder zu konkretisieren. Es kann auch hilfreich sein, das Ziel dieser Spezifikation zu erläutern z.B. die Erstellung eines Click-Dummies. Nun kann man iterativ gemeinsam an der Spezifikation arbeiten. Es kann dabei sehr hilfreich sein, Claude zu fragen, ob er alle Informationen hat, um aus der Spezifikation einen Click-Dummy zu erzeugen.

Durch die iterative Annäherung an die eigentliche Aufgabe kann man mit Claude sehr gute Ergebnisse erzielen. Nach der Erstellung des Click-Dummies kann wiederum iterativ an diesem gearbeitet werden, bis dieser einen Stand erreicht, der in Quellcode umgesetzt werden soll. Auch hier bieten sich wieder kleine Schritte an.

Man kann nun zum Beispiel fragen, ob Claude alle Informationen hat, um aus der Spezifikation und dem Click-Dummy ein Angular-Frontend zu bauen. Ein Backend wird erst einmal explizit nicht erzeugt, sondern kann später hinzugefügt werden. Auf diese Art und Weise nähert man sich Schritt für Schritt seinem Ziel.

Auch wenn Claude Code im Wesentlichen für die Erzeugung von Quellcode eingesetzt wird, ist auch die schnelle Erzeugung von Click-Dummies im Projektgeschäft Gold wert, da dies eine sehr enge Abstimmung mit dem Kunden ermöglicht. Da es stets einfacher ist, über konkrete Themen zu sprechen, bietet ein Click-Dummy oftmals eine perfekte Grundlage, um eine einheitliche Sichtweise zwischen Kunden und Dienstleister zu erzielen. Das vereinfacht dann wiederum die Entwicklung der eigentlichen Software, was Zeit und Kosten spart.

Einschränkungen

Claude ist ein ausgesprochen mächtiges Tool, mit dem man bei richtiger Bedienung einen erheblichen Effizienzgewinn erzielen kann. Es gibt jedoch auch einige Stolpersteine, die den Puls hin und wieder steigen lassen.

Wenn man das erste Mal mit Claude arbeitet, kann einen schnell die ungestüme Arbeitsweise überraschen. Ehrlicherweise kann der Aktionismus einen schnell zur Weißglut treiben. Wir hatten anfangs häufiger Situationen, in den Claude Fremdbibliotheken installieren wollte, um damit Bugs zu beheben, die auch mit Bordmitteln lösbar waren. Es ist daher in jedem Projekt sinnvoll, klare Regeln aufzustellen, wie Claude arbeiten soll. Diese Regeln kann man in der Datei CLAUDE.md speichern, was nahelegt, dass das Problem auch beim Hersteller nicht ganz unbekannt ist.

In unserer CLAUDE.md steht beispielsweise, dass Claude erst einmal Vermutungen anstellen soll, diese verifizieren soll und erst bei einer erfolgreichen Prüfung mit der eigentlichen Aktion starten soll. Diese Anweisung hatte positive Auswirkung auf unser Nervenkostüm und auf die Qualität der Aktionen von Claude.

Gerade bei Programmiersprachen, die viele externe Bibliotheken einbinden wie Java oder TypeScript hat Claude oftmals Probleme, die Kompatibilität der Bibliotheken sicherzustellen. Auch hier kann es helfen, Claude explizit zu fragen, welche Versionen kompatibel sind, damit er diese Informationen direkt verwendet. Einfacher ist es jedoch, wenn man bei den wesentlichen Komponenten die Versionsnummern einfach vorgibt.

Ein weiteres Problem besteht in einer falschen Erwartungshaltung an Claude, was zu einem schlechten prompting führt. „Bearbeite alle Jira-Tickets und wecke mich um 17 Uhr“ wird nicht funktionieren. Stattdessen sollten kleine, iterative Schritte gewählt werden, die sich nach und nach zu einer immer konkreter werdenden Aufgabe ergänzen.

In diesem Zusammenhang sei noch erwähnt, dass man keinen (generierten) Quellcode ohne Review pushen sollte. Claude ist nicht perfekt und macht Fehler. Wie im echten Leben kann man diese dann aber ansprechen und beheben lassen. Nachtragend ist Claude zumindest nicht.

Der von Claude erzeugte Quellcode sieht in der Regel gut aus und ist klar strukturiert. Es gibt aber natürlich Ausnahmen, die dann schnell als inakzeptabel eingestuft werden. Wenn man allerdings ehrlich ist, haben wir in unserem Leben als Consultants in der Regel in keinem Projekt den 100% großartigen Code gesehen. Es ist sicher sinnvoll, danach zu streben, aber Claude aus diesem Grund nicht einzusetzen wäre kurzsichtig.

Aus unserer Erfahrung kann Claude seine Stärken insbesondere auf der grünen Wiese und im Frontend-Bereich ausspielen. Um große, vorhandene Projekte einzulesen, fehlt (noch) die Kapazität. Man kann sich dann damit behelfen, nur Teile des Projekts einzulesen, was besser funktioniert.

Kosten

Für die Verwendung von Claude Code entstehen verschiedene Kosten. Zum einen ist pro Entwickler ein kostenpflichtiger Account bei Anthropic erforderlich, der mit 25 $ pro Monat zu Buche schlägt (Stand 05/2025). Zum anderen entstehen bei der Nutzung von Claude Code zusätzliche Kosten, die abhängig von den konkreten Prompts sind. Wir haben zum Beispiel ca. 25 $ für ein kleines Projekt bezahlt, das folgende Schritte umfasste:

  • Erzeugung eines Anforderungskonzepts
  • Erzeugung eines Click-Dummies aus dem Konzept
  • Erzeugung eines Angular-Frontends aus dem Konzept und Dummy
  • Erzeugung eines SpringBoot-Backends mit GraphQL-API

Das Projekt haben wir innerhalb von ca. vier Stunden von 0 auf eine erste, lauffähige Version gehoben.

Also, Butter bei die Fische: Doppelte Geschwindigkeit, halber Preis – ist da etwas dran?

Es gibt in jedem Fall Anwendungsbereiche, in denen das funktioniert. Insbesondere bei der Erstellung von Webanwendungen ist man durch die Erzeugung von Code wesentlich schneller. Die Programmierung der eigentlichen Business Logik kann manuell hingegen schneller sein, da es ggf. einige Iterationen benötigt, bevor Claude wirklich verstanden hat, was zu entwickeln ist. Je nach Komplexität sind mehr oder weniger manuelle Eingriffe erforderlich. In der Praxis präferieren wir daher statt reinem Vibe-Coding eher einen Vibe-Ansatz, indem große Teile generiert werden und Einzelheiten manuell optimiert werden.

Spannend sind in jedem Fall die weiteren Entwicklungen in diesem Bereich. Zum einen ist zu erwarten, dass Claude mit den nächsten Versionen noch leistungsstärker wird. Zum anderen werden die Wettbewerber mit ähnlichen Produkten nachziehen. Für den Anwender sind das gute Aussichten, da die Softwareentwicklung dann noch effizienter wird. Da der Quellcode völlig unabhängig von Claude ist, wäre ein Wechsel zu einem stärkeren Modell jederzeit möglich. Vielleicht nutzt man auch verschiedene Modelle für verschiedene Tätigkeiten wie Neuentwicklungen, Tests oder Refactorings. Wir sind gespannt, wie diese Reise weitergeht.

Mehr erfahren...

Ist Ihr Projekt für einen Vibe-Ansatz geeignet? Finden wir es zusammen heraus: Jetzt Termin für ein Erstgespräch reservieren.