— Anzeige —

Analyse

3/23 Lesedauer: min

Wenn KI zum Software-Entwickler wird

In vielen Branchen geht bei den Mitarbeitern seit langem die Angst um, dass ihre Arbeitsplätze in den kommenden Jahren durch Computer ersetzt werden. Der Erfolg von ChatGPT hat diesen Befürchtungen neue Nahrung gegeben. Als eine besonders gefährdete Gruppe fühlen sich jetzt auch die Software-Entwickler. Ob und in welchem Umfang KI-Tools menschliche Entwickler aber ersetzen werden, ist umstritten. Manche Experten erwarten vielmehr, dass Künstliche Intelligenz für besseren Programm-Code sorgen kann und lästige Routineaufgaben übernehmen wird. Sicher scheint nur eines zu sein: Die Arbeit von Software-Entwicklern wird sich massiv verändern.

Experten sind sich sicher: KI hat einen disruptiven Effekt auf die Tätigkeit von Software-Entwicklern – beileibe aber nicht nur mit negativen, sondern auch mit vielen positiven Folgen (Bild: Shutterstock / The KonG)
— Anzeige —

Die Investmentbank Goldman Sachs schätzt, dass durch generative KIs weltweit bis zu 300 Millionen Vollzeitarbeitsplätze gefährdet sind. Das IBM Institute of Business Value formuliert es etwas anders: Nicht künstliche Intelligenzen würden Arbeitsplätze vernichten. Menschen, die KI-Werkzeuge nutzen, hätten vielmehr deutliche Vorteile gegenüber anderen, die auf sie verzichten. Es komme daher noch stärker als bisher darauf an, neue Fähigkeiten zu erlernen. Wichtiger werde es etwa, sich besser zu organisieren und Prioritäten zu setzen, so die IBM-Forscher. Sie sehen vor allem Auswirkungen auf Arbeitsplätze in den Bereichen Beschaffungswesen, Risiko- und Compliance-Bewertungen, Finanzen, Kundendienst sowie Marketing.

Bereits früh zeigte sich auch, dass ChatGPT nicht nur beeindruckend gut parlieren, sondern erstaunlich guten Code schreiben kann. Der Chatbot spuckte innerhalb kürzester Zeit komplette Apps oder Webseiten aus. In einem viel beachteten Blog-Post warnte der Entwickler Adam Hughes, dass ChatGPT und andere KIs Programmierer in den kommenden zehn Jahren komplett ersetzen könnten. Auch André Bojahr, Lead Data Scientist beim Beratungsunternehmen Exxeta, stellte die provokative Frage „Müssen wir noch selbst coden?“.

Amazon CodeWhisperer ist ein KI-Coding-Begleiter, der Schwächen im Code aufdeckt und Verbesserungen vorschlägt (Bild: Quelle: AWS)

Nicht überflüssig, sondern produktiver

Auf Rückfrage durch com! professional gab Bojahr Entwarnung. Künstliche Intelligenz mache Entwickler keineswegs überflüssig, sondern produktiver. „Mainstream-Code generiert eine KI im Handumdrehen und spart dadurch enorm viel Zeit“, so Bojahr. Entwickler müssten aber weiterhin selbst prüfen, ob der Code das vorliegende Problem überhaupt löst und ob er Fehler enthält. Sie würden auch immer dann gefragt bleiben, „wenn es um Anforderungen geht, die eine spezielle Lösung erfordern“. Hier könne eine KI meist nur unterstützen, aber selbst keine prägnanten Lösungen präsentieren.

KI-Werkzeuge seien heutzutage in der Lage, „aus Kommentaren und Eingaben in natürlicher Sprache Codevorschläge zu erstellen“, ergänzt Constantin Gonzalez. Er ist Principal Solutions Architect bei Amazon Web Services (AWS). Das erspare und verkürze zum Beispiel die Suche in der Dokumentation der verwendeten Programmiersprachen oder Code-Bibliotheken und beschleunige somit den gesamten Entwicklungsprozess.

Die Amazon-Tochter hat mit CodeWhisperer einen eigenen „KI-Coding-Begleiter“ entwickelt, der Schwächen im Code aufdeckt und Verbesserungen vorschlägt. Und das laut Gonzalez mit großem Erfolg. Bei einer von AWS noch mit einer Preview-Version von CodeWhisperer durchgeführten „Produktivitäts-Challenge“ seien eine um 27 Prozent erhöhte Erfolgsquote sowie eine um 57 Prozent schnellere Code-Entwicklung gemessen worden. „KI-Werkzeuge helfen Entwicklern, sich besser auf ihre Kreativität zu fokussieren, statt Zeit mit langwierigen Recherchen oder in Support-Foren zu verbringen“, sagt Gonzalez.

André Bojahr, Lead Data Scientist bei Exxeta (Bild: Exxeta)
„Mainstream-Code generiert die KI im Handumdrehen und spart dadurch enorm viel Zeit.“

Feldstudie zum KI als Developer

„KI-Technologien sind mächtige Werkzeuge, welche künftig die Software-Entwicklung neu definieren werden und jetzt schon weiträumigen Einfluss haben“, bestätigt auch Hannes Hoffmann. Er studiert Informatik an der Hochschule Stralsund, die ab dem Wintersemester erstmals einen Bachelor-Studiengang „Softwareentwicklung und Künstliche Intelligenz“ anbietet. Hoffmann ist schon weiter und arbeitet derzeit an seiner Master-Arbeit zum Thema „The Usage of Large Language Models in Software Development to Enhance Productivity“. Im Rahmen dieser Aufgabe führt er unter anderem eine Feldstudie bei der Clausohm-Software GmbH durch, einem mittelständischen Software-Entwickler aus Neverin bei Neubrandenburg.

Hoffmann soll bei Clausohm-Software unter anderem herausfinden, wie man mit einem Large Language Model (LLM) wie ChatGPT die Produktivität in der Software-Entwicklung steigert, ohne dabei die Qualität der erzeugten Software zu senken. Mehrere Software-Entwickler des Familienunternehmens testen daher jetzt die praktische Nutzung von ChatGPT4 bei ihrer Arbeit.

Bei den Versuchen habe sich gezeigt, dass KIs „in den nächsten Jahren die Software-Entwicklung voraussichtlich deutlich einfacher und effektiver gestalten“ werden, so Hoffmann. Auch würden die Einstiegshürden beim Programmieren sinken, da man künftig bereits mit wenig oder gar keinen Kenntnissen Code generieren könne. Ähnlich wie die Forscher von IBM sieht Hoffmann jedoch keine große Gefahr für engagierte Programmierer, „in absehbarer Zukunft vom Maschinen ersetzt zu werden“. Seiner Ansicht nach werden „Software-Entwickler, die einen effizienten Gebrauch von KI-Werkzeugen machen, solche überflügeln, die sich dem Fortschritt verschließen“.

Ähnlich sieht es der ehemalige Journalist und Web-Entwickler Mark Lubkowitz. Der heutige Lead IT Consultant beim Beratungshaus msg ist überzeugt, dass Künstliche Intelligenz die von Menschen nicht ersetzen könne. „A fool with a tool is still a fool“, so Lubkowitz. Wann und in welcher Form eine KI zum Einsatz komme, hänge immer noch von menschlichen Entwicklern ab.

Hannes Hoffmann, Master-Student, Hochschule Stralsund (Bild: Hoffmann)
„KI-Technologien sind mächtige Werkzeuge, die künftig die Software-Entwicklung neu definieren werden und jetzt schon weiträumigen Einfluss haben.“

Breites Spektrum für Anwendungsfälle

Auf konkrete Anwendungsfälle für KIs bei der Entwicklung von Software angesprochen, nennt André Bojahr unter anderem die Dokumentation von Code, das Schreiben von Tests und das Implementieren von gängigen Problemstellungen. „Alles, was nicht Mainstream ist, also wo zum Beispiel Code-Schnipsel speziell oder einzigartig werden, sorgt dagegen oft noch für Probleme.“ Hier müsse dann wieder ein Entwickler ran. Auch Lubkowitz betont, dass KIs stets eine fachliche Anleitung benötigen. Dazu gehören etwa Instruktionen, was sie wann und wie zu erledigen haben, fachkundige Entwickler, die sie mikromanagen, sowie Experten, die das Arbeitsergebnis prüfen und dessen Qualität bestätigen.

Hannes Hoffmann hat im Rahmen seiner Master-Arbeit fünf Bereiche identifiziert, in denen KI-Werkzeuge Entwickler sinnvoll unterstützen können.

  1. Bei der Analyse, also beim Beschreiben von Code, bei Recherchen und Vergleichen von Softwarelösungen
  2. bei der Implementierung, insbesondere dem Generieren und Erweitern von Code,
  3. beim Testen von Code sowie beim Erstellen von Test-Cases und bei Exception-Lösungsverschlägen,
  4. beim Optimieren von Code, etwa beim Erstellen von Vorschlägen oder beim Personalisieren mit Hilfe von Coding-Standards
  5. bei der Dokumentation des Codes oder auch beim Umformulieren der bestehenden Dokumentation

Bei den bei Clausohm-Software durchgeführten Praxistests mit ChatGPT4 hätten sich vor allem Vorteile bei „stupiden, jedoch aufwendigen Abschnitten, Optimierungen und Fehlerbereinigungen“ gezeigt. Konkrete Beispiele seien etwa das „Bulk-Generieren von Texten für Sprachvariationen, das Identifizieren von Fehlerzuständen auf Basis von Fehlwirkungen, das Generieren von Test-Cases mit Grenzwertabdeckung und von Methoden- sowie Klassendokumentationen“.

KI als Partner des Entwicklers

Constantin Gonzalez von AWS sieht die KI derzeit vor allem als „Coding-Partner, der bei der Entwicklung über die Schulter schaut und hilfreiche Vorschläge macht“. KI-Tools lassen sich etwa in Entwicklungsumgebungen (IDEs) integrieren, um dann automatisch Vorschläge zu machen, die auf bestehenden Programmcode und den darin enthaltenen Kommentaren basieren. Dabei dürfe man nicht übersehen, dass die KI nicht immer perfekt sei: „Daher ist es uns wichtig, den Entwicklern hier die Kontrolle zu überlassen. Sie können besser einschätzen, welche Code-Variante für ihren Zweck am besten ist“, so Gonzalez.

Angst vor einer Stagnation der Entwickler durch KI müsse man jedenfalls keine haben, wirft Hannes Hoffmann ein. Es sei eher der Fall, „dass Entwickler öfter mit ihnen unbekannten Lösungsideen konfrontiert werden und durch gute Beschreibungen sowie die Möglichkeit, Fragen beantwortet zu bekommen, geneigt sind, sich entsprechend einzuarbeiten“. Gerade für Junior-Entwickler sei das von unschätzbarem Wert.

Probleme sieht André Bojahr von Exxeta allerdings noch bei älteren Programmiersprachen mit einer vergleichsweise geringen Code-Basis. Hier benötigten die KI-Modelle mehr Finetuning. Sehr gut funktioniere dagegen derzeit schon die Entwicklung und Wartung von etwa REST-APIs in Python. Hier könne der Einsatz von KI „enorm viel Zeit sparen und den gesamten Prozess von der Entwicklung neuer Endpoints, der Dokumentation bis zum Testing unterstützen“. Darüber hinaus helfe die KI zum Beispiel beim Warten des Git-Systems oder der Erstellung von Commit-Messages, also Aufgaben, die heute zum Alltag von Programmierern gehören.

Der KI-Coding-Begleiter CodeWhisperer von AWS beispielsweise unterstützt zurzeit die Sprachen Python, Java, JavaScript, TypeScript, C#, Go, Rust, PHP, Ruby, Kotlin, C, C++, Shell Scripting, SQL und Scala sowie die darin häufig verwendeten Frameworks. Firmen wie Accenture, SmugMug, Koch Industries, JetBrains und Tata Industries setzen dieses KI-Tool nach Aussage von Constantin Gonzalez bereits erfolgreich ein

Constantin Gonzalez, Principal Solutions Architect bei AWS (Bild: AWS)
„Die KI ist ein Coding-Partner, der bei der Entwicklung über die Schulter schaut und hilfreiche Vorschläge macht“.

Einstieg in die Entwicklung mit KI

„Je mehr hochwertige Code-Beispiele im Internet zu finden sind, desto eher ist das Model auf entsprechenden Code trainiert worden“, fasst es Hannes Hoffmann zusammen. Das treffe vor allem auf Programmiersprachen und Frameworks mit großer und aktiver Community zu. André Bojahr empfiehlt Github Copilot beziehungsweise GitHub Copilot X. Sie sind seiner Ansicht nach derzeit die besten Tools. Wer mal ausprobieren wolle, wie gut solche Systeme funktionieren, könne sich auch Plug-ins für die Entwicklungsumgebung Visual Studio Code angucken, empfiehlt er darüber hinaus. Sein Favorit ist das Plug-in „Genie“. Damit lasse sich ein OpenAI-Modell direkt in die Entwicklungsprozesse einbinden.

Hoffmann hält den Vorreiter ChatGPT für durchaus geeignet, wenn es um die Einbindung einer KI in die Software-Entwicklung geht. „Large Language Models nutzen die natürliche Sprache als Input, um Resultate zu generieren. Da die typischen Programmiersprachen zugunsten der Nutzbarkeit ebenfalls an die menschliche Sprache angepasst wurden und die uns bekannten Zeichen verwenden, können die Modelle Programmiersprachen sowohl lesen als auch generieren.“ Eine Voraussetzung sei allerdings, dass sie auch mit ausreichend Code-Beispielen trainiert wurden. Hierbei sind ihm aber zwei Punkte wichtig. Anstelle der kostenlosen ChatGPT-Version 3.5 solle man lieber „Geld in die Hand nehmen“ und GPT-4 zum Entwickeln lizenzieren. Das Vorgängermodell weise zu große Defizite bei der Logik und Zuverlässigkeit auf. Zudem sei das Interface ungenügend, um auf die zugrundeliegenden Modelle zuzugreifen.

Auch Github preist seinen Copilot als Programmierpartner an (Bild: Github).

Vertrauensfrage und Datenschutz

Der msg-Berater Mark Lubkowitz weist auf die seiner Ansicht nach schlechter werdenden Ergebnisse von ChatGPT hin. Das liege an Fehlern beim Feedback-System. „Je mehr Laien falsche Lösungen als vermeintlich gut oder richtig bewerten, desto stärker führt es die Künstliche Intelligenz in die Irre.“ Echtes Vertrauen sei daher nicht möglich. Fachleute müssten die Ergebnisse immer überprüfen, um die Qualität zu sichern. Lubkowitz sieht zudem vor allem für in Europa beheimatete Unternehmen potentielle Probleme beim Datenschutz. „Die Auswertung sämtlicher Eingaben erfolgt in der Regel auf Servern außerhalb der EU. Gleichzeitig werden die übermittelten Daten wiederum zum Training der Künstlichen Intelligenz genutzt.“ Das stelle eine Gefahr für Geschäftsgeheimnisse oder Zugangsdaten dar, so der IT-Consultant.

„KI-Tools wie Github Copilot sind in der Business-Version eigentlich bedenkenlos einsetzbar“, merkt dennoch Bojahr an. So würden etwa Microsoft und OpenAI versichern, dass die Nutzung von Github Copilot Business beziehungsweise der Aufruf der OpenAI-API-Schnittstelle nicht dazu führen, dass die gesendeten Daten zum Training verwendet werden. „Wer dem nicht traut, ist auf Open-Source-Modelle angewiesen, entweder On-Premise oder in einer eigenen Cloud-Instanz.“ Beispielsweise könne man GPT-Modelle auf Azure hosten oder ein offenes Modell wie Llama auf eigener Hardware einsetzen. Hannes Hoffmann empfiehlt Llama-2, das bereits auf einem vergleichbaren Niveau wie ChatGPT 3.5 sei und selbst gehostet werden kann. „Dadurch wird die Übermittlung von sensitiven Daten außerhalb des privaten Netzwerkes unterbunden“, so Hoffmann.

Amazon CodeWhisperer lässt den Kunden nach Aussage von Constantin Gonzalez die Wahl, was mit ihren Daten geschehen soll. Nutzer der kostenlosen Individual-Version müssen allerdings selbst die Einstellung „Share CodeWhisperer Content with AWS“ deaktivieren, wenn sie ihren Code nicht mit der Amazon-Tochter teilen wollen. Anders sehe es bei Kunden mit mehreren Entwicklern aus, die die kostenpflichtige Professional-Variante nutzen. Hier teilt die Plattform laut Gonzalez den Code nicht standardmäßig mit AWS.

Auf die Frage, ob man dem durch eine KI erzeugten Code überhaupt trauen könne, antwortet Hoffmann: „Dem Code sollte man in etwa so viel Vertrauen schenken wie Code von Stack Overflow oder aus anderen Foren.“ Tendenziell könne man sich auf denn von einer KI erzeugten Code sogar noch eher verlassen, da dieser ja vorgefiltert sei. Trotzdem, sollte man nie blind auf ihn setzen, sondern die erzeugten Lösungen „eher wie einen Erstentwurf“ betrachten

Hannes Hoffmann, Master-Student, Hochschule Stralsund (Bild: Hoffmann)
„Dem Code sollte man in etwa so viel Vertrauen schenken wie Code von Stack Overflow oder aus anderen Foren.“

Fazit & Ausblick

„Künstliche Intelligenz ist gekommen, um zu bleiben“, ist Mark Lubkowitz überzeugt. Sie sei ein weiterer Schritt bei der Digitalisierung der Arbeitswelt, löse viele Barrieren auf und schaffe neue Arbeitsplätze sowie Gestaltungsmöglichkeiten. „Die Ergebnisse sind jetzt schon sehr gut, werden aber noch deutlich besser werden“, ist er überzeugt. Ein Problem sieht der Berater aber noch bei der mangelnden Nachhaltigkeit. „Künstliche Intelligenz benötigt eine große Menge an Energie, weil sie selbst noch nicht sehr effizient arbeitet. Steigende Energiepreise und der Klimawandel werden hier Grenzen setzen.“ Constantin Gonzalez hält den Einsatz von KI in der Software-Entwicklung zudem für eine gute Möglichkeit, um dem aktuellen Fachkräftemangel in der IT zu begegnen. Moderne KI-Werkzeuge seien darüber hinaus geeignet, neue Menschengruppen für die Entwicklung von Code zu begeistern.

Probleme sieht André Bojahr aber bei der Einbeziehung des jeweiligen Kontexts, wenn etwa ein Programmierer eine neue Funktionalität entwickele, die in eine Anwendung eingebaut werden soll. „Gut eingearbeitete Entwickler sind in der Lage, den jeweiligen Kontext mit einzubeziehen.“ KI-Modelle seien hier noch zu eingeschränkt und kämen daher schneller an ihre Grenzen. Hier sieht Bojahr deswegen Platz für Verbesserungen. Sehr spannend findet er dagegen die KI-Fähigkeit, „alte Software im neuen Gewand aufzusetzen“, selbst wenn man nur noch wenige oder keine Entwickler für eine alte Programmiersprache zur Verfügung habe. „Code in älteren Programmiersprachen lässt sich nun sehr schnell portieren“, bestätigt auch Lubkowitz.

Hannes Hoffmann kann sich vorstellen, dass Programmierer in der Zukunft anstelle der gegenwärtigen Programmiersprachen eine Art „Pseudo-Code“ verwenden. Eine Voraussetzung dafür sei jedoch, dass die Modelle ihn ebenso gut wie derzeitigen Code interpretieren können. Dadurch würde das Programmieren von Software deutlich zugänglicher werden und etwa die Hürden beim Wechsel zwischen mehreren Sprachen sinken.

Hoffmann rechnet damit, dass KI-Werkzeuge bei der Entwicklung von Software zu einem ähnlich essentiellen Bestandteil werden, wie es Google und andere Suchmaschinen bereits im Internet geworden sind. Vermutlich werde man künftig weniger Zeit für die eigentliche Entwicklung des Codes investieren müssen, sondern mehr in seine Validierung. Hoffmann ist überzeugt, dass diese Entwicklung zu einer generellen Erhöhung der Software-Qualität führen wird. Dem stimmen auch die anderen von com! professional befragten Experten zu.

Mark Lubkowitz, Lead IT Consultant bei msg (Bild: Lubkowitz)
„Die Ergebnisse sind jetzt schon sehr gut, werden aber noch deutlich besser werden.“
— Anzeige —

Andreas Th. Fischer

Verantwortlich für den Inhalt

Andreas Th. Fischer ist freier Journalist und Autor. Er verfügt über mehr als zwei Jahrzehnte Berufserfahrung in der IT-Branche. Seine Schwerpunkte sind IT-Security, Netzwerke, Virtualisierung und Business-IT.