
Künstliche Intelligenz (KI) wird oft als Wundermittel für Produktivitätssteigerungen in der Softwareentwicklung angepriesen. Die Studie „Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity“ hat gezeigt, dass entgegen der Selbsteinschätzung der Programmierer genau das Gegenteil der Fall war. Die Frage ist also: Macht KI wirklich produktiver? Dieser Fragestellung gehen wir in diesem Beitrag nach. Die Beantwortung dieser Frage ist, wie so oft, viel komplexer, und ein einfaches Ja/Nein ist nicht möglich.
Inhalte
- Was hat die Studie untersucht und was waren die wichtigsten Erkenntnisse?
- Wo liegen die Stärken von KI bei der Unterstützung und warum sind diese in erster Linie eine Unterstützung für unerfahrene Programmierer?
- Wo entstehen mehr Fehler im Code?
- Was bedeutet dies für die Zukunft von Programmen und Code?
Was hat die Studie untersucht und was waren die wichtigsten Erkenntnisse?
Die Studie wurde als randomisierte kontrollierte Studie (RCT) durchgeführt, um zu verstehen, wie die aktuellsten KI-Tools von Februar bis Juni 2025 die Produktivität von erfahrenen Open-Source-Entwicklern beeinflussen, die an ihren eigenen Repositories arbeiten. Die Studie umfasste 16 Entwickler, die insgesamt 246 Aufgaben in grossen Open-Source-Repositories bearbeiteten, die durchschnittlich über 22.000 Sterne* und 1 Million Zeilen Code verfügten.
Zur Studie: Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity
*Auf GitHub, einer Plattform zur Versionsverwaltung und Zusammenarbeit an Codeprojekten, können Nutzer ein Repository mit einem „Star“ markieren, um:
- Interesse oder Wertschätzung für das Projekt zu zeigen.
- Das Projekt später leichter wiederzufinden.
- Anderen zu signalisieren, dass es sich um ein beliebtes oder nützliches Projekt handelt.
Diese Repositories haben im Durchschnitt über 22.000 Stars auf GitHub, was auf eine hohe Popularität und Relevanz in der Entwickler-Community hinweist.
Zur Studie: Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity
Wichtigste Erkenntnisse
Produktivitätsrückgang
Überraschenderweise stellte sich heraus, dass Entwickler mit KI-Tools 19 % länger brauchten, um Aufgaben zu erledigen, als ohne diese Tools. Dies deutet darauf hin, dass KI-Tools die Produktivität von erfahrenen Entwicklern nicht steigern, sondern sie tatsächlich langsamer machen.
Fehlerhafte Selbsteinschätzung hinsichtlich der Produktivitätssteigerung
Die Entwickler schätzten vor der Studie, dass die Verwendung von KI-Tools ihre Produktivität um 24 % steigern würde. Nach Abschluss der Studie schätzten sie, dass die KI-Tools ihre Produktivität um 20 % gesteigert hatten. Diese Selbsteinschätzung war jedoch falsch, da die KI-Tools ihre Produktivität tatsächlich verringerten.
Hohe Vertrautheit mit Repositories
Die Studie deutet darauf hin, dass erfahrene Entwickler, die sehr vertraut mit ihren Repositories sind, weniger von KI-Tools profitieren. Dies könnte daran liegen, dass sie bereits effiziente Methoden und Lösungen kennen und KI-Tools möglicherweise nicht die gewünschte Effizienzsteigerung bringen.
Komplexität und Grösse der Repositories
Grosse und komplexe Repositories stellen eine Herausforderung für KI-Tools dar. Diese Tools sind oft nicht in der Lage, den gesamten Kontext und die Komplexität grosser Projekte zu erfassen, was zu ungenauen oder unvollständigen Vorschlägen führt. Dies führt für die Entwickler zu Mehraufwand.
Geringe Zuverlässigkeit der KI
KI-Tools sind nicht immer zuverlässig. Entwickler müssen oft viel Zeit damit verbringen, die von der KI generierten Codes zu überprüfen und zu korrigieren. Dies kann die Produktivität erheblich beeinträchtigen, da die Entwickler nicht nur den Code schreiben, sondern auch die Fehler der KI korrigieren müssen.
Implizite Repository-Kontexte
Erfahrene Entwickler nutzen oft implizites Wissen und Kontexte, die KI-Tools nicht erfassen können. Dies kann dazu führen, dass die von der KI generierten Vorschläge nicht den Erwartungen und der geforderten Qualität entsprechen und zusätzliche Arbeit erforderlich machen, um diese anzupassen und zu korrigieren.
Wo liegen die Stärken von KI bei der Unterstützung und warum sind diese in erster Linie eine Unterstützung für unerfahrene Entwickler/Programmierer?
Stärken von KI in der Softwareentwicklung
Automatisierung repetitiver Aufgaben
KI kann hochkomplexe Aufgaben automatisieren, die zwar anspruchsvoll, aber repetitiv sind. Dies umfasst Aufgaben wie Code-Refactoring, Testen, Debugging und das Einrichten von Entwicklungsumgebungen. Durch die Automatisierung dieser Aufgaben können Entwickler Zeit sparen und sich auf anspruchsvollere und kreativere Aspekte der Softwareentwicklung konzentrieren.
Wissen aggregieren und aufbereiten
KI ist extrem hilfreich beim Aufbereiten von Wissen. Wenn ein Entwickler wissen muss, wie man etwas programmiert, kann die KI dies erklären und den entsprechenden Code generieren. Dies spart Zeit und ermöglicht es Entwicklern, schneller und effizienter zu arbeiten.
Schwächen von KI in der Softwareentwicklung
Begrenzte Kontextverständnisse
Oft ist es immer noch schwer für KI-Modelle, die Kontexte zu verstehen. KI-Tools können Schwierigkeiten haben, den gesamten Kontext und die Komplexität grosser Projekte zu erfassen, was zu ungenauen oder unvollständigen Vorschlägen führt. Dies kann die Produktivität erfahrener Entwickler beeinträchtigen, da sie mehr Zeit damit verbringen, die Vorschläge der KI zu überprüfen und zu korrigieren.
Echtes Lernen und Erfahrung
Der KI fehlt es an echter Erfahrung, da sie mit statistischen Modellen arbeitet. Dies kann dazu führen, dass die von der KI generierten Vorschläge nicht immer den Erwartungen entsprechen und zusätzliche Arbeit erforderlich machen, um diese anzupassen und zu korrigieren. Erfahrene Entwickler haben oft ein tiefes Verständnis und spezifisches Wissen, das KI-Tools nicht ersetzen können.
Begrenzte Lernfähigkeit
KI-Tools können zwar aus bestehenden Daten lernen, aber sie können nicht wirklich „erfahren“ werden wie ein menschlicher Entwickler. Dies bedeutet, dass sie nicht in der Lage sind, aus Fehlern zu lernen und ihr Wissen und ihre Fähigkeiten im Laufe der Zeit zu verbessern, wie es ein menschlicher Entwickler tun würde.
Warum überwiegen die Vorteile für unerfahrene Entwickler/Programmierer?
Kontrolle der von der KI automatisierten Tasks
Ein unerfahrener Programmierer wird nur erkennen, wenn bei einem Test etwas gar nicht funktioniert. Ob etwas nicht optimal, effizient oder langfristig gedacht programmiert wurde, versteht er nicht. Das heisst, er wird alles von der KI einfach akzeptieren. Der Code ist schwächer, wird aber zuerst einmal das tun, was er soll. Die Kontrolle und Überarbeitung kostet diesen entsprechend aber auch keine Zeit. Er hat hier viel an Effizienz gewonnen.
Wissen aufbereiten und aggregieren – hilft besonders bei Wissensmangel
Je mehr ein Programmierer weiss, desto kleiner ist der Mehrwert. Der Unerfahrene weiss wenig, entsprechend ist der Mehrwert für diesen exponentiell. Er kann Dinge tun, die er ohne KI nicht könnte. Er vertraut der KI auch mehr und übernimmt Code meist nahezu zu 100 %, was seine Geschwindigkeit extrem steigert. Früher musste er in Datenbanken nach den passenden Code-Snippets durchsuchen, Tutorials anschauen und sich in Foren informieren. Dies kann er nun alles beiseitelassen. Es geht also um ein Vielfaches schneller.
Geringe Zuverlässigkeit, fehlende Konsistenz der KI
KI-Tools sind nicht immer zuverlässig. Erfahrene Entwickler sehen diese Inkonsistenz und die Fehler, der unerfahrene Programmierer nicht. Es stört ihn nicht, solange der Code läuft. Es ist ein bisschen so, wie wenn man in einem Haus Strom- und Wasserleitungen verlegt. Der erfahrene Meister legt alles geordnet, der Unerfahrene aber vielleicht schneller irgendwie in einem Chaos. Am Schluss kommt der Putz darüber und es spielt keine Rolle mehr. Dies aber eben nur solange, bis etwas nicht funktioniert, wie es sollte, dann braucht die Lösung beim Chaos ein Vielfaches des Aufwandes um das Problem zu beheben.
Implizites Wissen
Erfahrene Entwickler nutzen oft implizites Wissen und Kontexte, die KI-Tools nicht erfassen können. Dies kann dazu führen, dass die von der KI generierten Vorschläge nicht den Erwartungen entsprechen und zusätzliche Arbeit erforderlich machen, um diese anzupassen und zu korrigieren. Unerfahrene Programmierer haben dieses Wissen nicht, dadurch wissen sie nicht das es bessere Lösungen gäbe und stellen den generierten Code nicht in Frage.
Wo entstehen mehr Fehler im Code?
Die Frage, wo mehr Fehler im Code entstehen und warum, ist komplex und hängt von verschiedenen Faktoren ab, einschliesslich der Erfahrung der Entwickler, der Art der verwendeten KI-Tools und der spezifischen Aufgaben, die sie ausführen. Hier sind einige Erkenntnisse aus Studien.
KI und Codequalität
Eine Studie von Qodo zeigt, dass KI-Tools die Produktivität von Entwicklern steigern und gleichzeitig die Codequalität verbessern können. Wenn KI sinnvolle Vorschläge macht, die den richtigen Code-Kontext, lokale Dateien, Architektur-Muster und Team-Konventionen berücksichtigen, sinkt die Rate von Fehlern (Halluzinationen) erheblich. Dies führt zu saubereren Code-Änderungen, höherer Testabdeckung und weniger Nitpick-Reviews. Dies deutet darauf hin, dass KI die Codequalität verbessern kann, wenn sie richtig eingesetzt wird.
KI und Code-Duplikation
Eine Studie von GitClear, die auf der Analyse von 211 Millionen Codezeilen basiert, deutet darauf hin, dass KI-Coding-Assistenten die Codequalität durch Erhöhung von dupliziertem und kopiertem Code und Verringerung von Refactoring beeinträchtigen. Die Studie fand heraus, dass die Anzahl der Codeblöcke mit 5 oder mehr duplizierten Zeilen im Jahr 2024 um das Achtfache zunahm. Duplizierter Code kann zwar korrekt laufen, ist aber oft ein Zeichen für schlechte Codequalität, da er Bloat hinzufügt, auf eine unklare Struktur hindeutet und das Risiko von Defekten erhöht, wenn der gleiche Code an einer Stelle aktualisiert wird, aber nicht an anderer.
KI und menschliche Überprüfung
KI-generierter Code ohne angemessene menschliche Überprüfung kann zu einer Vielzahl von Problemen führen, von funktionalen Fehlern bis hin zu Sicherheitslücken. Es ist entscheidend, dass menschliche Entwickler KI-generierten Code überprüfen und verfeinern, um die Codequalität und Projektintegrität zu erhalten. Dies unterstreicht die Bedeutung der menschlichen Überprüfung, um sicherzustellen, dass KI-generierter Code keine zusätzlichen Fehler einführt
Herausforderungen beim Coding mit KI
Zusammenfassend lässt sich sagen, dass KI-Tools sowohl positive als auch negative Auswirkungen auf die Codequalität und Fehlerraten haben können. Während sie die Produktivität steigern und die Codequalität verbessern können, wenn sie richtig eingesetzt werden, können sie auch zu mehr dupliziertem Code und höheren Fehlerraten führen, wenn sie nicht angemessen überwacht und überprüft werden. Die menschliche Überprüfung bleibt entscheidend, um sicherzustellen, dass KI-generierter Code keine zusätzlichen Fehler einführt.
Was bedeutet dies für die Zukunft von Programmen und Code?
Es gibt tatsächlich nur wenige Studien, die explizit die langfristigen Lerneffekte von KI auf Anfänger in der Softwareentwicklung untersuchen, indem sie die Leistung von Entwicklern mit und ohne KI über einen längeren Zeitraum hinweg vergleichen. Die meisten Studien konzentrieren sich auf kurzfristige Produktivitätssteigerungen oder die unmittelbaren Auswirkungen von KI-Tools auf die Codequalität und Entwicklungsgeschwindigkeit.
Wir stellen hier die These auf: Es wird viel mehr Code geben, doch die Qualität wird schlechter.
Dies ist ein generelles Problem im Kontext von KI. Es gibt immer schneller immer mehr Output, aber die Qualität sinkt im Schnitt. Es ist ein bisschen, wie wenn die Kinder nur von den Eltern lernen ohne Lehrer also Fachpersonen. Das heisst, die Kinder haben nur die Kompetenzen der Eltern und diese wissen vieles nicht, machen Fehler. Die Eltern stellen den Kindern keine Aufgaben und diese müssen Lösungen finden, nein, sie lösen jede Herausforderung, die sich ihnen stellt für diese. Die Kinder werden entsprechend weder die Kompetenz haben, Probleme selbst zu lösen noch die korrekten Fakten, denn diese waren ja bereits mangelhaft durch das mangelnde Fachwissen ihrer Eltern.
Das gleiche Problem haben wir bei der KI. Wir züchten Programmierer, die immer weniger Ahnung haben, weil sie weniger wissen müssen. Der Code, der daraus resultiert, wird immer schwächer, da die Programmierer die Kompetenz und das Wissen nicht mehr haben, diese zu kontrollieren und zu optimieren. Da der Output schlechter wird mit welchem die KI wieder trainiert wird, wird die KI auch schlechter. Die Intelligenz aus Bits und Bits und die Menschliche werden beide parallel abnehmen.
Warum wird die KI irgendwann nicht besser, sondern schlechter?
Das Problem ist, dass die KI mit dem Code trainiert wird, den die Programmierer schreiben. Wenn der Code immer schlechter wird, wird auch die KI immer schlechter. Dies ist ein Teufelskreis. Die KI wird immer schlechter, weil die Programmierer immer schlechter werden, weil die KI immer schlechter wird. Dies ist ein Problem, das wir lösen müssen, sonst werden Systemausfälle in Zukunft noch häufiger und frappierender werden.