zurück zum Artikel

KI in DevSecOps – Vom Copiloten zum Autopiloten

Janne Saarela

(Bild: Suwin / Shutterstock.com)

Beim autonomen Fahren ebenso wie in der Softwareentwicklung nimmt die Unterstützung durch Künstliche Intelligenz zu, auf dem Weg hin zur Vollautomatisierung.

Was haben autonomes Fahren und Softwareentwicklung gemeinsam? Auf den ersten Blick nicht viel. Bei genauerem Hinsehen lassen sich jedoch einige Gemeinsamkeiten erkennen, insbesondere im Entstehungsprozess und den zugrundeliegenden Zielen. Um die Zusammenhänge zu verstehen, lohnt es sich, einen Blick auf das Konzept des autonomen Fahrens zu werfen und es dann auf den Prozess der Softwareentwicklung zu übertragen.

Das Konzept des autonomen Fahrens wird schon seit Jahren diskutiert, und was einst wie eine futuristische Vorstellung erschien, ist heute teilweise schon Realität. Im Wesentlichen zielen autonome Fahrzeuge darauf ab, menschliche Fehler im Verkehr zu minimieren, die für etwa 90 Prozent der Unfälle verantwortlich sind. Die grundlegende Prämisse von autonomen Fahrzeugen ist die Annahme, dass die selbstfahrende Technologie besser und fehlerfreier durch den Verkehr navigiert als ein durchschnittlicher menschlicher Fahrer. Autonomes Fahren hat darüber hinaus das Potenzial, eine äußerst wertvolle Ressource freizusetzen: Zeit. Dies ermöglicht es den Menschen, sich erfüllenderen Aufgaben zu widmen, anstatt mit dem monotonen Akt des Autofahrens beschäftigt zu sein.

Janne Saarela

Janne Saarela ist Strategy Analyst bei JFrog mit einem großen beruflichen Erfahrungsschatz in den Bereichen Technologie und Geschäftsstrategie. Er hat einen MBA von der Oulu Business School, Finnland, und ist ein ehemaliger Nokia-Produktstratege.

Zwei entscheidende Voraussetzungen für das autonome Fahren sind Edge-Technologien und Künstliche Intelligenz (KI): Sie befähigen Fahrzeuge, die Daten von IoT-Sensoren (Internet of Things) im Fahrzeug selbst zu verarbeiten, was Reaktionen auf das Verkehrsgeschehen in Echtzeit ermöglicht. Der Versuch, eine Maschine manuell so zu programmieren, dass sie jedes mögliche Fahrszenario bewältigen kann, ist kein praktikables Unterfangen. Stattdessen muss das Fahrzeug dynamisch von seiner Umgebung lernen. Die Entscheidungsfindung eines autonomen Fahrzeugs hängt dabei von der Verfügbarkeit verschiedener IoT-Sensordaten ab, die die physikalische Welt digital darstellen (als "Zwilling"). Je vielfältiger die Daten sind, desto ausgefeiltere KI-Systeme lassen sich einsetzen.

Betrachtet man den Entwicklungsverlauf des autonomen Fahrens, so kann man in jeder Phase eine schrittweise Abnahme menschlicher Beteiligung feststellen. Das offizielle Framework [1] für autonomes Fahren der SAE (Society of Automated Engineers) umfasst sechs Automatisierungsstufen, die von 0 (vollständig manuell) bis 5 (vollständig autonom) reichen:

0. Keine Automatisierung: Die Fahrerin oder der Fahrer behält die volle Kontrolle über alle Fahraufgaben.
1. Fahrerassistenz: Das Fahrzeug verfügt über ein einziges automatisiertes System, das es dem Fahrer erlaubt, den Fuß vom Pedal zu nehmen.
2. Teilautomatisierung: Das Fahrzeug ist in der Lage, Lenken und Beschleunigen zu übernehmen, sodass der Fahrer die Hände vom Lenkrad nehmen kann.
3. Bedingte Automatisierung: Das Fahrzeug übernimmt die meisten Fahraufgaben, sodass der Fahrer seine Augen von der Straße nehmen kann, aber dennoch die Kontrolle behält.
4. Hohe Automatisierung: Das Fahrzeug führt unter bestimmten Bedingungen alle Fahraufgaben aus, sodass der Fahrer sich gedanklich anderen Dingen zuwenden kann, aber dennoch aufmerksam bleiben muss.
5. Vollautomatisierung: Das Fahrzeug bewältigt eigenständig alle Fahraufgaben unter allen Bedingungen. Dadurch wird der Fahrer zum Beifahrer und ist von allen Fahraufgaben entbunden.

Die Vorteile von KI in der Softwareentwicklung entsprechen weitgehend jenen des autonomen Fahrens: Es geht darum, menschliche Fehler zu minimieren und Zeit für kreative Tätigkeiten zu schaffen. Da menschliche Ressourcen oft der kostspieligste Aspekt der Softwareentwicklung sind, besteht für Unternehmen ein Anreiz, KI-basierte Systeme einzuführen, um mit weniger finanziellem Aufwand mehr zu erreichen. Die Qualität der von der KI gelieferten Daten ist in den meisten Fällen jedoch noch nicht ausreichend, um komplett auf die menschliche Kontrolle zu verzichten. Auch das autonome Fahren funktioniert noch nicht ohne ständige Eingriffsmöglichkeit durch den Fahrer, da es im Straßenverkehr zu unerwarteten und gefährlichen Situationen kommen kann. In einigen Städten in den USA (wie zum Beispiel in San Francisco [2]) gibt es zwar schon komplett autonome Taxis ohne Fahrer, aber in Europa ist es bis dahin aufgrund ethischer und gesetzlicher Unklarheiten noch ein weiter Weg.

Bei näherer Betrachtung der Geschichte der KI in der Softwareentwicklung zeigen sich auffällige Ähnlichkeiten mit der beim autonomen Fahren – die schrittweise Verringerung der menschlichen Beteiligung:

Heutzutage hebt generative KI die Softwareentwicklung auf eine neue Ebene der Effizienz und Innovation. Die Automatisierung geht weit über Routineaufgaben hinaus, da KI-basierte Lösungen die Erstellung neuer Inhalte durch einen nahtlosen Dialog zwischen Mensch und Maschine ermöglichen. Die Steigerung der Effizienz während des gesamten SDLC beginnt sich gerade erst zu zeigen, da die KI als unerschöpflicher Assistent (Copilot) Vorschläge macht, Probleme erklärt, Code generiert, Prozesse überwacht, Repositorys scannt, Vorhersagen macht und die Entscheidungsfindung unterstützt. Dies wird die Codeerstellung insgesamt weiter beschleunigen und den Output erhöhen, was sich in mehr Builds, mehr zu sichernder Software und häufigeren Aktualisierungen der Laufzeitumgebung niederschlägt. Machine Learning Operations (MLOps) können hierbei strukturierte und zukunftssichere Prozesse für die Entwicklung und den Betrieb von ML-Software bieten. Dieser Prozessansatz unterstützt zudem deren automatisierte und umkomplizierte Integration. Das Konzept der "Liquid Software" [3], bei dem kleine schrittweise Verbesserungen (binärbasierte Updates) automatisch in alle Prozesse von der Entwicklung, bis hin zur Laufzeit (Runtime) der Software mit nur minimalen Ausfallzeiten, einfließen, wird allmählich zur Realität.

Das entgegengebrachte Vertrauen in KI-Systeme sowie deren Vertrauenswürdigkeit werden von größter Bedeutung sein. Die Basis dafür ist ein umfassendes kontextbezogenes Verständnis und eine ethische Entscheidungsfindung, ähnlich den Herausforderungen, die heute beim autonomen Fahren bestehen:

Letztlich werden in der Softwareentwicklung selbstlernfähige und -reparierende Funktionen für die Erkennung, Analyse, Isolierung und Behebung von Problemen bei gleichzeitiger Aufrechterhaltung der Service-Verfügbarkeit unerlässlich sein. Das bedeutet, dass intelligente Software in der Lage sein muss, sich selbst umzuschreiben und zu aktualisieren sowie neue Funktionen hinzuzufügen, um mit neuen Eingaben umgehen zu können. Ähnlich wie bei autonomen Fahrzeugen muss das KI-System aus seiner Betriebsumgebung lernen und sich entsprechend anpassen.

Obwohl die Parallelen zwischen autonomem Fahren und Softwareentwicklung nicht auf den ersten Blick ersichtlich sind, haben beide Bereiche das Ziel, mit KI Abläufe zu verbessern und den Menschen Zeit zu geben, sich auf erfüllendere Dinge zu konzentrieren. Im Kontext der Softwareentwicklung wird KI die Erstellung neuer Funktionen und Daten weiter beschleunigen und verbessern sowie die Benutzerfreundlichkeit verschiedener Forschungs- und Entwicklungsbereiche erhöhen. Allmählich wird sie sich dann zu einem vertrauenswürdigen Berater entwickeln, der schließlich über eine größere Entscheidungsautonomie verfügen wird.

Unternehmen müssen verantwortungsvolle und sichere KI-Prinzipien und -Praktiken einhalten, um nachhaltige Ergebnisse zu erzielen. Dazu gehören der Schutz ihres geistigen Eigentums und die Vermeidung potenzieller Sicherheits- und Lizenzprobleme bei KI-generierter Software. Die zunehmende Autonomie von KI-Systemen gewährleistet die Kompatibilität mit bestehenden Infrastrukturen und regulatorischen Umgebungen. Die Berücksichtigung bestehender und aufkommender ethischer Herausforderungen ist essenziell, damit KI einen nachhaltigen Mehrwert für die Softwareentwicklung, das autonome Fahren und die Gesellschaft an sich erbringen kann.

(mai [4])


URL dieses Artikels:
https://www.heise.de/-9640331

Links in diesem Artikel:
[1] https://www.ingenieur.de/technik/fachbereiche/verkehr/autonomes-fahren-so-ist-der-aktuelle-stand-in-deutschland/
[2] https://www.zeit.de/mobilitaet/2023-08/robo-taxi-sanfrancisco-kalifornien
[3] https://jfrog.com/de/whitepaper/a-vision-of-liquid-software/
[4] mailto:mai@heise.de