@Brrr
Sehr interessante Gedanken. Genau davor habe ich auch "Angst".
Diese Tools sind dafür ausgelegt, komplett loszulassen.
Aktuell baue ich in meiner Angular Anwendung von klassichen reaktiven Formgroups auf Signal based Forms um.
Bei der Einführung von Signals habe ich noch groß von Hand programmiert und habe sie komplett durchdrungen. Aber die Signal based forms sind neu. Die ganzen Methoden für die Nutzung habe ich grob verstanden und was die KI so treibt funktioniert auch alles soweit.
Aber ob das jetzt die optimale Implementierung für meine Anwendung ist, habe ich noch nicht verstanden. Aber es ist einfach so verlockend weiter zu machen und das nächste Thema anzugehen, weil es auf den ersten Blick so perfekt aussieht.
Ich muss beruflich sehr viel Code reviewen und habe Kollegen, die komplett vibecoden und Kollegen, die sich dem komplett versperren. Der Code von den Kollegen, die von Hand programmieren, ist viel besser nachvollziehbar. Wahrscheinlich, weil sie ihn ja auch komplett durchdringen müssen. Es sind aber öfters Fehler enthalten.
Die KI dagegen neigt dazu, mal eben an 20 Stellen Änderungen zu machen oder mal eben Dinge zu machen, die man insgesamt tun kann, für den Kontext des Projektes jedoch neu ist und wieder mentale Kapazitäten benötigt.
Außerdem stellt sich bei den Vibecodern eine "es funktioniert doch Haltung" ein.
Dann habe ich mehr Kommentare bei den Vibecodern eingefordert. Jetzt habe ich an jeder Klasse, Methode und Variable irgendwelche KI generierten Kommentare und bin dennoch nicht zufrieden, weil sich nicht genug darüber Gedanken gemacht wurde, wo ein Kommentar im Kontext des Gesamtprojekts und Team sinnvoll wäre. Es reicht nicht irgendwas dran zu schreiben. Man muss das Kommentar auf das Wissenslevel des Teams anpassen. Das kann die KI nicht wissen.
Also wie gesagt: das ist so ein schmaler Grad zwischen loslassen und Kontrolle behalten.
Aber das ist nur meine persönliche anekdotische Evidenz. Ich überlege auch noch, wie ich den Review-Prozess anpassen kann. Die KI macht insgesamt weniger Programmierfehler. Ich muss also gar nicht nach Fehlern suchen, sondern eher schauen, ob das die Anforderung an die Aufgabe erfüllt und mit den Zielen des Projektes übereinstimmt.