AI in der Entwicklung

18/03/23: Neu und bahnbrechend oder doch eigentlich ein alter Hut?

AI, AI, AI ... die Artikel spammen den Posteingang zu, gefühlt. Von Angst bis Euphorie, Apokalypse bis Glückseligkeit sind alle Zukunftsversprechen und -prognosen dabei. Aber wie sieht's denn nun tatsächlich in der beruflichen Praxis aus: Müssen wir in der Kommunikations- und Entwicklungsbranche jetzt alle Angst um unsere Jobs haben? Sind wir doch eine derjenigen, die mit betroffen und beeinflusst sind. Dieser Frage haben wir uns bereits für einige Bereiche gewidmet - es fehlt noch der größte: Was macht A.I. mit unserer Entwicklung? Hier kommt ein aktueller Stand. 

AI in der Entwicklung: eigentlich ein alter Hut?

Künstliche Intelligenz in der Programmierung ist überhaupt nicht neu. Im Gegenteil: Entwickler gehen seit eh und je mit dem Thema um. Nur, was auffällt, tun sie dies wesentlich unaufgeregter, als in allen anderen Bereichen. 

AI als Teildisziplin der Informatik

Artificial Intelligence ist jenes Teilgebiet der Informatik, welches darauf abzielt, Maschinen "intelligent" zu machen, also sie so zu programmieren, dass sie die Eigenschaft erlangen, vorausschauend und angemessen mit ihrer Umgebung zu interagieren.

  • "Vorausschauend" in dem Sinne, dass sie aufgrund vergangener Ereignisse künftige abschätzen können.
  • "Angemessen", als dass die Handlung, das Ergebnis der Wahrnehmung darauf ausgerichtet ist, die Aufgabe nach Kriterien "gut" zu lösen. 

Versteht man diese Begriffsdefinition sehr weit, ist (fast) alle Programmierung auf eine solche Zielsetzung ausgerichtet. Denn: alle Programme wollen und sollen uns Arbeiten abnehmen und erleichtern. AI ist damit nur ein weiterer Schritt in Forschung und Entwicklung, nur eben auf diesem Gebiet. Also scheint die Frage berechtigt: So what is all the fuzz about?

AI in der Entwicklung: Beispiele des Einsatzes

Einige ausgewählte Beispiele: 

  • Suchmaschinentechnologie: ... ist seit jeher nix anderes als KI. Suchmaschinen sollen aus der Menge an Informationen im Internet die richtigen und relevanten herausfiltern und anzeigen. Das, was jetzt als AI hier propagiert wird, ist nur ein nächster Schritt in der qualitativen Beurteilung der Anfrage und der dafür generierten Ergebnisse, z.B. indem noch stärker Faktoren wie Kontext, semantischer Raum, individuelle Präferenzen und weitere einbezogen werden, im Gegensatz zu vormals quantitativen Faktoren. Auch hier gilt: Die AI trainiert sich anhand der vorhandenen Inhalte und leitet daraus Prognosen ab. Shit in, Shit out, wenn´s schief läuft.
  • KI in der Medizin: z.B. in der Diagnostik eingesetzt. Sehr spannend, wenn z.B. Systeme mit künstlicher Intelligenz Darmkrebsvorstufen besser erkennen können als Expertengruppen, wie z.B. hier in einer Studie festgestellt: https://www.internisten-im-netz.de/aktuelle-meldungen/aktuell/darmkrebsvorstufen-mit-kuenstlicher-intelligenz-erkennen.html. In diesem Beispiel: Bilder aus dem Darm werden 500-fach vergrößert an eine KI übermittelt, die dann innerhalb einer Sekunde erkennen kann, ob es sich bei dem Polypen um einen gut- oder bösartigen Tumor handelt. Der Arzt erhält eine Rückmeldung über einen Ton oder über einen Hinweis auf dem Bildschirm. Die KI wird so trainiert, dass sie in den Routinebetrieb übergehen kann. 
  • KI in Spielen: Der Schachcomputer - beliebtestes Beispiel für das, was eine künstliche Intelligenz zu leisten imstande sei. Und tatsächlich ist es so: in allen mehr oder weniger schlauen Computerspielen ist der durch das Programm angebotene Gegner nichts anderes als eine "künstliche" Intelligenz. Von Schach, Go, Backgammon bis zu Bauernskat und dem klassischen Ballerspiel: überall werden mögliche Szenarien anhand Vergangenheitsdaten, Ist-Situationen und möglicher Rahmenparameter ermittelt und anhand einer Aufgabe: "Gewinnen!" Handlungsalternativen generiert und eingesetzt. Beliebt nicht nur bei allen Gamern und Nerds, sondern bei jede/r/m, der oder die mal irgendwann Langeweile hat. 
  • KI in der Kriminologie: viele Einsatzmöglichkeiten - "hey Big Brother!" z.B. bei der Gesichtserkennung, in der Filterung und Sortierung von Massen an Mails und Nachrichten.
  • KI in der Militärtechnologie, z.B. bei ferngelenkten Waffensystemen. Aber auch hier nichts Neues: ferngelenkte Waffen sind seit vielen Jahrhunderten im Einsatz, ein Beispiel: am 22. August 1849 setzte die österreichische Armee bei der Bombardierung Venedigs unbemannte Ballons mit Bomben ein, welche durch Zeitzünder ausgelöst wurden. Das Prinzip ist durch KI verfeinert und deutlich optimiert. 
  • KI im Marketing: Und schon sind wir hier angelangt, z.B. bei sprachgesteuerten Systemen in der Kundenbetreuung und bei Hotlines, der Adword- und Anzeigenschaltung, der sogenannten "dynamischen Preisfindung", wenn Preise in Onlineshops aktuell nach Such- und Klickaufkommen (= vermuteter Nachfrage) differenziert (= unterschiedlich hoch oder niedrig angezeigt) werden. 
  • KI in der Wissenschaft: ... bei der Analyse und Auswertung aller Arten großer Datenmengen, gleich in welcher Disziplin, z.B. auch bei grundsätzlich positiv konnotierten Wissenschaften wie der Forschung zum Klimaschutz. 

Beobachtung: Je nachdem, wie "gut" oder "schlecht" der Einsatz und das Ergebnis wahrgenommen werden, wird AI unterschiedlich wertend benannt, als "dynamisch" oder "intelligent" = "nützt dir, ist grundsätzlich gut", gegenüber "hochpräzise" = "kann dir schaden, dich töten, ist feindlich", oder "künstlich" = "nicht menschlich". Die Diskussion über mögliche Nutzen gegenüber möglichen Gefährdungen,  "Fluch" oder "Segen" wird in großen Teilen emotional und stark wertend geführt, gepaart oft mit allgemeiner Technologieskepsis oder gar -Feindlichkeit. 

AI für Programmierer:innen

Entwickler gehen mit dem Thema hingegen deutlich "vernünftiger" um, sprich: wesentlich weniger emotional aufgeladen. Das Thema ist einfach da, als Berufsbild oder als Instrument. Die Inhalte werden unter ganz anderen Gesichtspunkten diskutiert, nämlich:

  1. Nach Effektivität:"Was bringt's?" Wie sieht das beste und mögliche Ergebnis aus?
  2. Nach Effizienz:"Was kostet's?" Wie sehen der Einsatz an Zeit und Kosten dafür aus? 

Moralische und emotionale Fragen sind hier erstmal komplett außen vor. 

AI-Programmierer:in als Berufsbild

Ein:e AI Developer:in konzipiert, entwickelt und optimiert auf künstlicher Intelligenz basierende Lösungen. Sie analysieren Daten, Strukturen, Systeme und Prozesse, wählen geeignete Algorithmen aus und trainieren die KI. Sie reichern die Systeme an, mit noch mehr Wissen und Informationen, mit neuen Regeln und Algorithmen bringen dem System, um die Outputs für die jeweiligen Einsatzbereiche zu verbessern. Das Differenzierungskriterium dient hier die Funktionsweise der Applikation: Sie arbeitet mit großen Datenmengen, welche sie analysiert nach vorgegebenen Regeln und daraus Aktionen und Ergebnisse nach Fragestellungen ableitet. 

AI-Tools in der Programmierung

Im Sinne von Tools können AI-gestützte Anwendungen sehr gut in der Entwicklung und Programmierung in unserem Bereich eingesetzt werden und treffen hier auf breite Zustimmung. Erste Beispiele aus unserem Themenumfeld. 

Hier stehen wir am Anfang. Wir sehen die Möglichkeiten, deutlich effizienter und effektiver damit zu arbeiten. Wir testen und probieren und wir verfeinern und konkretisieren damit die Einsatzmöglichkeiten und -bereiche und verbessern damit auch die Tools selbst.

Ausblick: wo geht's hin? Was ist möglich?

Für alle Phasen und Schritte der Entwicklungsprozesse:

  • Spezifikation von Programmen und Anwendungen: Die Verfahren der AI sind derzeit zumeist Frage- und Antwort- oder Eingabe-gestützt. Für eine Entwicklung benötigt man aber mehr, nämlich eine vollständige Beschreibung aller Funktionen, Schritte, Prozesse und Oberflächen, also des kompletten Systems, mit Use-Cases und mehr. Dies alles kann automatisch generiert werden.
  • Backend: Eine Zielsetzung wäre, Programme und Anwendungen nicht nur teilweise, sondern komplett und einsatzfähig von AIs entwickeln zu lassen. In beliebigen Sprachen, für alle Umgebungen und alle Plattformen und Clients. 
  • Frontend: Hier gibt es derzeit noch viel individuelle Gestaltung und Differenzierung. Aber 1.) kann auch die Integration von Oberflächen nach vorher definierten Regeln automatisiert werden; 2.) können Best Practice-Erfahrungen und Ergebnisse in die Optimierung einfließen. Je standardisierbarer die Anwendung, z.B. bei Formularen, desto einfacher.
  • Testing: Die Weiterentwicklung der jetzigen automatisierten Testverfahren, als selbst lernende und sich selbst erweiternde Tests, auch für Fehlersuche und Verbesserungen.
  • Dokumentation: Es sollte nichts einfacher als ausgerechnet dies sein, um es von einer AI als Assistenzprogramm in der Entwicklung erstellen zu lassen.
  • Laufende Updates und Optimierung: Programme werden laufend angepasst und erweitert und mit neuen Versionen und deren Updates versehen. 
  • Entwicklungssteuerung: über alle Projektphasen. Hier ist "Mensch" noch erforderlich, zumindest zum Prüfen. Aber je mehr alle einzelnen Schritte intelligent automatisiert werden, desto mehr lassen sie sich auch entsprechend abbilden und so managen und kontrollieren.
  • Sicherheit: Das große und wichtige Thema schlechthin! Wissen um neue und mögliche künftige Einbruchsstrategien einsetzen, um die bestehenden Sicherheitssysteme laufend zu verbessern. 

Das Gute daran ist das Gute darin

Das Gute: in der Entwicklung werden die Einsatzmöglichkeiten deutlich weniger emotional und mit moralischem Zeigefinger beurteilt. Die Blickwinkel sind deutlich anwendungsbezogen, die Perspektive auf das Machbare ausgerichtet. Das erleichtert die Beurteilung von Stärken und Chancen einerseits und Schwächen andererseits. Und sofern Risiken erkennbar sind, können so die Möglichkeiten zu deren Verhinderung klar aufgezeigt werden. Und das ist gut. Warum? Weil wir Fachkräftemangel in der Entwicklung haben. Massiv und seit vielen Jahren! Alles, was uns hier hilft, ist gut und richtig, natürlich auch in der Ausbildung von guten Entwickler:innen. Aber wenn das nicht reicht (und das tut es immer noch nicht), dann brauchen wir intelligente Tools und Systeme, um unseren Entwickler:innen und allen anderen größten Schätzen, derer wir uns glücklich schätzen dürfen, so gut wie es auch nur irgend geht zu unterstützen.