KI-basiertes Pair Programming Generative KI in der Entwicklung – ein Paradigmenwechsel

Ein Gastbeitrag von Olaf Schnapauff * 6 min Lesedauer

Anbieter zum Thema

Generative Künstliche Intelligenz hat weder den Anspruch noch das Zeug dazu, klassische Software-Entwicklung zu verdrängen. Nichtsdestotrotz dürften Large Language Models und KI das Berufsbild der Programmierer und Programmiererinnen nachhaltig prägen.

Generative KI kann an verschiedenen Stellen im Development-Prozess helfen, Software effizienter zu programmieren und bereitszustellen.
Generative KI kann an verschiedenen Stellen im Development-Prozess helfen, Software effizienter zu programmieren und bereitszustellen.

Software ist ein außerordentlicher Motor für wirtschaftliches Wachstum und Wandel, da sie Arbeitsabläufe unterstützt und oft selbst einen großen Teil der Wertschöpfungskette darstellt – kostengünstig und in großem Umfang. Wir sehen erste Beispiele, wie generative künstliche Intelligenz in vielen Unternehmen bei der Erstellung von Software eingesetzt wird.

Einige hoffen auf eine unbegrenzte Steigerung der Leistungsfähigkeit von Software, während andere befürchten, dass die Gefahren und Schwächen bei der Softwareentwicklung exponentiell zunehmen könnten. Doch wie sieht die Realität für Entwickler und Entwicklerinnen oder deren Vorgesetzte aus?

Fest steht für mich: KI, insbesondere generative KI, wird die Art und Weise, wie Software geschrieben wird, tiefgreifend und langfristig verändern. Es handelt sich um eine Veränderung für die Softwarebranche sowie für Unternehmer und Unternehmerinnen, die neue Wege gehen, um ihre Produktentwicklung zu beschleunigen.

Wie bei allen bedeutenden Veränderungen werden die Menschen lernen, ihre Aufgaben und Technologien neu zu organisieren, zu evaluieren und Nutzen daraus zu ziehen. Die Produktivität wird nicht mehr anhand der erstellten Code-Zeilen gemessen (das hätte man wahrscheinlich auch nie tun sollen), sondern anhand von Kriterien wie effektiven Ergebnissen, verbesserter Dokumentation und höherer erzielter Sicherheit.

Es zählt, was man zählt

Mit der Verbesserung unserer Erfolgskriterien wird eine der größten Befürchtungen in Bezug auf generative KI ausgeräumt. Ja, die Technologie verbessert die Interaktion zwischen Mensch und Maschine enorm und macht es möglich, in kürzester Zeit riesige Mengen an Code zu erzeugen. Unkontrolliert könnte der Code jedoch fehlerhaft sein, gespickt mit Sicherheitslücken oder ineffektiven Prozessen, die neue technische Schulden verursachen.

Kurzum: Code könnte zu schnell entstehen, um richtig dokumentiert oder verstanden zu werden, und letztlich noch mehr verwaisten Code bedeuten. So ein Szenario ist ein gutes Beispiel für das alte Programmierer-Sprichwort „Garbage in, garbage out“ – und das mit Turbolader.

Wie man eine solche KI-befeuerte Negativspirale vermeiden kann, zeigt sich am Beispiel, wie Alphabet generative KI in seinen internen Entwicklungsprozess implementiert hat: Wir konnten dank eines durchdachten KI-Workflows die Produktivität signifikant steigern, und die Iterationszeit bei der Programmierung verringern – also die Zeit zwischen Builds und Tests, und zwar um sechs Prozent.

Wir haben zudem Verbesserungen bei Metriken wie der Zufriedenheit der Developer festgestellt. In diesem Fall arbeiten wir mit einer ML-Lösung für Codevervollständigung auf Transformer-Basis. Die Developer müssen hierbei die Vorschläge zur Codevervollständigung gegenlesen und aktiv annehmen, so dass der Code nicht ungeprüft produziert wird.

Das Schreiben von Code ist in diesem Sinne so etwas wie ein Fertigungsprozess, bei dem Fehler umso einfacher zu beheben sind, je früher sie erkannt und korrigiert werden. Bei der Geschwindigkeit, mit der wir und viele andere Unternehmen Software produzieren müssen, ist dies schon lange unerlässlich. KI rückt diese Rolle nun noch stärker in den Mittelpunkt.

Die Sprache des Codes und die Sprache der Menschen

In diesem Zusammenhang stellte die Software-Developerment-Plattform Replit letztes Jahr Ghostwriter vor. Die ML-gestützte Tandem-Programmierpartnerin (Stichwort: Pair Programming) vervollständigt Code in Echtzeit und enthält Tools für Codegenerierung und -erklärung sowie Infrastrukturdienste. Die mittlerweile gut 22 Millionen User behalten sowohl ihre Autonomie als auch die Verantwortung für die Ergebnisse.

Die neuen Funktionen ergänzen eine frühere konversationelle KI-Schnittstelle für die Generierung von Code und proaktives Debugging, die auf der Kenntnis der Dateien und des Arbeitsbereichs der Developer basiert. Mit der Unterstützung generativer KI beantwortet der Ghostwriter Fragen, schlägt Code vor und bietet an, Programme zu vervollständigen. Die endgültigen Entscheidungen liegen jedoch bei den Nutzenden, die für einfachere, sich oft wiederholende Aufgaben nun weniger technische Kenntnisse und weniger Zeit benötigen als zuvor.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Diese Fähigkeit, sich zwischen der Sprache der Menschen und der Sprache des Codes zu bewegen, schafft sowohl Möglichkeiten als auch neue Wege, zu programmieren. In diesem Bereich spielen globale Systemintegratoren (GSIs) wie Capgemini, Cognizant, Deloitte, KPMG, TCS und Wipro eine entscheidende Rolle, indem sie Tausende von Entwicklerinnen und Entwicklern in generativer KI ausbilden und schulen.

Diese Integratoren erstellen ebenfalls Software und betrachten Marge und Umsatz auf der Grundlage des Entwickler-Outputs und der Entwicklerproduktivität. Dabei geht es nicht nur um die Entwicklungszeit und die Zufriedenheit der Programmierenden, sondern auch um die Zuverlässigkeit, die Sicherheit und die laufenden Kosten der erstellten Software.

In Zukunft wird es eine Vielzahl neuer KI-basierter Dienste geben – beispielsweise Software, die die Projekte zweier Developer vergleicht und bewertet, welches von beiden den effizienteren Algorithmus besitzt. So viel zu der Befürchtung, dass eine unkontrollierte generative KI massenhaft schlechten Code und technische Schulden erzeugen wird.

Technische Schulden gibt es nicht nur bei der Softwareentwicklung, denn das Leben besteht oft aus Kompromissen. Teams müssen immer wieder abwägen und priorisieren, um ihre Produkte marktreif zu machen. Die offenen Fehler (Bugs) und notwendige Entscheidungen mit zu wenig dazugehörigen Informationen können sie jetzt jedoch besser in Angriff nehmen: Mit einem generativen KI-Dienst, der ein Unternehmenssystem durchforstet und Bereiche ausfindig macht, in denen bereits bestehende technische Schulden gut und effizient behoben werden können.

Ebenso fehlt es bei altem Code, der in Sprachen wie Fortran, COBOL und Lisp geschrieben wurde, oft an Dokumentation. Solcher Code kann für moderne Teams sogar unverständlich sein. Wenn KIs in diesen älteren Sprachen trainiert sind und die Aktionen des Codes in eine menschliche Standardsprache wie Englisch übersetzen, können Unternehmen ihre eigenen internen Abläufe besser verstehen. Auch hier geht es wieder um die Prioritäten und Maßnahmen, die in Unternehmen neben der Technologie an sich implementiert werden.

Fazit: Beibehalten der Kerndynamik

Auch wenn sich vieles verändert – der eigentliche Mehrwert von Developern besteht weiterhin darin, neue Software zu konzipieren, zu entwerfen und zu realisieren und damit das Leben von Millionen Menschen zu verbessern. Unternehmerinnen und Unternehmer können effektiv einen frühen Prototyp ihres angedachten Produkts oder ihrer Dienstleistung bauen, ohne nach technischen Talenten suchen zu müssen, bevor die Finanzierung gesichert ist.

Neue Schnittstellen können sich auf die Arbeitsaufgaben auswirken, indem sie beispielsweise Back-end Engineers die mühsame Aufgabe abnehmen, verschiedene Systeme miteinander zu verbinden. Auf diese Weise können sie sich stattdessen auf die Optimierung der Funktionsweise konzentrieren. Erfolgsmessung und Management werden sich dadurch grundlegend ändern.

Die menschliche Interaktion mit Computern hat sich seit Jahrzehnten weiterentwickelt, von Assemblersprachen und Lochkarten zu vernetzten Systemen, dem Internet als Entwicklungsplattform und serviceorientierten Architekturen für das Cloud Computing. Im Laufe dieses Prozesses ist die Gemeinschaft der Developer gewachsen, die Softwaretools wurden verbessert und die Leistungsfähigkeit von Computern hat gewaltige Sprünge gemacht. Es ist schwer, die Zukunft vorherzusagen – aber wir können davon ausgehen, dass sich dieses Phänomen fortsetzen wird.

* Über den Autor
Olaf Schnapauff ist Distinguished Technical Director, Office of the CTO (OCTO), bei Google. Ein besonderer Schwerpunkt seiner Arbeit sind resiliente (IT) Systeme und wie Künstliche Intelligenz und Machine Learning helfen können, dass sie zu jeder Zeit einsatzbereit sind. Die Reisebranche, das Gastgewerbe und die Luftfahrt und insbesondere deren Nachhaltigkeit sind Fokusindustrien seiner Arbeit. Olaf ist außerdem einer der Gründer der Diversity, Equity und Inclusion (DEI) für CTOs/CIOs Initiative, in der Google und CxOs den besonderen Einfluss technischer Executives auf DEI fördern.

Bildquelle: Google Cloud

(ID:49750850)