Christina B. Class, Otto Obert, Rainer Rehak
Ein bisschen Hilfe von der KI annehmen? Das machen heute viele in der Softwareentwicklung. Doch wie viel Vertrauen kann man den generativen Werkzeugen entgegenbringen? Ein Fallbeispiel zeigt, wie wichtig es ist, sich diese Frage frühzeitig zu stellen.
André hat vor drei Wochen als Entwickler bei Smart4All angefangen, einer kleinen Firma, die spezifische Softwarelösungen für kleine und mittelständische Unternehmen entwickelt. Seit kurzer Zeit werden hier auch intern und extern vermehrt Services basierend auf KI angefragt und in diesem Bereich soll er tätig sein. André hat vor Kurzem seinen Wirtschaftsinformatik-Bachelor ganz okay abgeschlossen. Aber zurzeit gibt es ja keine Probleme, eine IT-Stelle zu finden. Trotzdem fragt er sich, wie er denn gerade hier gelandet ist, denn Statistik, Programmieren und KI waren nicht unbedingt seine Stärken im Studium gewesen. Gerade in den Informatik-Fächern hatte er von Gruppenarbeiten profitiert.
Auch mit der Bachelorarbeit hatte André eher Glück. Er hat die Arbeit in einem mittelständischen Unternehmen angefertigt und sollte das Potenzial von Data Mining und KI zur Kostenminimierung und zur optimierten Angebotserstellung evaluieren. Nach etwas Recherche in diversen Blogs sowie auf der Code-Sharing-Plattform CoDev fand André viele brauchbare Code-Elemente. Dann kam noch die erste Version des Easy-AI-Code-Pilot auf CoDev heraus, ein Werkzeug zur automatischen Generierung von Code. Anfangs skeptisch, hatte er später keine Bedenken mehr, diesen sehr intensiv zu nutzen. Es war auch ganz schön anspruchsvoll, die einzelnen Fragmente gut genug zu verstehen, um sie dann für sein Vorhaben zu kombinieren. Die Firma war damals zufrieden und schrieb ihm eine sehr gute Referenz.
Nun sitzt André an seinem neuen Schreibtisch und starrt aus dem Fenster. Da kommt seine Teamleiterin Verena herein, lächelt und sagt, dass sie einen wichtigen Auftrag für ihn habe. BioRetail, ein großer überregionaler Verteiler von Bioprodukten, hätte Smart4All mit der Entwicklung einer neuen Softwarelösung beauftragt, die bestehende Eigenbau-Programme für Kundenmanagement, Buchhaltung, Bestellwesen und Lagerhaltung integrieren soll. Der Auftraggeber habe sich eine Lösung gewünscht, die den Bestelleingang in seinem B2B-Bereich prognostiziert. Es sollten Daten aufbereitet, Verfahren getestet und das Ganze wie üblich in Python-Notebooks dokumentiert werden. Das sei doch sein Spezialgebiet, schmeichelt ihm Verena. Vorsichtig deutet er Verena an, dass dies nicht unbedingt seine Kernkompetenzen seien und er in seiner Bachelorarbeit überwiegend auf Ressourcen wie Blogbeiträge und Code beispielsweise via CoDev und Easy-AI-Code-Pilot zurückgegriffen hätte. Verena grinst ihn an und meint, das sei heute doch völlig normal.
So schwinden Andrés Bedenken und er macht sich ans Werk. Die Daten zu verstehen und zu bereinigen ist nicht ganz einfach, aber er findet Codeschnipsel aus einem Hackathon-Wettbewerb, bei dem ganz ähnliche Datenarten bereinigt werden sollten. Er verwendet weitere Code-Segmente aus dem Netz für zusätzliche Verfahren, um diese dann zu testen und basierend auf gängigen Qualitätskriterien zu evaluieren. Der Easy-AI-Code-Pilot macht gute Vorschläge für kleine Teilaufgaben, aber André hat viel zu tun, um alle unterschiedlichen Codeteile zu integrieren. Obwohl er sich manchmal etwas unsicher ist, erscheint am Ende alles plausibel und konsistent. Ob er allerdings in all den Daten- und Codefragmenten nicht doch etwas übersehen oder falsch zugeordnet hat, kann er so schnell nicht feststellen. Auf eine strikte Trennung der Trainings-, Validierungs- und Testdaten hat er auch nicht geachtet. Die Zeit wird knapp und er wischt aufkommende Bedenken beiseite, da die Ergebnisse recht überzeugend wirken. Er hatte ja auch verschiedene Verfahren mit jeweils mehreren Hyperparametern getestet und alles in den Notebooks ordentlich dokumentiert. Selbst wenn er nicht die perfekte Lösung haben mag, ist sich André sicher, dass sich das Ergebnis sehen lassen kann.
Drei Wochen später werden Verena und er zu Frederic, dem Produktleiter IT und Kundenbetreuer von BioRetail gebeten. Als sie den Raum betreten, sehen sie Geraldine, die Vertreterin von BioRetail. Die Stimmung ist kühl und Frederic bittet alle, sich zu setzen. Dann fängt Geraldine an: Anfangs sei sie von den Prognose-Notebooks begeistert gewesen, aber als sie neuere Daten analysieren wollte, hätte es unsinnige Ergebnisse gegeben. Da die neueren Daten etwas anders aussähen, wollte sie selbst noch mal die Notebooks anpassen. Dabei sei ihr aufgefallen, dass die verschiedenen Programmteile auf unterschiedlichen Features basierten. Und dann habe sie noch weitere Inkonsistenzen bemerkt. Sie habe sich dann mit ihren IT-Leuten Zeit genommen, um alles in Ruhe anzusehen, und hätte ihren Augen nicht getraut. Der Code sei furchtbar, nicht aus einem Guss und die Datenmodelle zu unterschiedlich, die Dokumentation grauenhaft und alles ein Sammelsurium aus unterschiedlichen Ansätzen, die nicht verlässlich zusammen funktionieren könnten. Das sei inakzeptabel und eine Firma, die so etwas abliefere, sei auch nicht in der Lage, verschiedene Programme zu integrieren. Verena tauscht mit Frederic Blicke aus, bevor sie André anblickt und sagt: „So, du kannst das doch bestimmt erklären?“
Fragen:
- Wie ist der Einsatz von Werkzeugen wie Easy-AI-Code-Pilot zur automatischen Generierung von Code zu bewerten?
- Welche Grundprinzipien sind beim Einsatz eines solchen Assistenzsystems zu beachten?
- Hätte André gegenüber seiner Teamleiterin noch deutlicher darauf hinweisen müssen, dass er für die Bearbeitung der Aufgabe nicht ausreichend qualifiziert ist?
- Welche Verantwortung fällt Verena zu? Was hätte sie als Teamleiterin an welchen Stellen besser machen müssen? Wer trägt die Hauptverantwortung für das Desaster
- Welche Verantwortung fällt dem Anbieter der Plattform CoDev zu, einen solchen Easy-AI-Code-Pilot frei zur Verfügung zu stellen? Genügt es, wenn CoDev eine textliche Warnung bezüglich möglicher Fehlnutzung anzeigt?
- Wie sollten die Anbieter solcher Werkzeuge grundsätzlich agieren, um ihrer Verantwortung gerecht zu werden?
- Wie ist es zu bewerten, dass Verena André vor dem Produktleiter IT und der Vertreterin von BioRetail bloßstellt? Welche in dieser Situation anwendbaren ethischen Grundsätze sollten für Leitungspositionen gelten?
- Ist es möglich, ethische Prinzipien in KI zu implementieren? Was bedeutet das für unseren Umgang mit KI? Wie könnte eine Regulierung aussehen?
Erschienen in .inf 05. Das Informatik-Magazin, Frühjahr 2024, https://inf.gi.de/05/gewissensbits-softwareentwicklung-mit-kollege-ki.
Kommentare