eBook „KI-Assistenten für Entwickler“ Maschinelle Pair Programmer
Künstliche Intelligenz ist (auch) in der Softwareentwicklung auf dem Vormarsch. Mit dem Aufkommen KI-basierter Assistenten explodiert die Developer-Produktivität, aber es tauchen auch neue Herausforderungen auf.
Die KI-Revolution war eine Zeit lang nichts als Hype, Buzzwords und heiße Luft. Jetzt ist es endlich so weit: Künstliche Intelligenz hat einen Reifegrad erreicht, der sie zu einem Produktivitätswerkzeug macht. In vielen Großunternehmen haben KI-basierte Developer-Assistenten bereits einen festen Platz im Werkzeugkasten. Microsoft, Github, SAP und Siemens sind nur einige Beispiele der Vorreiter, die ihre Entwicklungsprozesse mit KI und ML optimieren.
Bereits am Anschlag
Eine der größten Herausforderungen bei der Softwareentwicklung ist der chronische Mangel an talentierten Entwicklerinnen und Entwicklern. Nach chronischer Überlastung in der Pandemiejahren leiden viele außerdem immer noch unter Burnout.
Die meisten professionellen Entwickler erleben mindestens einmal pro Woche einen Rückgang der Produktivität, geht aus der 2022 Developer Survey von Stack Overflow hervor. Etwas mehr als zwei Drittel der Befragten berichteten, dass sie in ihrem schnelllebigen Berufsleben mindestens einmal wöchentlich eine Wissenslücke erlebten. Unter den leitenden Entwicklern müssen sich mit diesem Problem sogar 73 Prozent auseinandersetzen.
Ungefähr 63 Prozent aller Befragten verbringen mehr als 30 Minuten pro Tag damit, nach Antworten oder Lösungen für Probleme zu suchen; eine von vier Fachkräften muss mehr als eine Stunde pro Tag dafür aufwenden. Dieser Produktivitätsverlust summiert sich schnell. Ein Team von 50 Entwicklern dreht sich so um die 333 bis 651 Stunden pro Woche im Kreis, um technische Probleme zu überwinden.
Den Unternehmen bleibt nichts anderes übrig, als ihre Developer mit den besten Produktivitätshilfen auszustatten. Hier kommen eben neuerdings KI-basierte Werkzeuge ins Spiel.
Das Schlaraffenland ungebändigter Produktivität
KI-gestützte Developer-Assistenten versprechen enorme Produktivitätssteigerungen in einer Vielzahl von Nutzungsszenarien. Sie können Entwickelnden helfen, neuen Code zu verfassen und zu dokumentieren. Viele dieser Tools greifen den Developern nebenbei auch bei der automatischen Erkennung von Verwundbarkeiten unter die Arme.
Mit Hilfe von ML (Machine Learning) und NLP (Natural Language Processing) können Entwickler die Codebasis, die Metadaten, Observability-Metriken und andere Informationen untersuchen, um Bugs oder Performance-Engpässe ausfindig zu machen und zu beheben. Dies macht es außerdem möglich, einige Abläufe intelligent zu automatisieren. So entstehen „unterm Strich“ bessere Anwendungen.
Eine neue Generation von KI-gestützten Development-Werkzeugen geht noch einen bedeutenden Schritt weiter: Diese Tools können anhand einer losen Beschreibung der gewünschten Funktionalität autark programmieren. Diese „maschinell lernenden Programmierbegleiter“, in der Industrie ist auch von Pair Programmern die Rede, können anhand einer Beschreibung der gewünschten Geschäftslogik in natürlicher Sprache den benötigten Softwarecode eigenständig verfassen.
Lucas Winterbottom, ein Software-Ingenieur bei dem in Hongkong ansässigen Finanztechnologie-Startup Reap, codet seit Mitte 2022 mit dem KI-Assistenten GitHub Copilot von Microsoft. Er durfte das Werkzeug auf Probefahrt nehmen, als es erst einer handverlesenen Gruppe von Testern zur Verfügung stand, und nutzt es seither täglich. Für die Suche nach einer Lösung für anspruchsvollere Probleme wechselt er zwischendurch noch zu ChatGPT.
Doch viele andere Entwickler sind nach wie vor skeptisch. Zahlreiche potenziell folgenschwere KI-Pannen lassen aus ihrer Sicht berechtigte Zweifel an dem Nutzen der Technologie aufkommen.
Die Schattenseiten von KI
Mit mehreren KI-Bots haben Tester ernst zu nehmende Probleme entdeckt. Microsofts Chatbot für Bing ließ zeitweise eine „alternative Persönlichkeit“ namens Sydney hervortreten. Diese wollte einige Benutzer einschüchtern, anderen gab sie skurrile oder sogar gefährliche Ratschläge, mit wiederum anderen wollte sie vor sich hin flirten – wie „ein launischer, manisch-depressiver Teenager, der gegen seinen Willen in einer zweitklassigen Suchmaschine eingesperrt ist“, so Kevin Roose in der New York Times.
Doch Microsoft steht nicht allein vor diesen Herausforderungen. Alle KI-Pioniere haben damit ihre liebe Mühe, so auch Googles Muttergesellschaft Alphabet. Ein Fehlverhalten der Google-KI in der ChatGPT-Alternative Bard führte wiederholt zu inakkuraten Antworten und soll Alphabet rund 100 Milliarden USD an Marktkapitalisierung gekostet haben. Die persistente Ignoranz der KI hat den Investoren anscheinend missfallen.
Nicht zu Unrecht: Sollte eine amoklaufende KI Quellcode schreiben, könnte sie absichtlich Bugs oder Backdoors erzeugen und so den Entwicklern das eine oder andere Kuckucksei unbemerkt ins Nest legen.
KI-Experten warnen, dass komplexe ML-Modelle gelegentlich unerwünschte Resultate aus dem Hut zaubern können. KI-basierte Tools sollten nur unter angemessener Aufsicht und Kontrolle verwendet werden, um sicherzustellen, dass sie den beabsichtigten Zweck erfüllen und dass keine unerwünschten Ergebnisse auftreten.
Der Einsatz dieser Werkzeuge wirft nicht nur Fragen hinsichtlich der „Loyalitätsparameter“ der KI auf. Auch die Problematik rund um den Schutz der Privatsphäre und des geistigen Eigentums lässt gewisse Bedenken aufkommen. Kann eine KI sensible Daten eines Nutzers einem anderen offenlegen? Kann sie sich zu Patentverletzungen verleiten lassen? Wessen geistiges Eigentum ist der Code, den eine KI mal eben schreibt? Wer ist für etwaige Patentverletzungen durch KI-generierten Code verantwortlich?
Tools für KI-gestützte Softwareentwicklung werden von Algorithmen angetrieben, die mit großen Mengen an bestehendem Softwarecode trainiert worden sind. Für das Trainingsmaterial muss aus verständlichen Gründen hauptsächlich Code aus Open-Source-Projekten herhalten. Es ließe sich in vielen Fällen sicherlich das Argument aufstellen, dass jener Code, den die betreffende KI aus diesen quelloffenen Trainingsdaten erzeugt, ein derivatives Werk darstellt. Der Knackpunkt an der Sache: Einige Open-Source-Lizenzen verbieten die Kommerzialisierung derivativer Werke. Und was dann?
Beim Einsatz von KI-generiertem Code gehen Unternehmen noch weitaus mehr Risiken an, als „nur“ jene juristischer oder cybersicherheitstechnischer Natur. Denn sie riskieren nebenbei auch eine schleichende Bindung an die KI und den Verlust eigener Kompetenzen. Um sicherzustellen, dass KI-generierter Code „vertrauenswürdig, sicher und ethisch gesourced“ sei, müssten die Betroffenen „Maßnahmen ergreifen“, kommentierte für diesen Artikel ganz trocken OpenAIs ChatGPT.
Auch menschliche Branchenbeobachter (wie das jetzt klingt!) sind sich einig: Nur mit angemessener Überwachung ließe sich zu dem jetzigen Zeitpunkt sicherstellen, dass die KI-basierten Tools die erwarteten Ergebnisse zu Tage fördern.
Möglichkeiten zur Bewältigung von Herausforderungen im Zusammenhang mit dem Einsatz von KI und ML gibt es mittlerweile viele. Doch letztendlich liegt es an den menschlichen Entwicklern, diese leistungsstarken Werkzeuge in ihrer Kapazität als Produktivitätshilfen - mit einer gehörigen Dosis an gesundem Menschenverstand - in die Pflicht zu nehmen.
Fazit
KI-basierte Developer-Assistenten haben das Zeug dazu, die Art und Weise zu verändern, wie Entwickler arbeiten und wie Software entsteht. Wenn alles nach Plan läuft, dürften die beiden Partner – Mensch und KI – gemeinsam die Softwarequalität anheben, die Markteinführungszeit verkürzen und den Entwickler-Burnout reduzieren.
Doch mit dem Einsatz KI-basierter Entwicklungswerkzeuge treten auch nicht zu unterschätzende Herausforderungen und Risiken auf den Plan – von der leidigen Datenschutzproblematik über Nuancen des Urheberrechts bis hin zum Potenzial für Sicherheitslücken und bösartigen Code. Zum Glück gibt es aber auch Möglichkeiten, die „maschinell lernenden Programmierbegleiter“ in ihre Schranken zu weisen.
Unternehmen sind gut beraten, nicht nur die KI zu trainieren, sondern vor allem auch Schulungen und Fortbildungen für die menschlichen Entwickler anzubieten, um sicherzustellen, dass sie über das notwendige Wissen und die Fähigkeiten verfügen, um KI-basierte Systeme erst einmal zu bändigen und dann kontinuierlich im Zaum zu halten.
(ID:49841410)