The Source Künstliche Intelligenz
Artikel

So nutzt du generative KI in deiner DevSecOps-Umgebung

Erfahre, wie künstliche Intelligenz nach Integration in die gesamte Plattform greifbare Vorteile für Unternehmen und ihre DevSecOps-Teams bringen kann.

March 7, 2024 Lesezeit: 7 Min.
Taylor McCaslin
Taylor McCaslin Group Manager, Product – Data Science

Generative KI hat eine neue Innovationswelle in Gang gesetzt, die dazu beitragen wird, viele mühsame manuelle und zeitaufwendige Aspekte der Softwareentwicklung und -bereitstellung zu verringern. Die Folge davon: die DevSecOps-Workflows werden beschleunigt. Um das volle Potenzial der generativen KI zu realisieren, muss die Technologie jedoch nicht nur in der Codeerstellung verbreitet werden, sondern überall.

Laut unserer Umfrage unter mehr als 5.000 DevSecOps-Fachleuten im Jahr 2024 erfordert die Codeerstellung weniger als 25 % der Arbeitszeit von Entwickler(innen). Es gibt viele weitere wesentliche Aufgaben, die vom ersten Commit bis zur Produktion anfallen und von der Leistungsfähigkeit der KI profitieren könnten.

KI kann in jeder Phase eingesetzt werden und Software von der Idee bis zur Bereitstellung dienen, mit dem Ergebnis, dass die Software besser und sicherer ist und schneller erstellt wird. Zum Beispiel kann etwas so Alltägliches wie die Untersuchung eines fehlgeschlagenen Builds verbessert werden, indem KI eingesetzt wird, um zu beurteilen, was falsch gelaufen ist und wie es korrigiert werden kann. Auch wenn die KI die Aufgabe an sich nicht beseitigt, hilft sie bei der Reduzierung der erforderlichen Schritte und Zeit.

Hier erfährst du, was dein DevSecOps-Team tun kann, um die Wirkung von generativer KI zu verstehen und zu messen.

Am Anfang steht die Beurteilung deiner Workflows

Bevor du die Wirkung von KI vollständig erreichen kannst, sind einige Vorarbeiten nötig, unter anderem die Überprüfung deiner Workflows. Es liegt in deinem Interesse, den idealen Workflow zu verstehen, den du entwickeln kannst, um für den Einsatz von KI eine konsistente Herangehensweise zu haben und über die richtigen Leitlinien zu verfügen, um jegliche Risiken zu reduzieren, die KI mit sich bringen könnte.

Wenn dein Team zum Beispiel mit generativer KI programmiert, könnte ein Teil dieses generierten Codes Sicherheitslücken enthalten. Das ist die Realität. Du benötigst also einen Workflow zur Erkennung dieser Sicherheitslücken und zur Verringerung der Wahrscheinlichkeit, dass sie bis in die Produktion gelangen. Sobald du über diesen Workflow verfügst, kannst du nach und nach viele KI-Funktionalitäten konsistenter einführen, was wiederum die Geschwindigkeit deiner Entwicklung erhöhen wird.

Hier ist ein Beispiel dafür, wie die Beurteilung deines Workflows im Voraus die Vorteile der KI weiter verbessern kann. Zwar kann die KI automatisch Tests für dich erstellen, aber es liegt nicht in deinem Interesse, dass sie dies auch nach der Codeerstellung tut. Entwickler(innen) sind nicht Teil des QA-Teams, schließlich testen sie nur, was sie erstellt haben. Bei der generativen KI verhält es sich ähnlich. Deshalb muss dein Workflow für einen von der KI generierten Test früher beginnen. In diesem Fall können Entwickler(innen) Details zu Problemen nutzen, um für den Code, den sie schreiben möchten, interaktiv Unit-Tests zu generieren. Durch die Betrachtung des Workflows können sie zuerst die Merge Requests mit dem Test erstellen. Anschließend sind – wenn sie einen Pull des Branch durchführen, um mit der Implementierung zu beginnen – ihre Codevorschläge robuster, da der Kontext jetzt die richtigen Tests enthält und ihre Antwort-Treffer viel besser sind, als wenn sie direkt mit dem Code begonnen hätten.

Du kannst nicht deine gesamten Workflows auf einmal überarbeiten. Konzentriere dich deshalb auf diejenigen, die mit deinen größten Herausforderungen auf dem Gebiet der Softwareentwicklung und -bereitstellung verbunden sind, z. B. die Modernisierung von Legacy-Code-Basen, die Bewältigung zunehmender Sicherheitsprobleme oder die Arbeit mit immer knapper werdenden Budgets und Belegschaften.

Lege Leitlinien für die KI fest

Du solltest auch das Risiko von KI im Hinblick auf die Daten berücksichtigen, mit denen sie interagiert, und darauf achten, dass du entsprechende Leitlinien festlegst, um dieses Risiko zu verringern und deine individuellen Compliance-Anforderungen zu erfüllen. Außerdem sollte berücksichtigt werden, welche KI-Modelle du bereits nutzt, ob du auf Vektordatenbanken zugreifst und wie große Sprachmodelle (LLMs) trainiert werden.

Für diese Fragen solltest du deine Rechts-, Compliance- und DevSecOps-Teams zusammenbringen, mit dem Ziel, sich über die schwierigen Fragen im Zusammenhang mit den KI-Anbietern klar zu werden. Wir bieten einige hilfreiche Ratschläge im GitLab AI Transparency Center und unserem Blogbeitrag zur Entwicklung einer transparenten KI-Strategie.

Eine weitere wichtige Leitlinie ist die Optimierung der Anzahl der separaten KI-Tools, die du während des gesamten Software-Entwicklungsprozesses und in deinem Unternehmen nutzt. Je mehr Tools verwendet werden, desto mehr Komplexitäten kommen hinzu, was möglicherweise zu betrieblichen Problemen, Herausforderungen bezüglich der Überwachung und Sicherheitsrisiken führen kann. Darüber hinaus führt eine Vielzahl von Tools auch zu höheren Gemeinkosten.

Die Messung der Auswirkungen von KI

Die Messung der Veränderungen bezüglich der Produktivität und anderer wichtiger Metriken ist unerlässlich, um die Auswirkungen von KI in deinem Unternehmen wirklich zu verstehen. Typischerweise betrachten Unternehmen die Ergebnisse aus der Perspektive der Häufigkeit, mit der Code in der Produktion bereitgestellt wird, der vier DORA-Metriken oder der Zeit, die zur Behebung von Fehlern benötigt wird. Aber dieser Ansatz ergibt kein ganzheitliches Bild.

Bei GitLab messen wir die Auswirkungen von KI, indem wir die Standardisierung von Workflows innerhalb unserer Hierarchiestruktur von Gruppen und Projekten ausbauen, damit wir Metriken von Teams auf Geschäftsbereiche übertragen und diese Ergebnisse direkt in der Benutzeroberfläche analysieren können.

Wenn du KI zusätzlich zu dieser Struktur implementierst, wirst du die höhere Geschwindigkeit erkennen können, darunter auch die Zeit, die zum Beheben von Sicherheitslücken und zur Validierung, dass Merge Requests die richtigen Prüfer(innen) und die richtigen Tests zugewiesen werden, benötigt wird. Dies reduziert wiederum den Zeitaufwand, der für den Code-Review-Prozess erforderlich ist. Du kannst jede Phase innerhalb von GitLab sehen, darunter auch die Abhängigkeiten und das Delta, das erforderlich ist, damit das Entwicklungsteam diese Phasen durchlaufen kann. Dashboards zeigen, wie diese Geschwindigkeit konkret aussieht, und erleichtern ein Umdenken auf der Grundlage dieser Daten. Du kannst zum Beispiel entscheiden, ob du Software in die Phase der Produktion freigeben möchtest.

Praktische Anwendungen für einen SDLC-KI-Assistenten

Hier sind einige praktische Möglichkeiten, wie man KI-Assistenten wie GitLab Duo während des gesamten Software-Entwicklungsprozesses nutzen kann.

  • Erstellung von Merge-Request-Beschreibungen: Automatisiere die Erstellung von umfassenden Beschreibungen für Merge Requests und erfasse schnell und genau den Kern der Commits eines MR. Es können sich auch Aufgaben zeigen, die aufgrund des geschriebenen Codes und der Absicht des hinter dem mit dem MR verknüpften Problem fehlen.

  • Erklärung von Code in natürlicher Sprache: QA-Tester können Codeerläuterungen nutzen, um Code schnell und einfach zu verstehen. Wenn ein MR zum Beispiel in Rust geschriebenen Code und eine komplexe Reihe von Methoden umfasst, kann der QA-Tester die Methoden aufzeigen und eine natürliche Sprachausgabe dessen erhalten, was die Änderung bezweckt. Dies ermöglicht dem QA-Tester, viel bessere Testfälle zu schreiben, die nicht nur die guten, sondern auch die schlechten Szenarien abdecken.

  • Grundursachenanalyse von Pipeline-Fehlern: Wenn deine Pipelines größer werden und du versuchst, den Code zu refaktorisieren, könntest du Fehler verursachen, die möglicherweise schwer zu beheben sind – insbesondere, wenn du eine Reihe von Bash-Skripten oder ein Docker Image ausführst, das interne Befehle innerhalb des Image nutzt. Du kannst die Fehler, die dir angezeigt werden, über generative KI ausführen. Sie erklärt dir eine mögliche Grundursache und eine empfohlene Lösung, die du anschließend kopieren und direkt in deinen CI-Job einfügen kannst.

  • ** Behebung von Sicherheitslücken:** In der Eile, die mit einer Kontrolle der Sicherheit im Vorfeld verbunden ist, mussten Entwicklungsteams schnell zu Sicherheitsprofis werden. Mit generativer KI können Entwickler(innen) auf einen Chat zugreifen, um herauszufinden, worum es sich bei der Sicherheitslücke handelt, wo genau sie sich im Code befindet, und sogar einen automatisierten MR mit einer möglichen Korrektur öffnen – alles innerhalb des Entwicklungsfensters, ganz ohne Kontextwechsel.

GitLab Duo: Deine zentrale Anlaufstelle für wirkungsvolle, generative KI-Funktionen

Wir entwickeln GitLab Duo, unsere erweiterte Toolbox mit KI-Funktionen für die DevSecOps-Plattform, mit leistungsstarken generativen KI-Modellen und innovativen Technologien von Hypercloud-Anbietern. Heute bietet GitLab Duo Funktionen in der Phase der Allgemeinen Verfügbarkeit, der Beta-Phase und der experimentellen Phase, die vom Code-Assistenten über den Konversations-Chat-Assistenten bis hin zum Sicherheitslücken-Erklärer reichen. Wenn GitLab Duo konsequent über den gesamten Software-Entwicklungsprozess hinweg eingesetzt wird, beschleunigt es die Bearbeitungszeit um das 10-fache, hilft Unternehmen, mit weniger Aufwand mehr zu erreichen, und ermöglicht Mitarbeitenden, die Zeit für wertvollere Aufgaben zu nutzen.

Der Bericht „Omdia Market Radar: AI-Assisted Software Development, 2023–24” erwähnte GitLab Duo als eines der Produkte, die das Analyseunternehmen als „geeignet für die Entwicklung von Unternehmensanwendungen” betrachtet, wobei vermerkt wurde, dass seine „KI-Unterstützung in die gesamte SDLC-Pipeline integriert ist”.

Hier ein Blick auf die Funktionen von GitLab Duo im Einsatz:

>

Lies dir die Ergebnisse unserer Umfrage unter mehr als 5.000 DevSecOps-Fachleuten weltweit durch und erhalte Einblicke darin, wie Unternehmen KI in den Software-Entwicklungsprozess integrieren.
Bericht lesen

Wichtigste Erkenntnisse
  • Um das Potenzial von KI in DevSecOps bestmöglich zu nutzen, ist es entscheidend, KI nicht nur in die Phase der Programmierung, sondern in den gesamten Software-Entwicklungsprozess zu integrieren.
  • Die unternehmensweite Konsolidierung von KI-Tools reduziert die Komplexität, die operativen Risiken und die Kosten und trägt zur Optimierung und Sicherheit der Umgebung bei.
  • Die Wirksamkeit von KI zu beurteilen benötigt mehr als die Häufigkeit der Codeproduktion. Nach der Implementierung von Standard-Workflows können Metriken wie die Zeit bis zur Behebung von Sicherheitslücken und die Code-Review-Effizienz erfasst werden.