KI in der Softwareentwicklung: Warum ich keine Angst um meinen Job habe
KI: Kurzfristiger Trend oder dauerhafter Zustand?
Bevor man sich der eigentlichen Thematik widmet, sollte eine Kernfrage vorab geklärt werden. Nämlich, ob es sich überhaupt lohnt, auf das Thema „KI“ zu blicken. Immerhin könnte es sich hierbei um einen kurzfristigen Trend handeln. Wer das allerdings hofft, den muss ich enttäuschen, denn diese Frage lässt sich leicht beantworten. Künstliche Intelligenz ist keine Modeerscheinung. Gerade in der Softwareentwicklung wird diese “Erneuerung” nicht mehr wegzudenken sein. Warum auch? Wer die KI in der IT-Branche negiert, müsste konsequent sein und seine Schaltkreise innerhalb des Rechners manuell bedienen.
Möglichkeiten der HEUTIGEN KI und potenzieller Einsatz
Mittlerweile gibt es mannigfaltige Modelle und Anbieter, die in immer kürzeren Abständen neuere Produkte auf den Markt bringen. Eine Aufzählung würde den Rahmen sprengen, außerdem ist mein Blog nicht dafür gedacht, Werbung zu generieren. Speziell auf die Softwareentwicklung lässt sich aber feststellen, dass die meisten KI-Modelle ähnliche Möglichkeiten bieten:
Übernahme von einfachen Programmiertätigkeiten
Wer „einfachen“ Code braucht, der wird mit den heutigen KI-Modellen voll auf zufrieden sein. Denn das muss man ihnen lassen, für Standardprobleme liefern sie in Sekundenschnelle durchaus brauchbare Ansätze. Das setzt allerdings voraus, dass man sein Problem genau beschreiben kann.
Hilfe bei der Fehlersuche
Im Selbstversuch habe ich mal ein bekanntes KI-Modell mit einem von mir geschriebenen Code gefüttert. Der Code an sich war nicht besonders schwer, enthielt aber 2 Fehler, die nicht ganz so leicht zu finden waren. Das Ergebnis brachte mich an den Rand eines Nervenzusammenbruchs. Denn die KI hatte innerhalb von ca. 4 Sekunden meinen Fehler gefunden und mir netterweise auch Lösungsvorschläge unterbreitet. Die Lösungsvorschläge waren jetzt nicht ganz nach meinem Geschmack, aber die Fehler wurden verlässlich gefunden.
Ideen, Ideen, Ideen …
Wenn ich ein neues Projekt anfasse und vor einem Problem stehe, schaue ich erst einmal durchs liebe WWW und informiere mich, ob es nicht schon irgendwas gibt, was ich für meine Problemlösung gebrauchen könnte. In 90 % der Fälle werde ich recht schnell fündig und kann Entsprechendes anpassen. Einzig bei 10 % muss etwas völlig Neues entwickelt werden. Hierbei kann die KI eindeutig punkten. Denn sie liefert innerhalb von Sekunden massenhaft Input. Der ist nicht immer richtig, aber meist gut genug, um darauf weitere Ideen aufzubauen.
Aktuelle Schwächen der (heutigen) KI
Der aufmerksame Leser wird es vermutlich erkannt haben. Ganz so überzeugt bin ich noch nicht. Zu Recht, wie ich finde, denn die KI-Modelle neigen (noch) zu einigen elementaren Fehlern.
Problemfeld 1: Die Beschreibung
Oft scheitert das Ergebnis an der Problembeschreibung. Denn die KI liefert mir genau das, was ich vermeintlich haben möchte. Logischerweise orientiert sie sich dabei am eingegebenen Text (Anmerkung des Autors: Ja, ich weiß, dass es auch Spracheingaben gibt. Wer mich jetzt auf einen vermeintlichen Fehler hinweisen möchte, sollte kurz innehalten und überlegen, warum „eingegebener Text“ dennoch richtig ist). Und das ist gar nicht so einfach, denn wenn ich als Nutzer genau das Problem kennen würde, dann bräuchte ich niemanden, der mir ein fertiges Ergebnis liefert.
Problemfeld 2: Der Code
Auch das eigentliche Ergebnis lässt mitunter zu wünschen übrig. Bei Standortproblemen liefern KI-Modelle durchaus brauchbare Ergebnisse, und das in einem Bruchteil der Zeit, die ich dafür brauchen würde. Allerdings gibt es für solche Anwendungsbereiche auch Bibliotheken und Frameworks. Je komplexer das Problem jedoch wird, desto schlechter wird mitunter der Code. Wobei Problemfeld 1 wieder in den Fokus rückt: Die Beschreibung ist oft nicht gut genug.
Problemfeld 3: Fehlender Überblick
Grundsätzlich besteht eine Software, egal welcher Art, aus mehreren Teilabschnitten, die später zusammengefügt werden. Und hierbei scheitern oft die (heutigen) KI-Modelle. Denn die Integration mehrerer Bestandteile ist mir beim Testen nur selten geglückt. Wobei hierbei auch wieder die schlechte Beschreibung schuld sein könnte. Dafür fehlt den meisten KI-Modellen tatsächlich der Überblick des gesamten Projekts. Das Problem könnte allerdings von kurzer Dauer sein, denn mittlerweile gibt es auch Modelle im professionellen Anwendungssektor, die genau dieses Problem lösen sollen. Allerdings habe ich diese (noch) nicht getestet und will mir daher kein Urteil erlauben.
Also lieber doch keine KI?
Man könnte meinen, dass ich die KI in der Softwareentwicklung verteufel. Mache ich aber nicht. Im Gegenteil, sie kann durchaus nutzbringend sein. Spannend (in technischer Hinsicht) ist sie alle Mal. Allerdings habe ich keine Angst, dass mir KI-Modelle meinen Job „klauen“. Dafür sind sie derzeit noch zu anfällig und scheitern an komplexeren Aufgaben. Trotzdem kann KI für Entwickler durchaus sinnvoll sein. Schließlich löst es Standardprobleme in Sekundenschnelle. Ob man sie allerdings für jegliche Anwendungen nutzen sollte, wage ich zu bezweifeln.
Kostenloser Tipp: Lieber keinen Code kopieren
Noch einen kleinen Tipp an meine lieben Leser. Nutzt doch bitte keinen kopierten Code von Chat GPT und CO. Um Code kopieren und anwenden zu können, sollte man wenigstens die grundlegenden Prinzipien der jeweiligen Sprache verstehen. Oder würdet ihr blindlings auf eine kostenfreie Übersetzung eines Textes vertrauen? Ich hoffe nicht.