KI revolutioniert alles. Insbesondere fordert sie existierende Jobs und ganze Unternehmen heraus. Welchen Einfluss hat KI eigentlich auf uns Software-Ingenieure selbst? Und was heisst das wiederum für unser Unternehmen, die Renuo AG? In diesem Blogpost versuche ich, aktuelle Geschehnisse einzuordnen.
Nichts bleibt, wie es war
Der Software-Ingenieur, Unternehmer und Venture Capitalist Marc Andreessen (von Andreessen Horowitz) prognostizierte 2011 im WallStreetJournal, dass Software die Welt auffressen werde. 2017 – sechs Jahre später – sekundierte der CEO von Nvidia Corporation, Jensen Huang, dass Software die Welt und KI hingegen die Software fressen werde. Wiederum sechs Jahre später wissen wir, wie recht beide hatten: Die Mehrheit aller Wirtschaftszweige basiert auf Software. Und spätestens seit OpenAIs Veröffentlichung von ChatGPT wird klar, dass nichts bleibt, wie es war. Dazu gehört auch unser Kerngeschäft, das Schreiben von Software.
Wir arbeiten produktiver
Die neuesten Entwicklungen im Bereich KI machen uns Entwickler primär produktiver: Wir erreichen in kürzerer Zeit mehr. Dabei hilft uns einerseits Code AutoCompletion. Dies ist ein KI-gestütztes Modell, welches (analog zur Google-Suche) voraussagt, wie die aktuell geschriebene Codezeile wohl enden mag. Andererseits haben wir mit ChatGPT ein neues Werkzeug erhalten, welches uns Fleissarbeit innerhalb einzelner Applikations-Bestandteilen abnehmen kann. Typische Aufgaben dafür sind etwa die Migration einzelner Dokumente von der einen Version zur nächsthöheren oder die Interpretation eines Codeausschnitts. Vorerst bedeutet das für uns, dass triviale Aufgaben noch einfacher geworden sind und wir darin noch schneller sind.
Sprachbasierte Modelle
Aktuell sind die Tools (noch) nicht in der Lage, Aufgaben mit Kontextwissen zu lösen (z. B. Debugging) oder unsere Arbeit komplett zu ersetzen: Die unterstützte Komplexität ist (noch) beschränkt und vorgeschlagene Lösungen können schlecht, oder schlicht falsch sein. Besonders Personen mit wenig Erfahrung können durch beliebige Erfindungen (in der Fachsprache spricht man von Halluzination) vorgeführt werden. Wir müssen uns bewusst sein: Tools wie ChatGPT sind sprachbasierte Modelle. Anhand eines Trainings mit Unmengen von Daten sagen sie voraus, mit welcher Wahrscheinlichkeit ein Wort A auf ein Wort B folgt. Sprachbasierte Modelle können nicht logisch denken, sondern “nur” gut imitieren.
Die vorgegebene Reise scheint klar
Es scheint klar, dass in Zukunft codebasierte (nicht: sprachbasierte) Modelle in der Lage sein werden, ganze Applikationen zu schreiben. Wenn eine KI ganze Applikationen schreiben kann, gewinnen zwei Themen an noch mehr Relevanz: Tests und Qualität.
Tests, weil Systeme nicht mehr zwingend deterministisch sind und man sicherstellen will, dass eine Applikation wirklich funktioniert (man vertraut lieber einem Test, als einer modellbasierten AI). Vielleicht schreiben wir eines Tages nur noch die Tests (z. B. im Cucumber-Format), und KI entwirft Code, der gegen die Tests läuft.
Qualität, weil das pure Funktionieren nicht ausreicht, um nachhaltige Applikationen zu bauen. Für dasselbe Ziel gibt es immer diverse Umsetzungsmöglichkeiten und die Qualität entscheidet darüber, wie stabil und wartungsarm (oder eben nicht) eine Software ist. In der Fachsprache spricht man von Software-Architektur.
Sowohl Tests als auch Qualität, sind Dinge, die in der Renuo jeher zentralen Charakter geniessen. Dies bedeutet nicht, dass wir keine Hausaufgaben zu tätigen hätten.
Unsere Hausaufgaben
In Anlehnung an vorangehenden Punkt ist es essentiell, Qualität und Tests noch zentraler zu gewichten, als wir dies bis jetzt getan haben. Früher oder später (eher früher) kommt der Punkt, an welchem KI eine ganze Applikation kreieren kann und Agenturen, welche “nur” Code schreiben können, werden durch KI ersetzt. Tiefpreis-Angebote – typischerweise im Near- und Offshoringbereich – werden die ersten sein. Anknüpfend daran müssen wir uns auch bewusst werden, dass die Kundenbeziehung noch stärker ins Zentrum gestellt werden muss. Nur coden allein genügt in Zukunft nicht mehr, das wird die KI auch können.
Mit dem Aufkommen von ChatGPT ist auch eine neue Disziplin hervorgekommen: Prompt Engineering. Mit dem Begriff wird die Fertigkeit beschrieben, einer KI die Aufgabe möglichst so zu übertragen, damit das erhaltene Resultat den Wünschen entspricht. Um auch in Zukunft AI-Tools produktiv nutzen zu können, müssen wir uns somit im Bereich des Prompt Engineerings trainieren.
Schnelle Prototypen und Audits
Mit dem Einzug von KI im Bereich der Code Generierung ergeben sich für uns auch einige neue Gelegenheiten:
Während Design Sprints können wir rasch funktionierende (nicht nur klickbare) Prototypen erstellt werden. Bei Prototypen spielt die Qualität eine untergeordnete Rolle.
Analog zur Einführung von Microsoft Excel (diese Gefühle erinnern an die Einführung von KI-Tools) und der Möglichkeit, VBA-Programme zu schreiben, werden zahlreiche KI-erstellte Programme eines Tages nicht mehr genügend funktionieren. Es wird Agenturen wie uns benötigen, um diese zu verstehen und zu optimieren.
Anwendungen unter oder mit dem Einsatz von KI sind nicht mehr zwingend deterministisch (input!=output). Audits, ob der Code tatsächlich macht, was er sollte, könnten an Wichtigkeit gewinnen.
KI, gemietet vom Oligopol
Aus zahlreichen Projekten mit KI stellen wir fest, dass in einem Software-Projekt mit KI viele Bestandteile aus der Hand gegeben werden: Software as a Service (SaaS) innerhalb der Software, angebunden und konfiguriert über eine Schnittstelle – zum Beispiel für Texterkennung, Bilderkennung oder die Generierung von Inhalten. Analog zu Videos oder Musik gehört uns in Zukunft also weniger. Diese Dienstleistungen werden von einer Handvoll Grossen wie Amazon, Google oder Microsoft angeboten und aktuell bilden sie ein Oligopol. Aufgrund der immensen Rechenleistungen, welche dafür nötig sind, sind auch nur sie in der Lage, solche Dienstleistungen anzubieten. Es läuft ein globaler Wettkampf und der entscheidende Faktor ist die Rechenleistung (GPU).
Mit Blick auf die Zusammenarbeit mit Kunden ist anzunehmen, dass sich durch die nicht deterministische Funktionsweise von KI unsere Kollaboration von proaktiv zu reaktiv wandeln wird. Dies scheint etwa so verlockend, wie die Zunahme an plausiblen Fälschungen, mit welchen sich unsere Gesellschaft auseinandersetzen muss.
Fazit
Aktuell macht uns KI produktiver. Ich rechne jedoch damit, dass uns KI Stück für Stück Arbeit abgräbt und wir nur durch eine konsequente Verfolgung von Qualität, Tests und Kundenfokus bestehen bleiben können. Überdies ist es essentiell, unsere Verpflichtung in konstanter Weiterbildung aufrechtzuerhalten. KI ist unaufhaltsam und es ist an uns, sich ihr anzupassen und nicht dagegen zu wehren. Oder wie Friedrich Schiller es ausdrückte: Wer nicht mit der Zeit geht, geht mit der Zeit.