- Laut einer aktuellen Studie brauchen Open-Source-Entwickler 19 % mehr Zeit, wenn sie AI-Tools in einer Codebasis einsetzen, die sie gut kennen
- Entwickler glauben zwar, dass AI sie schneller macht, tatsächlich gibt es jedoch eine Lücke zwischen Wahrnehmung und Realität, und sie werden langsamer
- Der Hauptgrund liegt in den Grenzen des Wissenstransfers zwischen dem fein ausgearbeiteten mentalen Modell (Verständnisstruktur) der Entwickler und der AI
- Nach Peter Naurs Theorie ist das Wichtigste beim Programmieren das „mentale Modell“ im Kopf des Entwicklers
- Dänischer Pionier der Informatik und Turing-Award-Preisträger von 2005. Er trug zur Backus-Naur-Form (BNF) bei, die zur Beschreibung der Syntax von Programmiersprachen verwendet wird
- Aus einer langfristigen Perspektive ist es wichtig, ein mentales Modell durch eigenes Schreiben von Code aufzubauen, um ein Projekt tiefgreifend zu verstehen
Warum AI Open-Source-Entwickler langsamer macht
- Laut einer Studie von Metr führte der Einsatz von AI-Tools dazu, dass die Problemlösung 19 % langsamer wurde
- Vor der Arbeit erwarteten die Entwickler, dass AI ihnen um 24 % schneller helfen würde, und selbst nach der Arbeit glaubten sie noch, 20 % schneller gewesen zu sein, als sie es tatsächlich waren
- Die Studie wurde mit erfahrenen Entwicklern durchgeführt, die Open-Source-Projekte selbst verwalten und tiefgehend verstehen
- Die Ergebnisse lassen sich nicht auf alle Entwickler verallgemeinern, zeigen aber, dass AI-Tools in dieser Gruppe einen negativen Effekt auf die Produktivität hatten
- In Unternehmensumgebungen oder für allgemeine Entwickler, die sich in eine neue Codebasis einarbeiten müssen, könnten AI-Tools eine positivere Rolle bei der Produktivitätssteigerung spielen
Warum AI erfahrene Open-Source-Entwickler ausbremst
- Laut Peter Naurs Aufsatz „Programming as Theory Building“ ist das eigentliche Ergebnis des Programmierens nicht der Code, sondern das ‚mentale Modell des Entwicklers über das Projekt‘
- Dieses mentale Modell ist zentral für das Verständnis des Systems, die Diagnose von Problemen und wirksame Verbesserungen
- LLM-basierte AI kann nicht direkt auf das mentale Modell des Entwicklers zugreifen; selbst wenn ein Teil der Informationen übermittelt wird, entsteht im Wissenstransfer ein grundlegender Verlust
- Ein Beispiel: Wenn man jemandem aufträgt, ein Baby schlafen zu legen, handelt diese Person trotz klarer Erklärung in der Praxis oft anders als beabsichtigt
- Die Übertragung eines mentalen Modells ist extrem komplex, und es ist für AI nahezu unmöglich, dieses allein aus Text vollständig aufzunehmen
- Deshalb senkt das Delegieren von Arbeit an AI in Projekten, die man tief versteht, eher die Produktivität
- Der reiche Kontext und das intuitive Verständnis eines Entwicklers lassen sich von AI nicht leicht ersetzen
Sollte man AI-Tools im Arbeitsalltag verbieten?
- Nicht unbedingt. Das gilt nur für Menschen, die an Projekten arbeiten, die sie selbst gut kennen und tief verstehen
- Viele Unternehmensentwickler warten Code von bereits ausgeschiedenen Senior-Entwicklern oder arbeiten, ohne die Gesamtarchitektur eines Systems tief zu verstehen
- In solchen Umgebungen kann AI dazu beitragen, eine Codebasis schnell zu erfassen und Änderungen automatisch zu erzeugen, was kurzfristig die Produktivität steigern kann
- Wenn es vor allem um kurzfristigen Business Value und unmittelbare Effizienz geht, können AI-Tools eine positive Rolle für die Produktivität spielen
Aufbau mentaler Modelle und AI
- Wenn man noch kein mentales Modell eines Projekts hat, kann ein LLM helfen, die Produktivität zu steigern
- Wenn das Wesen der Softwareentwicklung jedoch im Aufbau mentaler Modelle liegt, kann zu starke Abhängigkeit von AI diese Fähigkeit schwächen
- Wer ein Projekt langfristig tief verstehen und aktiv weiterentwickeln möchte, braucht die Erfahrung, selbst Code zu schreiben
- Umgekehrt kann der Einsatz von AI effizient sein, wenn es nur darum geht, etwas „einfach zum Laufen zu bringen“
Weitere Diskussion und Fazit
- Mit AI-Tools auf dem aktuellen Stand ist es schwierig, die Produktivität von Entwicklern mit einem ausreichend ausgeprägten mentalen Modell zu steigern
- Wie AI mentale Modelle besser unterstützen oder die Produktivität erfahrener Entwickler grundlegend erhöhen kann, erfordert noch weitere Forschung und Entwicklung
- Künftige Modelle könnten so weit fortschreiten, dass menschliche Entwickler vielleicht kein eigenes mentales Modell mehr brauchen; auf dem aktuellen Stand sind direktes Verständnis und eigenes Lernen jedoch unverzichtbar
- Letztlich kann AI in Umgebungen, in denen man tief versteht, was man tut, eher stören, während sie in Umgebungen, in denen schnelle Ergebnisse wichtig sind, ein Produktivitätstool sein kann
5 Kommentare
> Umgekehrt kann der Einsatz von KI effizient sein, wenn es sich um Aufgaben handelt, bei denen es nur darum geht, „es einfach irgendwie zum Laufen zu bringen“.
Das gilt nicht nur für Entwickler, aber es gibt nun einmal Menschen mit sehr unterschiedlichen Neigungen. Deshalb habe ich den Eindruck, dass gerade diejenigen, die eher zufällig in der Softwareentwicklung gelandet sind und das Schreiben oder Lesen von Code nicht mögen oder sogar davor zurückschrecken, und die strukturierte Architektur oder Wartbarkeit weniger wichtig finden als die bloße Tatsache, dass es irgendwie läuft, besonders stark dazu neigen, sich auf KI zu verlassen oder ihr blind zu vertrauen. Vielleicht liege ich auch falsch.
Messen des „AI-Impacts“ auf die Produktivität erfahrener Open-Source-Entwickler
Hacker-News-Meinungen
Ich denke, der Blogbeitrag greift auf interessante Weise einen konkreten Faktor auf, der dazu beitragen kann, dass AI die Entwicklungsgeschwindigkeit verlangsamt.
In der Studie gibt es auch Entwicklerzitate, siehe Abschnitt C.1.5.
Viele lesen die Studie und entdecken einen Faktor, der ihnen plausibel erscheint, und ziehen dann leicht den Schluss: „Dieser eine Punkt ist der Grund für die Verlangsamung.“
Tatsächlich sind es aber mehrere Faktoren (mindestens 5 sind wahrscheinlich, bis zu 9 können nicht ausgeschlossen werden; siehe die Faktortabelle auf S. 11).
Statt anzunehmen, dass nur ein einzelner Punkt die Ursache ist, ist eine mehrdimensionale Ursachenanalyse angemessener.
Wer selbst ein Experiment dazu plant, den würde ich sehr bitten, die Ergebnisse an die in der Studie angegebene E-Mail-Adresse zu schicken.
Und zum Artikeltitel „AI slows down open source developers. Peter Naur can teach us why“ denke ich, dass etwas wie „Anfang 2025 verlangsamt AI erfahrene Open-Source-Entwickler. Peter Naur liefert zusätzlichen Kontext zu einem bestimmten Faktor.“ präziser wäre.
Das klingt vielleicht weniger provokant, aber Genauigkeit ist wichtig.
Nochmals vielen Dank für den großartigen Artikel, und ich lese die Kommentare weiterhin
Frühere verwandte Diskussion
Vollständige Studie
xkcd-Zeitmanagement-Comic
Joel on Software: Things you should never do, part I
Viel AI-generierter Code wird einfach produziert, durchläuft ein paar einfache Tests und damit hat es sich. Es gibt sogar immer mehr Code, dessen vollständigen Kontext oder Begründung nicht einmal der Autor selbst wirklich versteht
(wird in Abschnitt C.2.7 des Papers „Unterdurchschnittliche Nutzung von AI-Tools“ ausführlicher behandelt)
Siehe auch: altes Thema zu AI-Spam
try:catch-Blöcke zu breit einsetzen und es dadurch schwerer machen, die Problemquelle nachzuverfolgen. Ich persönlich möchte lieber, dass Probleme schnell und deutlich sichtbar werden (= fail fast), damit ich sie sofort beheben kannIch hatte einen ähnlichen Gedanken, aber es war schwer, ihn in Worte zu fassen.
Mentales Modell ist wirklich eine passende Bezeichnung. Ich werde sie gelegentlich verwenden.