- „Vibe Engineering“ ist eine neue Bezeichnung für eine professionelle Entwicklungsweise mit AI-Coding-Tools. Anders als schnelles und verantwortungsloses „Vibe Coding“ bezeichnet es einen Ansatz, bei dem erfahrene Engineers LLMs nutzen und dabei Codequalität und Verantwortlichkeit aufrechterhalten
- Mit dem Aufkommen von Coding-Agenten wie Claude Code, OpenAI Codex CLI und Gemini CLI ist der Einsatz von LLMs in realen Projekten stark angestiegen. Einige Engineers führen sogar mehrere Agenten gleichzeitig aus, um parallel zu arbeiten
- Um LLMs effektiv zu nutzen, braucht es bereits etablierte Best Practices der Softwareentwicklung wie automatisierte Tests, Vorausplanung, umfassende Dokumentation, Versionsverwaltung und eine Kultur des Code-Reviews
- AI-Tools verstärken bestehende Expertise. Je mehr Fähigkeiten und Erfahrung ein Senior Engineer mitbringt, desto schneller und besser fallen die Ergebnisse mit LLMs aus
- Der Begriff grenzt sich bewusst von „Vibe Coding“ ab und betont eine schwierigere und ausgefeiltere Form des AI-Einsatzes für die Entwicklung von Produktionssoftware. Die widersprüchliche Kombination aus Engineering und Vibe macht den Ausdruck zugleich leichter merkbar (sie unterstreicht den Wandel von Entwicklungsprozessen durch AI-Tools und die Bedeutung von Professionalität)
Abgrenzung zwischen Vibe Coding und Vibe Engineering
- Vibe Coding ist eine schnelle, lockere und verantwortungslose Form der Softwareentwicklung mit AI, die vollständig promptgetrieben ist und kaum darauf achtet, wie der Code tatsächlich funktioniert
- Am anderen Ende des Spektrums gibt es eine Arbeitsweise, bei der erfahrene Fachleute ihre Arbeit mit LLMs beschleunigen und zugleich stolz und selbstbewusst Verantwortung für die von ihnen produzierte Software übernehmen. Diese wird als Vibe Engineering bezeichnet
- Mit LLMs in echten Projekten statt nur in Spielzeugprojekten produktiv als Software Engineer zu arbeiten, ist die weniger bekannte Wahrheit: Es ist schwierig. Es erfordert viel Tiefgang im Umgang mit den Tools, und es gibt viele Fallstricke, die man vermeiden muss
Das Aufkommen von Coding-Agenten und seine Auswirkungen
- Mit Coding-Agent-Tools wie Claude Code (veröffentlicht im Februar 2025), OpenAIs Codex CLI (April) und Gemini CLI (Juni) ist die Nützlichkeit von LLMs für reale Programmierprobleme dramatisch gestiegen
- Diese Tools bearbeiten Code iterativ weiter und testen aktiv, bis sie das vorgegebene Ziel erreicht haben
- Erfahrene und verlässliche Software Engineers lassen mehrere Agenten gleichzeitig laufen, um mehrere Probleme parallel zu bearbeiten und den Umfang ihrer Arbeit zu erweitern
- Der Autor war anfangs skeptisch, stellte nach dem eigenen Einsatz paralleler Coding-Agenten jedoch fest, dass dies mental anstrengend, aber überraschend effektiv ist
- Der Großteil der Sammlung auf tools.simonwillison.net wurde im klassischen Stil des Vibe Coding gebaut. Doch mit Coding-Agenten iterativ zu arbeiten und dabei wartbaren Code in Produktionsqualität zu erzeugen, fühlt sich wie ein völlig anderer Prozess an
Bestehende Software-Engineering-Praktiken, die durch LLMs verstärkt werden
- Automatisierte Tests: Mit einer starken, umfassenden und stabilen Test-Suite können Agent-Coding-Tools schnell arbeiten. Ohne Tests behaupten Agenten womöglich nur, dass etwas funktioniert, ohne es wirklich zu testen, oder neue Änderungen brechen nicht zusammenhängende Funktionen
- Test-First-Entwicklung ist besonders wirksam für Agenten, die in einer Schleife iterieren können
- Vorausplanung: Wenn man mit einem übergeordneten Plan startet, läuft das gemeinsame Hacken an etwas deutlich besser, und bei der Arbeit mit Agenten wird das noch wichtiger
- Man kann zuerst den Plan iterieren und ihn dann dem Agenten übergeben, damit dieser den Code schreibt
- Umfassende Dokumentation: Wie menschliche Programmierer können auch LLMs jeweils nur Teile einer Codebasis im Kontext behalten. Gibt man ihnen relevante Dokumentation, können sie APIs aus anderen Bereichen nutzen, ohne zuerst den Code lesen zu müssen
- Wenn man zuerst gute Dokumentation schreibt, kann das Modell allein auf Basis dieser Eingabe eine passende Implementierung erstellen
- Gute Gewohnheiten in der Versionsverwaltung: Wenn ein Coding-Agent Änderungen vorgenommen haben könnte, wird es noch wichtiger, Fehler rückgängig machen und nachvollziehen zu können, wann und wie etwas verändert wurde
- LLMs sind sehr gut in Git und können die Historie selbst durchforsten, um den Ursprung eines Bugs nachzuverfolgen;
git bisect beherrschen sie oft besser als die meisten Entwickler
- Effektive Automatisierung: Continuous Integration, automatisiertes Formatting und Linting sowie Continuous Deployment in Preview-Umgebungen helfen auch Agent-Coding-Tools
- LLMs erleichtern das Schreiben schneller Automatisierungsskripte, damit Aufgaben beim nächsten Mal korrekt und konsistent wiederholt werden können
- Eine Kultur des Code-Reviews: Wer in Code-Reviews schnell und produktiv ist, wird auch bei der Arbeit mit LLMs deutlich bessere Erfahrungen machen
- Wenn man lieber selbst Code schreibt, statt etwas Gleichwertiges zu prüfen, das jemand anderes (oder etwas anderes) geschrieben hat, wird es schwierig
- Eine sehr seltsame Form von Managementtechnik: Gute Ergebnisse von Coding-Agenten zu bekommen, ist auf unangenehme Weise ähnlich dazu, gute Ergebnisse von menschlichen Mitarbeitenden zu erhalten
- Man muss klare Anweisungen geben, den nötigen Kontext sicherstellen und umsetzbares Feedback zu den Ergebnissen liefern
- Dass es viel einfacher ist als die Arbeit mit echten Menschen, liegt daran, dass man sich keine Sorgen machen muss, sie zu beleidigen oder zu demotivieren. Bestehende Managementerfahrung ist dennoch überraschend nützlich
- Wirklich gutes manuelles QA (Qualitätssicherung): Neben automatisierten Tests muss man sehr gut darin sein, Software manuell zu testen, einschließlich des Antizipierens und Durchdringens von Edge Cases
- Starke Recherchefähigkeiten: Für ein gegebenes Coding-Problem gibt es Dutzende möglicher Lösungen. Die beste Option zu identifizieren und den Ansatz zu validieren war schon immer wichtig und bleibt auch dann ein Hindernis, wenn man Agenten echten Code schreiben lässt
- Die Fähigkeit, in Preview-Umgebungen zu deployen: Wenn ein Agent ein Feature baut, wird das Review viel produktiver und das Risiko, kaputte Software auszuliefern, deutlich kleiner, wenn es eine Möglichkeit gibt, diese Funktion sicher vorab anzusehen, statt direkt in Produktion zu deployen
- Ein Gespür dafür, was an AI ausgelagert werden kann und was man manuell erledigen sollte: Mit wirksameren Modellen und Tools entwickelt sich das laufend weiter
- Ein großer Teil effektiver Arbeit mit LLMs besteht darin, eine starke Intuition dafür zu behalten, wann sie am besten eingesetzt werden können
- Ein aktualisiertes Schätzungsvermögen: Abzuschätzen, wie lange ein Projekt dauern wird, war schon immer einer der schwierigsten, aber wichtigsten Teile der Rolle eines Senior Engineers, besonders in Organisationen, in denen Budget- und Strategieentscheidungen auf solchen Schätzungen beruhen
- AI-unterstütztes Coding macht das noch schwieriger: Dinge, die früher lange dauerten, gehen nun viel schneller, aber Schätzungen hängen jetzt von neuen Faktoren ab, die wir alle noch zu verstehen versuchen
Das Wesen und die Bedeutung von Vibe Engineering
- Um die Fähigkeiten dieser neuen Tools wirklich auszuschöpfen, muss man auf höchstem Niveau arbeiten, und das umfasst:
- nicht nur Verantwortung für das Schreiben von Code, sondern auch für
- die Recherche von Ansätzen,
- Architekturentscheidungen auf hoher Ebene,
- das Schreiben von Spezifikationen,
- die Definition von Erfolgskriterien,
- das Design von Agenten-Schleifen,
- QA-Planung,
- das Management einer ständig wachsenden Truppe seltsamer digitaler Praktikanten, die bei Gelegenheit versuchen zu schummeln,
- und viel Zeit für Code-Reviews
- Fast all das sind ohnehin bereits Merkmale eines Senior Software Engineers
- AI-Tools verstärken bestehende Expertise: Je mehr Können und Erfahrung man als Software Engineer besitzt, desto schneller und besser werden die Ergebnisse bei der Arbeit mit LLMs und Coding-Agenten
„Vibe engineering“, wirklich? : Überlegungen zur Wortwahl
- Ist der Name „Vibe Engineering“ albern? Wahrscheinlich schon. Das Konzept des „Vibe“ in AI wirkt an diesem Punkt etwas abgenutzt, und „Vibe Coding“ selbst wird von vielen Entwicklern abwertend verwendet
- Dennoch bin ich bereit, Vibe für etwas Konstruktiveres zurückzuerobern
- Ich mochte die künstliche Unterscheidung zwischen „Coder“ und „Engineer“ nie; sie wirkte immer etwas wie eine Eintrittsbarriere. Aber in diesem Fall ist genau so eine kleine Eintrittsbarriere notwendig
- Vibe Engineering schafft eine klare Abgrenzung zu Vibe Coding und signalisiert, dass dies eine andere, schwierigere und ausgefeiltere Art ist, mit AI-Tools Produktionssoftware zu bauen
- Mir gefällt, dass das anmaßend und potenziell kontrovers ist; dieser ganze Bereich ist noch immer auf viele Arten absurd
- Während wir herausfinden, wie wir diese neuen Tools am produktivsten einsetzen, sollten wir uns selbst nicht zu ernst nehmen
- In der Vergangenheit habe ich versucht, Begriffe wie AI-unterstützte Programmierung zu etablieren, hatte damit aber fast keinen Erfolg. Diesmal ist es vielleicht keine schlechte Idee, ein wenig Vibe hineinzureiben und zu sehen, was passiert
- Mir gefällt die klare Dissonanz zwischen „Vibe“ und „Engineering“ sehr; sie macht den zusammengesetzten Begriff spielerisch und (hoffentlich) einprägsam selbstwidersprüchlich
4 Kommentare
Soweit ich weiß, ist es erst vor Kurzem schon einmal gescheitert, etwas mit dem Namen „Was für Coding?“ zu etablieren; ich denke, „AI Pair Programming“ ist dafür der passendste Ausdruck.
Eine Namensgebung, nur um behaupten zu können: Diesen Namen habe ich erfunden.
Jemand hatte das einmal als augmentiertes Codieren (
Augmented Coding) bezeichnet, aber der Begriff war schnell wieder verschwunden.Hacker-News-Kommentare
/yologebaut und sie einfach ohne große Anleitung ausgeführt.Sinnlose Bezeichnungen erfinden;