Direkt aus der Praxis: Fünf Monate KI-Assistenz in der Softwareentwicklung
Vom "Teuren Fehler" zum "Game Changer": Unsere unerwartete Reise mit KI-Programmierung
Mal ganz ehrlich: Die meisten Entwickler haben ein gespaltenes Verhältnis zu KI-Coding-Assistenten. Wir haben die Demos gesehen, die Erfolgsgeschichten gelesen und vielleicht selbst etwas ausprobiert – nur um Wochen damit zu verbringen, generierten Code aufzuräumen, der oberflächlich stimmig aussah, aber unter Druck komplett auseinanderfiel.
Wir waren damals auch dabei. Vor ein paar Jahren wagten wir den Schritt mit frühen KI-Tools und saßen anschließend auf Monaten an Nacharbeit. Der Code sah sauber aus, bestand die ersten Tests – und traf überhaupt nicht ins Schwarze dessen, was wir tatsächlich brauchten. Eine kostspielige Lektion, warum blindes Vertrauen in KI-Output in einer Katastrophe endet.
Als wir in diesem Jahr wieder an KI-Programmierwerkzeuge herangingen, taten wir das deshalb mit reichlich Vorsicht. Was wir vorfanden, überraschte uns: Die Tools hatten sich enorm weiterentwickelt, aber entscheidender war – wie man sie einsetzt, ist mindestens genauso wichtig wie welche Tools man wählt.
Der eigentliche Durchbruch: Klein anfangen, groß denken
Die Wende kam von einer unerwarteten Seite. Eine Nicht-Programmiererin in unserem Team – unsere Marketing-Managerin – baute innerhalb weniger Stunden einen funktionierenden Datenbank-Client mit einem KI-Assistenten zusammen. Er funktionierte. Nicht perfekt, aber gut genug, um einsatzfähig zu sein.
Das erregte unsere Aufmerksamkeit. Wenn KI jemandem außerhalb des Engineering-Bereichs helfen konnte, funktionierenden Code zügig zu produzieren – was konnte sie dann für die eigentliche Feature-Entwicklung leisten?
Wir begannen, bestehende Systeme zu erweitern. Unsere REST API brauchte neue Fähigkeiten für die Verarbeitung von Batch-Operationen. Die ursprüngliche Implementierung hatte erheblichen Engineering-Aufwand bedeutet. Die KI-gestützte Erweiterung? Zwei Tage.
Das war die entscheidende Erkenntnis: KI ist hervorragend darin, bestehende Codebasen zu erweitern und aufzubauen. Sie versteht Kontext, Namenskonventionen und Architekturmuster, wenn diese bereits etabliert sind. Was ihr massive Schwierigkeiten bereitet, ist komplexe Systeme aus dem Nichts heraus zu erschaffen – ohne diese Grundlage.
Das große Wagnis: Ein jahrzehntealtes Problem anpacken
ermutigt von diesen Erfolgen, beschlossen wir, die Grenzen auszuloten. Da gab es ein Feature, das unsere Nutzer反复 demandeiert hatten – eine Fähigkeit, die wir一直 depriorisiert hatten, weil die Komplexität mit traditionellen Entwicklungsansätzen prohibitiv schien.
Wir sprechen von der Ergänzung anspruchsvoller Query-Fähigkeiten für einen verteilten Key-Value-Store. Stellen Sie sich vor, komplexes SQL-Support in ein System zu bringen, das traditionell für einfache, ultraschnelle Operationen optimiert war. Mit konventionellen Methoden veranschlagten wir das auf mindestens zwei Jahre Entwicklungszeit.
Die Frage war simpel: Könnte KI-gestützte Entwicklung diese Gleichung fundamental verändern?
Fünf Monate später hatten wir unsere Antwort. Wir lieferten Beta-Support für Features, die auf unserer TODO-Liste weit über ein Jahrzehnt vor sich hin geschlummert hatten.
Das Entwicklungsmodell, das tatsächlich funktioniert
Hier ist, was wir gelernt haben: KI ersetzt kein gutes Engineering-Urteilsvermögen – sie verstärkt es. Während unseres gesamten Entwicklungsprozesses behielten wir die disziplinierte Herangehensweise bei, die für komplexe Systeme immer funktioniert hat:
Beginne mit einem übergeordneten Plan. Wisse, wohin du willst, bevor du mit dem Code-Schreiben beginnst – selbst wenn dieser Code von einer KI geschrieben wird.
Zerlege in detaillierte Phasen. Unsere Implementierung durchlief mehrere Planungsiterationen, jede mit zehn bis zwanzig und mehr distincten Phasen. KI kann dir helfen, diese Phasen schneller auszuführen – aber nur, wenn du die Vorarbeit geleistet hast.
Teste unerbittlich. Hier wird KI-Unterstützung wirklich transformativ. Umfassende Test-Suiten generieren – einschließlich der Tests für verteilte Systeme, die normalerweise enormen Aufwand erfordern – wird plötzlich machbar. Wir konnten einzelne Systemschichten isoliert testen, bevor wir uns an die Integration wagten. Das beschleunigte unseren Weg zu einer funktionierenden Implementierung drastisch.
Die komplementären Stärken verschiedener KI-Modelle
Nicht alle KI-Assistenten sind gleich, und wir lernten, ihre unterschiedlichen Stärken gezielt zu nutzen:
Modell A (wir nutzten Claude) brillierte darin, über lange Entwicklungssessions hinweg Kontext zu halten. Es behielt im Blick, wo wir im Gesamtplan standen, was noch zu erledigen war und wie neuer Code in die größere Architektur passte. Dieses Modell war unser Projektmanager und Navigator.
Modell B (wir nutzten Codex) bewies sich als besser bei der Lösung komplexer, fokussierter Probleme. Wenn wir auf einen besonders kniffligen Bug stießen oder einen verzwickten Algorithmus implementieren mussten, fand dieses Modell oft elegantere Lösungen – und das schneller als wir es gekonnt hätten.
Die Lektion? Verschwende dich nicht exklusiv an ein einzelnes Tool. Baue dir einen Workflow, der die Stärken jedes Modells ausspielt.
Die Async-Herausforderung: Wo KI noch Lenkung braucht
Hier ein Detail, das uns überraschte: KI-Programmierwerkzeuge funktionieren bemerkenswert gut mit sequenziellem, synchronem Code – also den Mustern, die sie am häufigsten in Trainingsdaten gesehen haben.
Sobald asynchrone Operationen ins Spiel kommen, wird es interessant. Die Modelle übersehen manchmal Kontext, der für erfahrene Entwickler offensichtlich wäre. Aber das Schöne daran: Durch gezielte Prompts und Erklärungen lässt sich meist unkompliziert gegensteuern.
Umgekehrt gilt dasselbe. Die Geschwindigkeit, mit der KI funktionierenden Code generieren kann – insbesondere für Boilerplate und gut verstandene Patterns – übertrifft completly das, was ein Mensch manuell erreichen könnte. Es ist wie ein unermüdlicher Pair-Programmierer, dem das Schreiben von Unit-Tests nie langweilig wird.
Was das für dein nächstes Projekt bedeutet
Wenn du KI-gestützte Entwicklung in Betracht ziehst, hier unsere ehrliche Einschätzung:
Es funktioniert herausragend gut, wenn:
- Du eine bestehende Codebasis mit etablierten Patterns hast
- Du Funktionalität erweiterst oder ergänzt
- Du umfassende Test-Suiten generieren kannst (etwas, das wir immer wollten, aber nie die Bandbreite dafür hatten)
- Du menschliche Oversight behältst und nicht davor zurückschreckst, Prompts zu iterieren
Es wird riskanter, wenn:
- Du komplexe Systeme aus dem Nichts baust, ohne Referenzarchitektur
- Das Domänenwissen tiefes Kontextverständnis erfordert, das der KI fehlt
- Du erwartest, dass KI implizite Anforderungen versteht, ohne dass diese explizit spezifiziert wurden
Die Technologie hat sich so weit entwickelt, dass ernsthafte Engineering-Arbeit mit KI-Unterstützung tatsächlich möglich ist. Aber es bleibt ein Werkzeug, das geschickte Hände braucht, um effektiv eingesetzt zu werden.
Der Vibe-Coding-Vorteil
In Entwicklerkreisen gewinnt ein Begriff an Bedeutung: "Vibe Coding." Er trifft etwas Echtes darüber, wie KI das Entwicklererlebnis verändert. Wenn KI die Boilerplate übernimmt und erste Implementierungen generiert, können Engineers ihre Zeit auf die kreativen, architektonischen Entscheidungen verwenden, die wirklich zählen.
Unsere fünfmonatige Reise bewies: Das ist nicht nur Hype. Wir haben Features ausgeliefert, die mit traditionellen Ansätzen Jahre gebraucht hätten. Wichtiger noch – wir haben durchgehend Qualität gehalten. Denn die Test-Infrastruktur, die wir mit KI-Unterstützung aufgebaut haben, hat Probleme frühzeitig aufgedeckt.
Die Zukunft komplexer Systementwicklung geht nicht davon, Engineers durch KI zu ersetzen. Sie geht davon, Engineers Superkräfte zu verleihen – und zu lernen, wann man den Tools vertraut und wann menschliches Urteil gefragt ist.
Das ist ein Vibe, mit dem wir uns identifizieren können.