KI als Software-Entwickler?

Donnerstag, 28.03.2024

Mirko Matytschak

Ein Unternehmen hat einen KI-Assistenten vorgestellt, der nicht nur einfache Programmieraufgaben, sondern ganze Softwareprojekte umsetzen können soll. Können wir uns auf diesen neuen Assistenten freuen?

Vor kurzem hat eine die Firma Cognition Labs einen KI-Assistenten namens Devin vorgestellt. Heise hatte darüber berichtet. Das System soll in der Lage sein, eigenständig Softwareprojekte umzusetzen. Als Messlatte dient die SWE-Benchmark. Für die Studie wurden Aufgaben aus Github extrahiert, die verschiedene KIs lösen sollten. Das Ergebnis ist sehr ernüchternd. Devin soll das alles laut Heise nun wesentlich besser können:

Und auch der auf einem Subset der im SWE-Benchmark hinterlegten Codierungsprobleme erreichte Score von 14 Prozent lässt einen großen Sprung in der KI-basierten Software-Generierung vermuten. Zum Vergleich die bisher führenden Ergebnisse: Claude 2 kommt auf 4,8 Prozent), Llama auf 3,9 Prozent und GPT-4 auf 1,5 Prozent.

Endlich Entlastung bei Routineaufgaben?

Stellen Sie sich vor, Sie sind in Ihrer Firma für ein Team verantwortlich. In dem Team sitzt ein Entwickler, der 14% seiner Aufgaben korrekt erledigt. Da würden Sie der Person eventuell nahelegen, sich nach anderen Tätigkeitsfeldern umzusehen. Aber es kommt noch dicker. Wenn eine echte Person an einer Aufgabe scheitert, fragt sie vielleicht einmal nach.

Eine KI präsentiert Code, der nach einer Lösung aussieht, der aber komplett falsch sein kann. Wenn Sie nun eine Lösung präsentiert bekommen, die auf einer grundfalschen Annahme basiert, dann können Sie die Lösung nicht einfach flicken. Sie müssen die Lösung komplett verwerfen.

Stellen Sie sich vor, Ihr Team hätte 10 Personen. Sie verbringen Ihren Tag mehr oder minder damit, in Besprechungen die Vorgehensweise abzustimmen, die Fragen der Teammitglieder zu beantworten, die irgendwo hängen geblieben sind, zwischendrin etwas Code Review zu betreiben und immer wieder Bugs zu untersuchen, an deren Fix das gesamte Team gescheitert ist. Das ist im Prinzip die Beschreibung meines gegenwärtigen Jobs.

Nun verdoppeln Sie den Output des Teams durch eine KI. Das hört sich erst einmal gut an. Aber nun müssen Sie Code in der Größenordnung des Outputs von weiteren 10 Personen überprüfen. 86% des Codes basiert auf Halluzinationen. Vielen Dank aber auch.

Natürlich können Sie als Führungskraft die Korrektur des Codes den menschlichen Mitarbeitern im Team überlassen. Die werden sich aber bedanken. Es ist nicht etwa so, dass sie sich darüber freuen, sich auf interessantere Dinge konzentrieren zu können, wie die Entwickler von Devin behaupten:

With Devin, engineers can focus on more interesting problems and engineering teams can strive for more ambitious goals. 

Je mehr von diesem unqualifizierten Code produziert wird, desto mehr Zeit verbringen die Entwickler daran, diesen Code zu überprüfen und zu fixen, bzw. gegen funktionierende Module zu ersetzen.

Bis diese Vorgehensweise in der Praxis funktioniert, müsste sich das Verhältnis umkehren: 86% des Codes sollte mindestens korrekt sein (und nicht nur 14%), damit sich das für Software-Teams lohnt.

Und bei der Verbesserung der KI-Assistenten gilt das Paretoprinzip. Die bisher erreichte Produktivität ist mit seinen 14% noch sehr weit von den 80% entfernt, ab denen der Einsatz der KI interessant wird und für die 20% der Entwicklungszeit zur Verfügung stehen. Und dann kommt erst der 80%-Aufwand für den Rest.

Bis der erledigt ist, tun wir, was die KIs auch tun: Wir suchen im Internet nach Lösungen. Die Wahrscheinlichkeit, hier auf etwas brauchbares zu stoßen ist höher und die gefundene Lösung kann sofort validiert werden. Das ist gegenwärtig und in absehbarer Zukunft der effektivste Weg der Software-Entwicklung.

Wenn aber die Entwicklung solcher KIs weiterkommen soll, braucht es Teams, die bereits heute damit arbeiten. Die haben aber eindeutig Nachteile, was ihre Effektivität anbetrifft. Wie heißt es so schön: Vorhersagen sind schwierig, vor allem, wenn sie die Zukunft betreffen. Aber was die KI als Programmierer anbetrifft, stehen die Chancen, dass das in den nächsten 10-20 Jahren klappt, nicht sehr gut.

Einen Kommentar verfassen

Anleitung zur Textformatierung

Zum Formatieren des Textes verwenden Sie [b][/b] und [i][/i]. Verwenden Sie [url=http://ihre-site]Text[/url] für Links.

* Pflichtfelder