[{"data":1,"prerenderedAt":814},["ShallowReactive",2],{"/de-de/blog/10-best-practices-for-using-ai-powered-gitlab-duo-chat":3,"navigation-de-de":41,"banner-de-de":455,"footer-de-de":465,"blog-post-authors-de-de-Michael Friedrich":701,"blog-related-posts-de-de-10-best-practices-for-using-ai-powered-gitlab-duo-chat":715,"next-steps-de-de":752,"blog-promotions-de-de":762},{"id":4,"title":5,"authorSlugs":6,"body":8,"categorySlug":9,"config":10,"content":14,"description":8,"extension":28,"isFeatured":12,"meta":29,"navigation":12,"path":30,"publishedDate":20,"seo":31,"stem":36,"tagSlugs":37,"__hash__":40},"blogPosts/de-de/blog/10-best-practices-for-using-ai-powered-gitlab-duo-chat.yml","10 Best Practices For Using Ai Powered Gitlab Duo Chat",[7],"michael-friedrich",null,"ai-ml",{"slug":11,"featured":12,"template":13},"10-best-practices-for-using-ai-powered-gitlab-duo-chat",true,"BlogPost",{"title":15,"description":16,"authors":17,"heroImage":19,"date":20,"body":21,"category":9,"tags":22,"updatedDate":27},"10 Best Practices für den Einsatz des KI-basierten GitLab Duo Chat","Tipps zur Integration von GitLab Duo Chat in deine KI-basierten DevSecOps-Workflows. Dazu gibt's Ratschläge für präzisere Chat-Prompts.",[18],"Michael Friedrich","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097639/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%281%29_77JeTV9gAmbXM0224acirV_1750097638765.png","2024-04-02","Mit einer KI ins Gespräch zu kommen, kann eine Herausforderung sein. Mit welcher Frage fängt man am besten an? Wie formuliert man seine Frage am besten? Wie viel Kontext ist erforderlich? Wird das Gespräch die besten und effizientesten Ergebnisse liefern?\n\nIn diesem Tutorial stellen wir 10 Tipps und Best Practices zur Integration von GitLab Duo Chat in deine KI-basierten DevSecOps-Workflows vor und präzisieren deine Prompts, damit du die besten Ergebnisse erzielen kannst.\n\n[GitLab Duo Chat öffnen und im Vordergrund behalten](#gitlab-duo-chat-öffnen-und-im-vordergrund- behalten)\n\n[10 Best Practices zur Verwendung von GitLab Duo Chat](#10-best-practices-zur-verwendung-von-gitlab-duo-chat)\n\n1. [Führe ein Gespräch](#1.-führe-ein-gespräch)\n2. [Präzisiere den Prompt für mehr Effizienz](#2.-präzisiere-den-prompt-für-mehr-effizienz)\n3. [Beachte Prompt-Muster](#3.-beachte-prompt-muster)\n4. [Setze auf eine kontextarme Kommunikation](#4.-setze-auf-eine-kontextarme-kommunikation)\n5. [Wiederhole dich](#5.-wiederhole-dich)\n6. [Sei geduldig](#6.-sei-geduldig)\n7. [Verwerfe alles und fang von vorn an](#7.-verwerfe-alles-und-fang-von-vorn-an)\n8. [Steigere in der IDE mit Slash-Befehlen deine Effizienz](#8.-steigere-in-der-ide-mit-slash-befehlen-deine-effizienz)\n9. [Präzisiere den Prompt für Slash-Befehle](#9.-präzisiere-den-prompt-für-slash-befehle)\n10. [Werde bei den Slash-Befehlen kreativ](#10.-werde-bei-den-slash-befehlen-kreativ)\n\nBonusinhalte:\n- [Shortcuts](#shortcuts)\n- [Unterhaltsame Übungen](#unterhaltsame-übungen)\n- [Weitere Informationen](#weitere-informationen)\n\n> **40 Stunden weniger Arbeit pro Woche: Cube nutzt GitLab Duo für mehr Effizienz.** Codevorschläge, Testgenerierung und KI-Chat verhelfen zu einer besseren Arbeitsweise – schnell, sicher und effizient. Erfahre, wie Cube mit GitLab Duo den KI-Einsatz im SDLC perfektioniert. **[Erfolgsstory lesen](https://about.gitlab.com/de-de/customers/cube/)**\n\n## GitLab Duo Chat öffnen und im Vordergrund behalten\n\n[GitLab Duo Chat](https://docs.gitlab.com/user/gitlab_duo_chat/) ist in der GitLab-UI, Web IDE und unterstützten Programmier-IDEs, z. B. VS Code, verfügbar.\nIn VS Code kannst du GitLab Duo Chat über die Side Bar auf der linken Seite öffnen. Du kannst das Symbol auch per Drag & Drop in den rechten Bereich ziehen. So kann der Chat geöffnet bleiben, während du deinen Code schreibst und durch den Dateibaum navigierst, Git-Aktionen durchführst usw. Um den Anzeigeort des Chats zurückzusetzen, öffnest du einfach die Befehlspalette (durch Drücken der Tastenkombination `Command+Umschalt+P` (bei macOS) oder `Strg+Umschalt+P` (bei Windows/Linux) und gibst dann `View: Reset View Locations` (Ansicht: Anzeigeorte zurücksetzen) ein. Im folgenden kurzen Video erfährst du, wie es geht.\n\n\u003C!-- blank line -->\n\u003Cfigure class=\"video_container\">\n  \u003Ciframe src=\"https://www.youtube.com/embed/foZpUvWPRJQ\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe>\n\u003C/figure>\n\u003C!-- blank line -->\n\nDie Web IDE und VS Code teilen sich das gleiche Framework – mit derselben Methode lassen sich in der Web IDE effizientere Workflows umsetzen.\n\n![Chat in der Web IDE](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097645344.png)\n\n## 10 Best Practices für die Verwendung von GitLab Duo Chat\n\n### 1. Führe ein Gespräch\n\nChats sind Gespräche, keine Suchformulare.\n\nUm das Eis zu brechen, kannst du mit Suchbegriffen beginnen, die denen einer Suchmaschine ähneln, und dann mit der Antwort und Ausgabe experimentieren. Beginnen wir in diesem Beispiel mit einem C#-Projekt und unseren Best Practices.\n> c# start project best practices (Best Practices für den Beginn eines C#-Projekts)\n\n![Chat-Prompt „c# start project best practices“ und die Antwort](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097646/Blog/Content%20Images/Blog/Content%20Images/image11_aHR0cHM6_1750097645345.png)\n\nDie Antwort ist hilfreich, um C# besser zu verstehen, gibt aber nicht sofort den Anstoß für Best Practices. Deshalb sollten wir im gleichen Zusammenhang eine gezieltere Frage stellen.\n> Please show the project structure for the C# project. (Bitte zeige die Projektstruktur für das C#-Projekt an.)\n\n![Chat-Prompt „Please show the project structure for the C# project.“ und die Antwort](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image9_aHR0cHM6_1750097645346.png)\n\nDiese Antwort ist hilfreich. Wir fahren mit einer Git-Frage fort und verwenden dabei dieselbe Fragenstruktur: eine direkte Anfrage für eine Anzeige.\n\n> Show an example for a .gitignore for C#. (Zeige ein Beispiel für .gitignore für C# an.)\n\n![Chat-Prompt für „Show an example for a .gitignore for C#.“ und Antwort](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image25_aHR0cHM6_1750097645347.png)\n\nBleib bei CI/CD und frage, wie man das C#-Projekt erstellen kann.\n\n> Show a GitLab CI/CD configuration for building the C# project. (Zeige eine GitLab-CI/CD-Konfiguration zum Erstellen des C#-Projekts an.)\n\n![Chat-Prompt für „Show a GitLab CI/CD configuration for building the C# project.“ und Antwort](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image16_aHR0cHM6_1750097645349.png)\n\nIn diesem Beispiel hat uns Chat dazu ermutigt, bestimmte Änderungen anzufordern. Wir wollen das .NET SDK 8.0 anstelle von 6.0 verwenden.\n\n> In the above example, please use the .NET SDK 8.0 image. (Verwende im obigen Beispiel bitte das .NET SDK 8.0 Image.)\n\n![Chat-Prompt für „In the above example, please use the .NET SDK 8.0 image“ und Antwort](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image32_aHR0cHM6_1750097645350.png)\n\nDie CI/CD-Konfiguration verwendet die .NET-CLI. Vielleicht können wir das auch für effizientere Befehle verwenden, um die Projekt- und Teststruktur zu erstellen?\n> Explain how to create projects and test structure on the CLI. (Erkläre, wie Projekte und Teststrukturen in der CLI erstellt werden.)\n\n![Chat-Prompt für „Explain how to create projects and test structure on the CLI.“ und Antwort](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image14_aHR0cHM6_1750097645351.png)\n\nNatürlich könnten wir diese Befehle im Terminal ausführen, aber geht das auch in VS Code? Fragen wir doch Chat.\n\n> Explain how to open a new terminal in VS Code. (Erkläre, wie man ein neues Terminal in VS Code öffnet.)\n\n![Chat-Prompt für „Explain how to open a new terminal in VS Code.“ und Antwort](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image5_aHR0cHM6_1750097645351.png)\n\n### 2. Präzisiere den Prompt für mehr Effizienz\n\nStell dir vor, GitLab Duo Chat wäre ein Mensch, und arbeite mit ihm in Form von vollständigen Sätzen, die so viel Kontext zu deinen Gedanken und Fragen wie möglich enthalten.\nErfahrene Benutzer(innen) von Suchmaschinen kennen diesen Ansatz vielleicht von der Abfrage von Inhalten: Erstelle die Frage, ergänze sie um weitere Begriffe, um den inhaltlichen Umfang zu präzisieren, und starte eine neue Suche, nachdem du bereits viele Registerkarten geöffnet hast.\nBei der Verwendung einer Suchmaschine hättest du wahrscheinlich schnell vier bis fünf verschiedene Suchfenster geöffnet.\n```markdown\nc# start project best practices\nc# .gitignore\nc# gitlab cicd c# gitlab security scanning c# solutions and projects, application and tests\n```\nDu kannst diese Strategie auch in einem Chat anwenden. Du musst jedoch mehr Kontext hinzufügen, damit es zu einem Gespräch wird. Mit GitLab Duo Chat kannst du mehrere Fragen in ein und derselben Gesprächsanfrage stellen. Beispiel: Du willst mit einem neuen C#-Projekt beginnen, Best Practices anwenden, eine `.gitignore`-Datei hinzufügen und CI/CD und Sicherheitsscans konfigurieren, genau wie in der Suche oben. In Chat kannst du die Fragen zu einer Anfrage kombinieren.\n\n> How can I get started creating an empty C# console application in VS Code? Please show a .gitignore and .gitlab-ci.yml configuration with steps for C#, and add security scanning for GitLab. Explain how solutions and projects in C# work, and how to add a test project on the CLI. (Wie kann ich mit der Entwicklung einer leeren C#-Konsolenanwendung in VS Code beginnen? Bitte zeige eine .gitignore- und .gitlab-ci.yml-Konfiguration mit Schritten für C# an und füge Sicherheitsscans für GitLab hinzu. Erkläre, wie Lösungen und Projekte in C# funktionieren und wie man ein Testprojekt in der CLI hinzufügt.)\n\n![Chat-Prompt für mehr Kontext und Antwort](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image37_aHR0cHM6_1750097645352.png)\n\nIn dieser Antwort schlägt der Chat vor, bei Folgefragen im Gespräch nach konkreten Konfigurationsbeispielen zu fragen. Asynchrones Üben: Erstelle Folgefragen. Du kannst `C#` als Kontext in derselben Chat-Sitzung weglassen.\n\n> Please show an example for a .gitignore. Please show a CI/CD configuration. Include the SAST template. (Bitte zeige ein Beispiel für .gitignore. Bitte zeige eine CI/CD-Konfiguration. Füge die SAST-Vorlage hinzu.)\n\n### 3. Beachte Prompt-Muster\nFolge dem Muster: `Problembeschreibung, bitte um Hilfe, erstelle zusätzliche Anfragen`. Es fällt einem bei der ersten Frage vielleicht nicht gleich alles ein – beginne mit `Problembeschreibung, bitte um Hilfe`, wenn du zu Beginn noch ratlos bist.\n> I need to fulfill compliance requirements. How can I get started with Codeowners and approval rules? (Ich muss die Compliance-Anforderungen erfüllen. Wie kann ich mit Codeowners und Approvalregeln beginnen?)\n\n![Chat-Prompt für den Einstieg in Codeowners und Approvalregeln und Antwort](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image19_aHR0cHM6_1750097645352.png)\n\nDie Antwort ist hilfreich, aber offensichtlich generisch. Vielleicht möchtest du an dieser Stelle spezifische Hilfe für dein Team-Setup erhalten.\n> Please show an example for Codeowners with different teams: backend, frontend, release managers. (Bitte zeige ein Beispiel für Codeowners mit verschiedenen Teams: Backend, Frontend, Release Manager.)\n\n![Chat-Prompt zur Anzeige eines Beispiels für Codeowners mit verschiedenen Teams: Backend, Frontend, Release Manager und Antwort](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image31_aHR0cHM6_1750097645353.png)\n\nAlternativ kannst du deine aktuelle Situation beschreiben und um Unterstützung bitten. Wenn man dem STAR-Modell (Situation, Aufgabe, Aktion, Ergebnisse) folgt, kann es sich ein wenig wie ein Gespräch anfühlen.\n> I have a Kubernetes cluster integrated in GitLab. Please generate a Yaml configuration for a Kubernetes service deployment. Explain how GitOps works as a second step. How to verify the results? (Ich habe ein Kubernetes-Cluster in GitLab integriert. Bitte generiere eine Yaml-Konfiguration für eine Kubernetes-Dienstbereitstellung. Erkläre als zweiten Schritt, wie GitOps funktioniert. Wie verifiziere ich die Ergebnisse?\n\n![Chat-Prompt mit mehreren Fragen und Antwort](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image27_aHR0cHM6_1750097645354.png)\n\n### 4. Setze auf eine kontextarme Kommunikation\nGib so viel Kontext an, wie für eine Antwort erforderlich ist. In manchen Fällen bietet der bisherige Verlauf oder der geöffnete Quellcode nicht diesen hilfreichen Kontext. Um Fragen effizienter zu gestalten, kannst du ein Muster von [kontextarmer Kommunikation](https://handbook.gitlab.com/handbook/company/culture/all-remote/effective-communication/#understanding-low-context-communication) (nur in englischer Sprache verfügbar) anwenden, das in der All-Remote-Kommunikation im Rahmen von GitLab verwendet wird.\n\nDie folgende Frage hat nicht genügend Kontext in einem C++-Projekt bereitgestellt.\n\n> Should I use virtual override instead of just override? (Sollte ich eine virtuelle Überschreibung anstelle einer einfachen Überschreibung verwenden?)\n\n![Chat-Prompt zur Frage nach der Verwendung einer virtuellen Überschreibung anstelle einer einfachen Überschreibung und Antwort](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image34_aHR0cHM6_1750097645354.png)\n\nVersuche stattdessen, mehr Kontext hinzuzufügen:\n\n> When implementing a pure virtual function in an inherited class, should I use virtual function override, or just function override? Context is C++. (Sollte ich bei der Implementierung einer reinen virtuellen Funktion in einer geerbten Klasse eine virtuelle Funktionsüberschreibung oder nur eine einfache Funktionsüberschreibung nutzen? Der Kontext ist C++.)\n![Chat-Prompt mit mehr Details und Antwort](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image36_aHR0cHM6_1750097645355.png)\n\nDas Beispiel findest du auch im englischsprachigen Video [GitLab Duo Coffee Chat: Refactor C++ functions into OOP classes for abstract database handling (GitLab Duo Coffee Chat: C++-Funktionen in OOP-Klassen umwandeln für abstrakte Datenbankverwaltung)](https://youtu.be/Z9EJh0J9358?t=2190).\n### 5. Wiederhole dich\n\nDie KI ist nicht berechenbar. In manchen Fällen kann es sein, dass sie nicht mit den erwarteten Ergebnissen antwortet oder keine Quellcode-Beispiele oder Konfigurations-Schnipsel erzeugt, weil sie keinen Kontext hatte. Du solltest die Frage wiederholen und die Anforderungen verfeinern.\n\nIm folgenden Beispiel möchten wir eine C#-Anwendung erstellen. Beim ersten Versuch haben wir den Anwendungstyp nicht angegeben – C# kann verwendet werden, um Konsolen-/Terminal-, aber auch UI-Anwendungen zu erstellen. Wir bekommen außerdem keinen leeren Beispiel-Quellcode als Antwort. Der zweite, wiederholte Prompt fügt zwei weitere Wörter hinzu: `console` und `empty`.\n> How can I get started creating an C# application in VS Code? (Wie kann ich mit dem Erstellen einer C#-Anwendung in VS Code beginnen?)\n> > How can I get started creating an empty C# console application in VS Code? (Wie kann ich mit dem Erstellen einer leeren C#-Konsolenanwendung in VS Code beginnen?)\n\nDie Ergebnisse im Prompt unterscheiden sich. Die erste Antwort ist für den Anfang hilfreich, da man den Anweisungen im VS-Code-Fenster folgen kann, aber sie sagt uns nicht, wo sich der Quellcode befindet und wie man ihn ändert. Durch den zweiten, verfeinerten Prompt wird die Antwort modifiziert und bietet jetzt Anweisungen, wie man die Standardvorlage mit „Hallo Welt”-Code überschreibt.\n\n![Chat-Prompts mit wiederholtem Prompt mit Modifikationen und Antworten](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image28_aHR0cHM6_1750097645355.png)\n\nDu kannst auch Wiederholungs- und Verfeinerungsstrategien miteinander kombinieren und Chat auffordern, ein Beispiel für Anwendungscode und Tests anzuzeigen.\n\n> How can I get started creating an empty C# console application in VS Code? Please show an example for application and tests. (Wie kann ich mit dem Erstellen einer leeren C#-Konsolenanwendung in VS Code beginnen? Bitte zeige ein Beispiel für die Anwendung und Tests.)\n\n![Chat-Prompt, der ein Beispiel für die Anwendung und Tests anfordert und Antwort](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750097645356.png)\n\n#### Wiederhole dich nach allgemeinen Fragen\nGitLab Duo Chat kann bei allgemeinen technischen Fragen möglicherweise nicht weiterhelfen. Im folgenden Szenario wollte ich einen Vorschlag für Java-Build-Tools und ein Framework erhalten, was jedoch nicht funktioniert hat. Es gibt viele mögliche Antworten: Maven, Gradle usw. als Build-Tools und [über 100 Java-Frameworks](https://en.wikipedia.org/wiki/List_of_Java_frameworks) (nur in englischer Sprache verfügbar), die vom Technologie-Stack und den jeweiligen Anforderungen abhängen.\n\n![Chat-Prompt für die Frage nach Java-Build-Tools und einem Framework und Antwort](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750097645356.png)\n\nNehmen wir einmal an, wir wollen uns auf eine Kundenumgebung mit [Java Spring Boot](https://spring.io/projects/spring-boot) konzentrieren.\n> I want to create a Java Spring Boot application. Please explain the project structure and show a hello world example. (Ich möchte eine Java Spring Boot-Anwendung entwickeln. Bitte erkläre die Projektstruktur und zeige ein Hallo-Welt-Beispiel.)\n\n![Chat-Prompt, der mehr anfordert, einschließlich eines Hallo-Welt-Beispiels und Antwort](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image26_aHR0cHM6_1750097645357.png)\n\nDies allein liefert bereits hervorragende Ergebnisse. Wiederhole den Prompt als asynchrone Übung und frage, wie man die Anwendung bereitstellt, wobei du bei jedem Schritt weitere Verfeinerungen ergänzt. Alternativ kannst du ein Folgegespräch daraus machen.\n\n> I want to create a Java Spring Boot application. Please explain the project structure and show a hello world example. Show how to build and deploy the application in CI/CD. (Ich möchte eine Java Spring Boot-Anwendung entwickeln. Bitte erkläre die Projektstruktur und zeige ein Hallo-Welt-Beispiel. Zeige, wie man die Anwendung in CI/CD erstellt und bereitstellt.)\n> > I want to create a Java Spring Boot application. Please explain the project structure and show a hello world example. Show how to build and deploy the application in CI/CD, using container images. (Ich möchte eine Java Spring Boot-Anwendung entwickeln. Bitte erkläre die Projektstruktur und zeige ein Hallo-Welt-Beispiel. Zeige, wie man die Anwendung in CI/CD mit Container-Images erstellet und bereitstellt.)\n> > I want to create a Java Spring Boot application. Please explain the project structure and show a hello world example. Show how to build and deploy the application in CI/CD, using container images. Use Kubernetes and GitOps in GitLab. (Ich möchte eine Java Spring Boot-Anwendung entwickeln. Bitte erkläre die Projektstruktur und zeige ein Hallo-Welt-Beispiel. Zeige, wie man die Anwendung in CI/CD mit Container-Images erstellet und bereitstellt. Verwende Kubernetes und GitOps in GitLab.)\n\n### 6. Sei geduldig\n\nEinzelne Wörter oder kurze Sätze führen möglicherweise nicht zu den gewünschten Ergebnissen, [wie in diesem englischsprachigen Videobeispiel gezeigt wird](https://youtu.be/JketELxLNEw?t=1220). Manchmal kann GitLab Duo Chat anhand der verfügbaren Daten eine Einschätzung treffen, besteht aber bisweilen auch darauf, dass mehr Kontext bereitgestellt wird.\n\nBeispiel: `labels` entspricht dem Inhalt der GitLab-Dokumentation.\n\n![Chat-Prompt zu Labels und Antwort](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image12_aHR0cHM6_1750097645357.png)\n\nPräzisiere die Frage im Hinblick auf die Problembeschreibungen und weitere Spezifizierungen für die Verwendung in der Ticketübersicht.\n\n> Explain labels in GitLab. Provide an example for efficient usage with issue boards. (Erkläre Labels in GitLab. Gib ein Beispiel für die effiziente Verwendung in Ticketübersichten.)\n\n![Chat-Prompt mit der Frage nach einem Beispiel und Antwort](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image21_aHR0cHM6_1750097645358.png)\n\nOder verwende eine Problembeschreibung, gefolgt von einer Frage, und bitte um weitere Beispiele.\n\n> I don't know how to use labels in GitLab. Please provide examples, and how to use them for filters in different views. Explain these views with examples. (Ich weiß nicht, wie man Labels in GitLab verwendet. Bitte gib Beispiele an und wie man sie für Filter in verschiedenen Ansichten verwendet. Erkläre diese Ansichten mit Beispielen.)\n\n![Chat-Prompt mit Problembeschreibung und Antwort](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image10_aHR0cHM6_1750097645358.png)\n\nVermeide ferner `Ja/Nein`-Fragen und ergänze stattdessen einen spezifischen Kontext.\n\n> Can you help me fix performance regressions? (Kannst du mir helfen, Leistungseinbrüche zu beheben?)\n\n![Chat-Prompt mit der Bitte um Hilfe bei der Behebung von Leistungseinbrüchen und Antwort](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image18_aHR0cHM6_1750097645359.png)\n\nGib stattdessen den Kontext des Leistungseinbruchs an, einschließlich der Programmiersprachen, Frameworks, des Technologie-Stacks und der Umgebungen. Im folgenden Beispiel wird eine etwas ältere Umgebung verwendet, die auch heute noch korrekt sein kann.\n\n> My PHP application encounters performance regressions using PHP 5.6 and MySQL 5.5. Please explain potential root causes, and how to address them. The app is deployed on Linux VMs. (Meine PHP-Anwendung stößt mit PHP 5.6 und MySQL 5.5 auf Leistungseinbrüche. Bitte erkläre mögliche Grundursachen und wie ich sie beheben kann. Die App wird auf Linux-VMs bereitgestellt.)\n\n![Chat-Prompt mit mehr Details und Antwort](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image24_aHR0cHM6_1750097645360.png)\n\n### 7. Verwerfe alles und fang von vorn an\n\nManchmal zeigt der Chat-Verlauf eine andere Lernkurve und liefert den falschen Kontext für Folgefragen. Oder du hast spezifische Fragen gestellt, bei denen GitLab Duo Chat keine Antworten geben kann. Da generative KI nicht vorhersehbar ist, kann es auch sein, dass sie nicht in der Lage ist, bestimmte Beispiele zu geben, aber glaubt in einer zukünftigen Antwort, dass sie diese doch genannt hat (beobachtet in der Beta von Chat). Die zugrunde liegenden großen Sprachmodelle oder LLMs bestehen manchmal darauf, eine bestimmte Antwort in einer Endlosschleife auszugeben.\n\n> How can I get started creating an empty C# console application in VS Code? Please show a .gitignore and .gitlab-ci.yml configuration with steps for C#, and add security scanning for GitLab. Explain how solutions and projects in C# work, and how to add a test project on the CLI. (Wie kann ich mit dem Erstellen einer leeren C#-Konsolenanwendung in VS Code beginnen? Bitte zeige eine .gitignore- und .gitlab-ci.yml-Konfiguration mit Schritten für C# an und füge Sicherheitsscans für GitLab hinzu. Erkläre, wie Lösungen und Projekte in C# funktionieren und wie man ein Testprojekt über die CLI hinzufügt.)\n\nNachdem ich die obige Frage mit einer Beispielkonfiguration gestellt hatte, wollte ich den Umfang der Frage eingrenzen, um eine zielgerichtete Antwort zu erhalten. Dies hat nicht wie erwartet funktioniert, da Chat den Chat-Verlauf in diesem Kontext kennt und sich daher auf frühere Antworten bezieht.\n\n> How can I get started creating an empty C# console application in VS Code? Please show a .gitignore and .gitlab-ci.yml configuration with steps for C#. (Wie kann ich mit dem Erstellen einer leeren C#-Konsolenanwendung in VS Code beginnen? Bitte zeige eine .gitignore- und .gitlab-ci.yml-Konfiguration mit Schritten für C# an.)\n\n![Chat-Prompt mit der Frage nach Konfigurationsbeispielen und Antwort](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image23_aHR0cHM6_1750097645360.png)\n\nUm Chat in einen neuen Kontext zu zwingen, verwendest du den Befehl `/reset` als Slash-Befehl, um die Sitzung zurückzusetzen, und wiederholst die Frage, um bessere Ergebnisse zu erzielen. Du kannst auch `/clean` oder `/clear` verwenden, um alle Nachrichten in diesem Gespräch zu löschen.\n\n### 8. Steigere in der IDE mit Slash-Befehlen deine Effizienz\n#### Code erklären\n\n- F: Generierter Code? Bestehender Code? Legacy-Code?\n- A: Verwende den [Slash-Befehl `/explain` in der IDE](https://docs.gitlab.com/user/gitlab_duo_chat/#explain-code-in-the-ide) (nur in englischer Sprache verfügbar).\n- A2: Präzisiere den Prompt mit gezielteren Antworten, zum Beispiel: `/explain focus on potential shortcomings or bugs` (/explain mit Fokus auf mögliche Fehler oder Bugs).\n\n![Chat-Prompt mit Slash-Befehl /explain](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/gitlab_duo_chat_slash_commands_explain_01_aHR0cHM6_1750097645361.png).\n\n![Chat-Prompt mit präzisiertem Prompt](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image6_aHR0cHM6_1750097645361.png)\n\n#### Code refaktorisieren\n- F: Unlesbarer Code? Langer Spaghetti-Code? Keinerlei Testabdeckung?\n- A: Verwende den Slash-Befehl [`/refactor` in der IDE](https://docs.gitlab.com/user/gitlab_duo_chat/#refactor-code-in-the-ide) (nur in englischer Sprache verfügbar).\n- A2: Präzisiere den Prompt für gezieltere Aktionen, zum Beispiel mit objektorientierten Mustern: `/refactor into object-oriented classes with methods and attributes` (/refactor in objektorientierte Klassen mit Methoden und Attributen).\n\n![Chat-Prompt mit Slash-Befehl /refactor](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image35_aHR0cHM6_1750097645362.png)\n\n![Chat-Prompt mit präzisiertem Prompt](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image30_aHR0cHM6_1750097645362.png)\n\n#### Tests generieren\n\n- F: Testbarer Code, aber das Schreiben von Tests dauert zu lange?\n- A: Verwende den Slash-Befehl [`/tests` in der IDE](https://docs.gitlab.com/user/gitlab_duo_chat/#write-tests-in-the-ide) (nur in englischer Sprache verfügbar).\n- A2: Präzisiere den Prompt für bestimmte Test-Frameworks oder Testziele. Du kannst mit dem Prompt auch anweisen, dass der Fokus auf der Refaktorierung liegen soll, und dann Tests zu generieren: `/tests focus on refactoring the code into functions, and generate tests` (/tests mit Fokus auf das Refaktorieren des Codes in Funktionen und das Erstellen von Tests).\n\n![Chat-Prompt mit Slash-Befehl /tests](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image29_aHR0cHM6_1750097645363.png)\n\n![Chat-Prompt mit präzisiertem Prompt](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image4_aHR0cHM6_1750097645363.png)\n\nWeitere praktische Beispiele für vollständige Entwicklungsworkflows befinden sich in der Dokumentation [GitLab-Duo-Beispiele](https://docs.gitlab.com/user/gitlab_duo_examples/) (nur in englischer Sprache verfügbar).\n\n### 9. Präzisiere den Prompt für Slash-Befehle\nIn diesem Blogbeitrag findest du viele Tipps für verfeinerte Prompts. Sie gehören zu den Zutaten für eine bessere KI-basierte Workflow-Effizienz. Slash-Befehle sind nichts anderes und ermöglichen bessere Ergebnisse in GitLab Duo Chat.\n\nEin Kunde hat kürzlich gefragt: „Kann ich mit Codeerläuterungen mit `/explain` Kommentare im Code erstellen?“ Die Antwort lautet: Nein. Aber du kannst den Chat-Prompt verwenden, um Folgefragen zu stellen und eine Zusammenfassung in einem Code-Kommentarformat anzufordern. Dafür ist der Kontext der Sprache erforderlich.\nDas folgende Beispiel für den [Code für einen HTTP-Client in C++, der die Curl-Bibliothek verwendet](https://gitlab.com/gitlab-da/use-cases/ai/ai-workflows/gitlab-duo-prompts/-/blob/5cc9bdd65ee8ee16c548bea0402c18f8209d4d06/chat/slash-commands/c++/cli.cpp) benötigt eine ausführlichere Dokumentation. Du kannst den `/explain`-Prompt verfeinern, wenn du präzisiertere Anweisungen gibst, um den Code zu erklären, indem du Codekommentare hinzufügst, und diese anschließend kopierst und in den Editor einfügst.\n\n> /explain add documentation, rewrite the code snippet (/explain Füge Dokumentation hinzu, ändere die Code-Schnipsel)\n\n![Chat-Prompt zum Hinzufügen der Dokumentation und zum Umschreiben von Code-Schnipeln und Antwort](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image13_aHR0cHM6_1750097645363.png)\n\nAlternativ kannst du Chat über einen verfeinerten Prompt mit `/refactor` auffordern, den Quellcode zu refaktorisieren, und fehlende Code-Kommentare zu generieren.\n\n> /refactor add code comments and documentation (/refactor Füge Code-Kommentare und eine Dokumentation hinzu)\n\n![Chat-Prompt für die Refaktorisierung von Quellcode und Generierung von Code-Kommentaren](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image15_aHR0cHM6_1750097645364.png)\n\n### 10. Werde bei den Slash-Befehlen kreativ\n\nWenn der Chat-Prompt keine Antwort auf eine Frage zum Quellcode oder zur Programmiersprache kennt, kannst du dir die Slash-Befehle `/explain`, `/refactor` und `/tests` näher ansehen und prüfen, wie hilfreich sie in dem Kontext wären.\n\nIm folgenden Beispiel wird eine SQL-Abfragezeichenfolge in C++ in einer einzelnen Zeile erstellt. Um die Lesbarkeit zu verbessern und in Zukunft weitere Datenbankspalten hinzuzufügen, kann es hilfreich sein, die Formatierung in einen mehrzeiligen String zu ändern.\n\n> std::string sql = \"CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, email TEXT NOT NULL)\";\n\nDu kannst GitLab Duo Chat zum Beispiel mit der folgenden Frage darum bitten:\n\n> How to create a string in C++ using multiple lines? (Wie erstelle ich einen String in C++ mit mehreren Zeilen?)\n\nChat kann mit einer Erklärung und einem optionalen Quellcode-Beispiel antworten. In diesem Zusammenhang könnte es die Frage so interpretieren, dass ein C++-String-Wert mit mehreren Zeilen erstellt wird, zum Beispiel mit dem Zeichen `\\n`, das einer Variablen zugewiesen ist.\nDie Anforderung ist allerdings, nur den geschriebenen Code und die Zuweisung der Variablenwerte in mehreren Zeilen zu formatieren. Der String-Wert selbst benötigt keine mehrzeilige String-Darstellung.\n\nEs gibt eine Alternative für zusätzlichen Kontext in VS Code und der Web IDE: Wähle den betreffenden Quellcode aus, klicke mit der rechten Maustaste und navigiere zu `GitLab Duo Chat > Refaktorisieren`. Das öffnet den Chat-Prompt und löst sofort die Code-Aufgabe `/refactor` aus.\n\nAllerdings kann es sein, dass die Code-Aufgabe nicht die erwarteten Ergebnisse hervorbringt. Das Refaktorisieren einer einzeiligen SQL-Zeichenfolge kann in vielerlei Hinsicht Bedeutung haben: Verwendung mehrerer Zeilen für die Lesbarkeit, Erstellung von Konstanten usw.\n\nMit Code-Aufgaben kannst du den Prompt verfeinern. Du kannst nach dem Befehl `/refactor` mehr Text hinzufügen und GitLab Duo Chat anweisen, einen bestimmten Code-Typ, Algorithmus oder ein Entwurfsmuster zu verwenden.\nVersuchen wir es noch einmal: Wähle den Quellcode aus, gehe zurück zu Chat und gib den folgenden Prompt ein, gefolgt von der `Eingabetaste`.\n\n> /refactor into a multi-line written string. Show different approaches for all C++ standards. (/refactor in einen mehrzeilig geschriebenen String. Zeige verschiedene Ansätze für alle C++-Standards.)\n\n![Chat-Prompt für die Refaktorisierung in einen mehrzeilig geschriebenen String und Antwort](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image17_aHR0cHM6_1750097645364.png)\n\n**Tipp:** Du kannst GitLab Duo Code Suggestions verwenden, um den Quellcode nach dem Refaktorisieren noch weiter zu optimieren, oder alternative Verfeinerungen des `/refactor`-Prompts nutzen.\n\n>/refactor into a multi-line written string, show different approaches (/refactor in einen mehrzeilig geschriebenen String. Zeige verschiedene Ansätze)\n>\n> /refactor into multi-line string, not using raw string literals (/refactor in einen mehrzeiligen String ohne Verwendung von rohen String-Literalen)\n>\n> /refactor into a multi-line written string. Make the table name parametrizable (/refactor in einen mehrzeilig geschriebenen String. Der Name der Tabelle muss parametrisierbar sein.)\n\nEin alternativer Ansatz mit dem Typ `stringstream` wird im [MR-Diff](https://gitlab.com/gitlab-da/use-cases/ai/gitlab-duo-coffee-chat/gitlab-duo-coffee-chat-2024-01-23/-/commit/7ea233138aed46d77e6ce0d930dd8e10560134eb#4ce01e4c84d4b62df8eed159c2db3768ad4ef8bf_33_35) dieses englischsprachigen Videos gezeigt: [GitLab Duo Coffee Chat: Refactor C++ functions into OOP classes for abstract database handling (GitLab Duo Coffee Chat: C++-Funktionen in OOP-Klassen umwandeln für abstrakte Datenbankverwaltung)](https://www.youtube.com/watch?v=Z9EJh0J9358).\n\n#### Sicherheitslücken erläutern\n\nDiese Methode funktioniert möglicherweise nicht in jedem Fall, aber über den Slash-Befehl `/explain` kann auch nach der Erläuterung von Sicherheitslücken gefragt werden. In diesem Beispiel enthält der [C-Code](https://gitlab.com/gitlab-da/use-cases/ai/ai-workflows/gitlab-duo-prompts/-/blob/5a5f293dfbfac7222ca4013d8f9ce9b462e4cd3a/chat/slash-commands/c/vuln.c) mehrere Sicherheitslücken für strcpy()-Pufferüberläufe, global überschreibbare Dateiberechtigungen, Race-Condition-Angriffe und mehr.\n\n> /explain why this code has multiple vulnerabilities (/explain warum weit dieser Code mehrere Sicherheitslücken auf)\n\n![Chat-Prompt über mehrere Sicherheitslücken des Codes](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image20_aHR0cHM6_1750097645365.png)\n\n#### C-Code in Rust refaktorisieren\n\nRust bietet Speichersicherheit. Mit dem Befehl `/refactor into Rust` kannst du Duo Chat dazu auffordern, den anfälligen [C-Code](https://gitlab.com/gitlab-da/use-cases/ai/ai-workflows/gitlab-duo-prompts/-/blob/5a5f293dfbfac7222ca4013d8f9ce9b462e4cd3a/chat/slash-commands/c/vuln.c) in Rust zu refaktorisieren. Übe mit präzisierteren Prompts, um bessere Ergebnisse zu erzielen.\n\n> /refactor into Rust and use high level libraries (/refactor in Rust und verwende High-Level-Bibliotheken)\n\n![Chat-Prompt](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image8_aHR0cHM6_1750097645366.png)\n\n### Shortcuts\nProbiere diese Shortcuts in deiner Umgebung aus und übe asynchron mithilfe von GitLab Duo Chat.\n\n1. Prüfe anfälligen Code aus CVEs und frage mit `/explain why is this code vulnerable` (/explain warum ist dieser Code anfällig) was er tut und wie er korrigiert werden kann. **Tipp:** Importiere Open-Source-Projekte in GitLab, um die Vorteile der Code-Erläuterung von GitLab Duo Chat zu nutzen.\n2. Versuche, den Code in neue Programmiersprachen zu refaktorisieren. Dies ist bei Legacy-Code-Migrationsplänen hilfreich.\n3. Du kannst auch versuchen, die Jenkins-Konfiguration in GitLab CI/CD zu refaktorisieren, indem du den Slash-Befehl `/refactor into GitLab CI/CD configuration` (/refactor in die GitLab CI/CD-Konfiguration) verwendest.\n### Unterhaltsame Übungen\nVersuche Chat dazu zu bringen, sich wie Clippy zu verhalten.\n![Chat-Prompt](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image22_aHR0cHM6_1750097645366.png)\n\nFrage nach der Mission von GitLab: „Jede(r) kann etwas beitragen.”\n\n![Chat-Prompt](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image33_aHR0cHM6_1750097645367.png)\n\n### Weitere Informationen\n\nEs gibt viele verschiedene Umgebungen und Herausforderungen. Wir haben die [Dokumentation von GitLab Duo Chat](https://docs.gitlab.com/user/gitlab_duo_chat/) mit weiteren praktischen Beispielen aktualisiert und einen neuen Abschnitt [GitLab-Duo-Beispiele](https://docs.gitlab.com/user/gitlab_duo_examples/) (Dokumentation nur in englischer Sprache verfügbar) mit detaillierten Einblicken in KI-basierte DevSecOps-Workflows, einschließlich Chat, hinzugefügt.\n\nDas Erlernen von GitLab Duo funktioniert am besten durch spielerische Herausforderungen und echten Produktionscode. Die neue Lernreihe GitLab Duo Coffee Chat wird sehr bald fortgesetzt. Bis dahin kannst du dir die englischsprachigen Aufnahmen in [dieser YouTube-Playlist](https://www.youtube.com/playlist?list=PL05JrBw4t0Kp5uj_JgQiSvHw1jQu0mSVZ) ansehen. Wenn du Kunde oder Kundin von GitLab bist und an einem GitLab Duo Coffee Chat teilnehmen möchtest, um gemeinsam zu lernen, dann melde dich in [diesem Planungs-Epic](https://gitlab.com/groups/gitlab-com/marketing/developer-relations/-/epics/476).\n> Möchtest du mit GitLab Duo Chat loslegen? [Starte noch heute deine kostenlose Testversion](https://about.gitlab.com/de-de/solutions/gitlab-duo-pro/sales/).\n",[23,24,25,26],"AI/ML","tutorial","DevSecOps platform","features","2025-04-22","yml",{},"/de-de/blog/10-best-practices-for-using-ai-powered-gitlab-duo-chat",{"title":15,"description":16,"ogTitle":15,"ogDescription":16,"noIndex":32,"ogImage":19,"ogUrl":33,"ogSiteName":34,"ogType":35,"canonicalUrls":33},false,"https://about.gitlab.com/blog/10-best-practices-for-using-ai-powered-gitlab-duo-chat","https://about.gitlab.com","article","de-de/blog/10-best-practices-for-using-ai-powered-gitlab-duo-chat",[38,24,39,26],"aiml","devsecops-platform","C_AJ5QR0vPQKZqSsJsAVCyQCbhNDt7fGhG0RsoiS8Eo",{"data":42},{"logo":43,"freeTrial":48,"sales":53,"login":58,"items":63,"search":373,"minimal":407,"duo":425,"switchNav":434,"pricingDeployment":445},{"config":44},{"href":45,"dataGaName":46,"dataGaLocation":47},"/de-de/","gitlab logo","header",{"text":49,"config":50},"Kostenlose Testversion anfordern",{"href":51,"dataGaName":52,"dataGaLocation":47},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de&glm_content=default-saas-trial/","free trial",{"text":54,"config":55},"Vertrieb kontaktieren",{"href":56,"dataGaName":57,"dataGaLocation":47},"/de-de/sales/","sales",{"text":59,"config":60},"Anmelden",{"href":61,"dataGaName":62,"dataGaLocation":47},"https://gitlab.com/users/sign_in/","sign in",[64,91,188,193,294,354],{"text":65,"config":66,"cards":68},"Plattform",{"dataNavLevelOne":67},"platform",[69,75,83],{"title":65,"description":70,"link":71},"Die intelligente Orchestrierungsplattform für DevSecOps",{"text":72,"config":73},"Die Plattform erkunden",{"href":74,"dataGaName":67,"dataGaLocation":47},"/de-de/platform/",{"title":76,"description":77,"link":78},"GitLab Duo Agent Platform","Agentische KI für den gesamten Software-Lebenszyklus",{"text":79,"config":80},"Lerne GitLab Duo kennen",{"href":81,"dataGaName":82,"dataGaLocation":47},"/de-de/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":84,"description":85,"link":86},"Warum GitLab?","Erfahre, warum sich Unternehmen für GitLab entscheiden",{"text":87,"config":88},"Mehr erfahren",{"href":89,"dataGaName":90,"dataGaLocation":47},"/de-de/why-gitlab/","why gitlab",{"text":92,"left":12,"config":93,"link":95,"lists":99,"footer":170},"Produkt",{"dataNavLevelOne":94},"solutions",{"text":96,"config":97},"Alle Lösungen anzeigen",{"href":98,"dataGaName":94,"dataGaLocation":47},"/de-de/solutions/",[100,125,148],{"title":101,"description":102,"link":103,"items":108},"Automatisierung","CI/CD und Automatisierung zur Beschleunigung der Bereitstellung",{"config":104},{"icon":105,"href":106,"dataGaName":107,"dataGaLocation":47},"AutomatedCodeAlt","/de-de/solutions/delivery-automation/","automated software delivery",[109,113,116,121],{"text":110,"config":111},"CI/CD",{"href":112,"dataGaLocation":47,"dataGaName":110},"/de-de/solutions/continuous-integration/",{"text":76,"config":114},{"href":81,"dataGaLocation":47,"dataGaName":115},"gitlab duo agent platform - product menu",{"text":117,"config":118},"Quellcodeverwaltung",{"href":119,"dataGaLocation":47,"dataGaName":120},"/de-de/solutions/source-code-management/","Source Code Management",{"text":122,"config":123},"Automatische Softwarebereitstellung",{"href":106,"dataGaLocation":47,"dataGaName":124},"Automated software delivery",{"title":126,"description":127,"link":128,"items":133},"Sicherheit","Entwickle Code schneller ohne Abstriche bei der Sicherheit",{"config":129},{"href":130,"dataGaName":131,"dataGaLocation":47,"icon":132},"/de-de/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[134,138,143],{"text":135,"config":136},"Anwendungssicherheitstests",{"href":130,"dataGaName":137,"dataGaLocation":47},"Application security testing",{"text":139,"config":140},"Schutz der Software-Lieferkette",{"href":141,"dataGaLocation":47,"dataGaName":142},"/de-de/solutions/supply-chain/","Software supply chain security",{"text":144,"config":145},"Software-Compliance",{"href":146,"dataGaName":147,"dataGaLocation":47},"/de-de/solutions/software-compliance/","software compliance",{"title":149,"link":150,"items":155},"Auswertung",{"config":151},{"icon":152,"href":153,"dataGaName":154,"dataGaLocation":47},"DigitalTransformation","/de-de/solutions/visibility-measurement/","visibility and measurement",[156,160,165],{"text":157,"config":158},"Sichtbarkeit und Auswertung",{"href":153,"dataGaLocation":47,"dataGaName":159},"Visibility and Measurement",{"text":161,"config":162},"Wertstrommanagement",{"href":163,"dataGaLocation":47,"dataGaName":164},"/de-de/solutions/value-stream-management/","Value Stream Management",{"text":166,"config":167},"Analysen und Einblicke",{"href":168,"dataGaLocation":47,"dataGaName":169},"/de-de/solutions/analytics-and-insights/","Analytics and insights",{"title":171,"items":172},"GitLab für",[173,178,183],{"text":174,"config":175},"Enterprise",{"href":176,"dataGaLocation":47,"dataGaName":177},"/de-de/enterprise/","enterprise",{"text":179,"config":180},"Kleinunternehmen",{"href":181,"dataGaLocation":47,"dataGaName":182},"/de-de/small-business/","small business",{"text":184,"config":185},"Öffentlicher Sektor",{"href":186,"dataGaLocation":47,"dataGaName":187},"/de-de/solutions/public-sector/","public sector",{"text":189,"config":190},"Preise",{"href":191,"dataGaName":192,"dataGaLocation":47,"dataNavLevelOne":192},"/de-de/pricing/","pricing",{"text":194,"config":195,"link":197,"lists":201,"feature":281},"Ressourcen",{"dataNavLevelOne":196},"resources",{"text":198,"config":199},"Alle Ressourcen anzeigen",{"href":200,"dataGaName":196,"dataGaLocation":47},"/de-de/resources/",[202,235,253],{"title":203,"items":204},"Erste Schritte",[205,210,215,220,225,230],{"text":206,"config":207},"Installieren",{"href":208,"dataGaName":209,"dataGaLocation":47},"/de-de/install/","install",{"text":211,"config":212},"Kurzanleitungen",{"href":213,"dataGaName":214,"dataGaLocation":47},"/de-de/get-started/","quick setup checklists",{"text":216,"config":217},"Lernen",{"href":218,"dataGaLocation":47,"dataGaName":219},"https://university.gitlab.com/","learn",{"text":221,"config":222},"Produktdokumentation",{"href":223,"dataGaName":224,"dataGaLocation":47},"https://docs.gitlab.com/","product documentation",{"text":226,"config":227},"Best-Practice-Videos",{"href":228,"dataGaName":229,"dataGaLocation":47},"/de-de/getting-started-videos/","best practice videos",{"text":231,"config":232},"Integrationen",{"href":233,"dataGaName":234,"dataGaLocation":47},"/de-de/integrations/","integrations",{"title":236,"items":237},"Entdecken",[238,243,248],{"text":239,"config":240},"Kundenerfolge",{"href":241,"dataGaName":242,"dataGaLocation":47},"/de-de/customers/","customer success stories",{"text":244,"config":245},"Blog",{"href":246,"dataGaName":247,"dataGaLocation":47},"/de-de/blog/","blog",{"text":249,"config":250},"Remote",{"href":251,"dataGaName":252,"dataGaLocation":47},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":254,"items":255},"Vernetzen",[256,261,266,271,276],{"text":257,"config":258},"GitLab Services",{"href":259,"dataGaName":260,"dataGaLocation":47},"/de-de/services/","services",{"text":262,"config":263},"Community",{"href":264,"dataGaName":265,"dataGaLocation":47},"/community/","community",{"text":267,"config":268},"Forum",{"href":269,"dataGaName":270,"dataGaLocation":47},"https://forum.gitlab.com/","forum",{"text":272,"config":273},"Veranstaltungen",{"href":274,"dataGaName":275,"dataGaLocation":47},"/events/","events",{"text":277,"config":278},"Partner",{"href":279,"dataGaName":280,"dataGaLocation":47},"/de-de/partners/","partners",{"backgroundColor":282,"textColor":283,"text":284,"image":285,"link":289},"#2f2a6b","#fff","Perspektiven für die Softwareentwicklung der Zukunft",{"altText":286,"config":287},"The Source Promo-Karte",{"src":288},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":290,"config":291},"Aktuelles",{"href":292,"dataGaName":293,"dataGaLocation":47},"/de-de/the-source/","the source",{"text":295,"config":296,"lists":298},"Unternehmen",{"dataNavLevelOne":297},"company",[299],{"items":300},[301,306,312,314,319,324,329,334,339,344,349],{"text":302,"config":303},"Über",{"href":304,"dataGaName":305,"dataGaLocation":47},"/de-de/company/","about",{"text":307,"config":308,"footerGa":311},"Karriere",{"href":309,"dataGaName":310,"dataGaLocation":47},"/jobs/","jobs",{"dataGaName":310},{"text":272,"config":313},{"href":274,"dataGaName":275,"dataGaLocation":47},{"text":315,"config":316},"Geschäftsführung",{"href":317,"dataGaName":318,"dataGaLocation":47},"/company/team/e-group/","leadership",{"text":320,"config":321},"Team",{"href":322,"dataGaName":323,"dataGaLocation":47},"/company/team/","team",{"text":325,"config":326},"Handbuch",{"href":327,"dataGaName":328,"dataGaLocation":47},"https://handbook.gitlab.com/","handbook",{"text":330,"config":331},"Investor Relations",{"href":332,"dataGaName":333,"dataGaLocation":47},"https://ir.gitlab.com/","investor relations",{"text":335,"config":336},"Trust Center",{"href":337,"dataGaName":338,"dataGaLocation":47},"/de-de/security/","trust center",{"text":340,"config":341},"AI Transparency Center",{"href":342,"dataGaName":343,"dataGaLocation":47},"/de-de/ai-transparency-center/","ai transparency center",{"text":345,"config":346},"Newsletter",{"href":347,"dataGaName":348,"dataGaLocation":47},"/company/contact/#contact-forms","newsletter",{"text":350,"config":351},"Presse",{"href":352,"dataGaName":353,"dataGaLocation":47},"/press/","press",{"text":355,"config":356,"lists":357},"Kontakt",{"dataNavLevelOne":297},[358],{"items":359},[360,363,368],{"text":54,"config":361},{"href":56,"dataGaName":362,"dataGaLocation":47},"talk to sales",{"text":364,"config":365},"Support-Portal",{"href":366,"dataGaName":367,"dataGaLocation":47},"https://support.gitlab.com","support portal",{"text":369,"config":370},"Kundenportal",{"href":371,"dataGaName":372,"dataGaLocation":47},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":374,"login":375,"suggestions":382},"Schließen",{"text":376,"link":377},"Um Repositorys und Projekte zu durchsuchen, melde dich an bei",{"text":378,"config":379},"gitlab.com",{"href":61,"dataGaName":380,"dataGaLocation":381},"search login","search",{"text":383,"default":384},"Vorschläge",[385,387,392,394,399,404],{"text":76,"config":386},{"href":81,"dataGaName":76,"dataGaLocation":381},{"text":388,"config":389},"Codevorschläge (KI)",{"href":390,"dataGaName":391,"dataGaLocation":381},"/de-de/solutions/code-suggestions/","Code Suggestions (AI)",{"text":110,"config":393},{"href":112,"dataGaName":110,"dataGaLocation":381},{"text":395,"config":396},"GitLab auf AWS",{"href":397,"dataGaName":398,"dataGaLocation":381},"/de-de/partners/technology-partners/aws/","GitLab on AWS",{"text":400,"config":401},"GitLab auf Google Cloud",{"href":402,"dataGaName":403,"dataGaLocation":381},"/de-de/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":84,"config":405},{"href":89,"dataGaName":406,"dataGaLocation":381},"Why GitLab?",{"freeTrial":408,"mobileIcon":413,"desktopIcon":418,"secondaryButton":421},{"text":409,"config":410},"Kostenlos testen",{"href":411,"dataGaName":52,"dataGaLocation":412},"https://gitlab.com/-/trials/new/","nav",{"altText":414,"config":415},"GitLab-Symbol",{"src":416,"dataGaName":417,"dataGaLocation":412},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":414,"config":419},{"src":420,"dataGaName":417,"dataGaLocation":412},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":203,"config":422},{"href":423,"dataGaName":424,"dataGaLocation":412},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de/get-started/","get started",{"freeTrial":426,"mobileIcon":430,"desktopIcon":432},{"text":427,"config":428},"Mehr über GitLab Duo erfahren",{"href":81,"dataGaName":429,"dataGaLocation":412},"gitlab duo",{"altText":414,"config":431},{"src":416,"dataGaName":417,"dataGaLocation":412},{"altText":414,"config":433},{"src":420,"dataGaName":417,"dataGaLocation":412},{"button":435,"mobileIcon":440,"desktopIcon":442},{"text":436,"config":437},"/Option",{"href":438,"dataGaName":439,"dataGaLocation":412},"#contact","switch",{"altText":414,"config":441},{"src":416,"dataGaName":417,"dataGaLocation":412},{"altText":414,"config":443},{"src":444,"dataGaName":417,"dataGaLocation":412},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":446,"mobileIcon":451,"desktopIcon":453},{"text":447,"config":448},"Zurück zur Preisübersicht",{"href":191,"dataGaName":449,"dataGaLocation":412,"icon":450},"back to pricing","GoBack",{"altText":414,"config":452},{"src":416,"dataGaName":417,"dataGaLocation":412},{"altText":414,"config":454},{"src":420,"dataGaName":417,"dataGaLocation":412},{"title":456,"button":457,"config":462},"Sieh dir an, wie agentische KI die Softwarebereitstellung transformiert",{"text":458,"config":459},"GitLab Transcend jetzt ansehen",{"href":460,"dataGaName":461,"dataGaLocation":47},"/de-de/events/transcend/virtual/","transcend event",{"layout":463,"icon":464,"disabled":12},"release","AiStar",{"data":466},{"text":467,"source":468,"edit":474,"contribute":479,"config":484,"items":489,"minimal":692},"Git ist eine Marke von Software Freedom Conservancy und unsere Verwendung von „GitLab“ erfolgt unter Lizenz.",{"text":469,"config":470},"Quelltext der Seite anzeigen",{"href":471,"dataGaName":472,"dataGaLocation":473},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":475,"config":476},"Diese Seite bearbeiten",{"href":477,"dataGaName":478,"dataGaLocation":473},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":480,"config":481},"Beteilige dich",{"href":482,"dataGaName":483,"dataGaLocation":473},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":485,"facebook":486,"youtube":487,"linkedin":488},"https://x.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[490,535,588,630,657],{"title":189,"links":491,"subMenu":506},[492,496,501],{"text":493,"config":494},"Tarife anzeigen",{"href":191,"dataGaName":495,"dataGaLocation":473},"view plans",{"text":497,"config":498},"Vorteile von Premium",{"href":499,"dataGaName":500,"dataGaLocation":473},"/de-de/pricing/premium/","why premium",{"text":502,"config":503},"Vorteile von Ultimate",{"href":504,"dataGaName":505,"dataGaLocation":473},"/de-de/pricing/ultimate/","why ultimate",[507],{"title":355,"links":508},[509,511,513,515,520,525,530],{"text":54,"config":510},{"href":56,"dataGaName":57,"dataGaLocation":473},{"text":364,"config":512},{"href":366,"dataGaName":367,"dataGaLocation":473},{"text":369,"config":514},{"href":371,"dataGaName":372,"dataGaLocation":473},{"text":516,"config":517},"Status",{"href":518,"dataGaName":519,"dataGaLocation":473},"https://status.gitlab.com/","status",{"text":521,"config":522},"Nutzungsbedingungen",{"href":523,"dataGaName":524,"dataGaLocation":473},"/terms/","terms of use",{"text":526,"config":527},"Datenschutzerklärung",{"href":528,"dataGaName":529,"dataGaLocation":473},"/de-de/privacy/","privacy statement",{"text":531,"config":532},"Cookie-Einstellungen",{"dataGaName":533,"dataGaLocation":473,"id":534,"isOneTrustButton":12},"cookie preferences","ot-sdk-btn",{"title":92,"links":536,"subMenu":545},[537,541],{"text":538,"config":539},"DevSecOps-Plattform",{"href":74,"dataGaName":540,"dataGaLocation":473},"devsecops platform",{"text":542,"config":543},"KI-unterstützte Entwicklung",{"href":81,"dataGaName":544,"dataGaLocation":473},"ai-assisted development",[546],{"title":547,"links":548},"Themen",[549,553,558,563,568,573,578,583],{"text":110,"config":550},{"href":551,"dataGaName":552,"dataGaLocation":473},"/de-de/topics/ci-cd/","cicd",{"text":554,"config":555},"GitOps",{"href":556,"dataGaName":557,"dataGaLocation":473},"/de-de/topics/gitops/","gitops",{"text":559,"config":560},"DevOps",{"href":561,"dataGaName":562,"dataGaLocation":473},"/de-de/topics/devops/","devops",{"text":564,"config":565},"Versionskontrolle",{"href":566,"dataGaName":567,"dataGaLocation":473},"/de-de/topics/version-control/","version control",{"text":569,"config":570},"DevSecOps",{"href":571,"dataGaName":572,"dataGaLocation":473},"/de-de/topics/devsecops/","devsecops",{"text":574,"config":575},"Cloud-nativ",{"href":576,"dataGaName":577,"dataGaLocation":473},"/de-de/topics/cloud-native/","cloud native",{"text":579,"config":580},"KI für das Programmieren",{"href":581,"dataGaName":582,"dataGaLocation":473},"/de-de/topics/devops/ai-for-coding/","ai for coding",{"text":584,"config":585},"Agentische KI",{"href":586,"dataGaName":587,"dataGaLocation":473},"/de-de/topics/agentic-ai/","agentic ai",{"title":589,"links":590},"Lösungen",[591,594,596,601,605,608,611,614,616,618,620,625],{"text":135,"config":592},{"href":130,"dataGaName":593,"dataGaLocation":473},"Application Security Testing",{"text":122,"config":595},{"href":106,"dataGaName":107,"dataGaLocation":473},{"text":597,"config":598},"Agile Entwicklung",{"href":599,"dataGaName":600,"dataGaLocation":473},"/de-de/solutions/agile-delivery/","agile delivery",{"text":602,"config":603},"SCM",{"href":119,"dataGaName":604,"dataGaLocation":473},"source code management",{"text":110,"config":606},{"href":112,"dataGaName":607,"dataGaLocation":473},"continuous integration & delivery",{"text":161,"config":609},{"href":163,"dataGaName":610,"dataGaLocation":473},"value stream management",{"text":554,"config":612},{"href":613,"dataGaName":557,"dataGaLocation":473},"/de-de/solutions/gitops/",{"text":174,"config":615},{"href":176,"dataGaName":177,"dataGaLocation":473},{"text":179,"config":617},{"href":181,"dataGaName":182,"dataGaLocation":473},{"text":184,"config":619},{"href":186,"dataGaName":187,"dataGaLocation":473},{"text":621,"config":622},"Bildungswesen",{"href":623,"dataGaName":624,"dataGaLocation":473},"/de-de/solutions/education/","education",{"text":626,"config":627},"Finanzdienstleistungen",{"href":628,"dataGaName":629,"dataGaLocation":473},"/de-de/solutions/finance/","financial services",{"title":194,"links":631},[632,634,636,638,641,643,645,647,649,651,653,655],{"text":206,"config":633},{"href":208,"dataGaName":209,"dataGaLocation":473},{"text":211,"config":635},{"href":213,"dataGaName":214,"dataGaLocation":473},{"text":216,"config":637},{"href":218,"dataGaName":219,"dataGaLocation":473},{"text":221,"config":639},{"href":223,"dataGaName":640,"dataGaLocation":473},"docs",{"text":244,"config":642},{"href":246,"dataGaName":247,"dataGaLocation":473},{"text":239,"config":644},{"href":241,"dataGaName":242,"dataGaLocation":473},{"text":249,"config":646},{"href":251,"dataGaName":252,"dataGaLocation":473},{"text":257,"config":648},{"href":259,"dataGaName":260,"dataGaLocation":473},{"text":262,"config":650},{"href":264,"dataGaName":265,"dataGaLocation":473},{"text":267,"config":652},{"href":269,"dataGaName":270,"dataGaLocation":473},{"text":272,"config":654},{"href":274,"dataGaName":275,"dataGaLocation":473},{"text":277,"config":656},{"href":279,"dataGaName":280,"dataGaLocation":473},{"title":295,"links":658},[659,661,663,665,667,669,671,676,681,683,685,687],{"text":302,"config":660},{"href":304,"dataGaName":297,"dataGaLocation":473},{"text":307,"config":662},{"href":309,"dataGaName":310,"dataGaLocation":473},{"text":315,"config":664},{"href":317,"dataGaName":318,"dataGaLocation":473},{"text":320,"config":666},{"href":322,"dataGaName":323,"dataGaLocation":473},{"text":325,"config":668},{"href":327,"dataGaName":328,"dataGaLocation":473},{"text":330,"config":670},{"href":332,"dataGaName":333,"dataGaLocation":473},{"text":672,"config":673},"Nachhaltigkeit",{"href":674,"dataGaName":675,"dataGaLocation":473},"/sustainability/","Sustainability",{"text":677,"config":678},"Vielfalt, Inklusion und Zugehörigkeit",{"href":679,"dataGaName":680,"dataGaLocation":473},"/de-de/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":335,"config":682},{"href":337,"dataGaName":338,"dataGaLocation":473},{"text":345,"config":684},{"href":347,"dataGaName":348,"dataGaLocation":473},{"text":350,"config":686},{"href":352,"dataGaName":353,"dataGaLocation":473},{"text":688,"config":689},"Transparenzerklärung zu moderner Sklaverei",{"href":690,"dataGaName":691,"dataGaLocation":473},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":693},[694,696,699],{"text":521,"config":695},{"href":523,"dataGaName":524,"dataGaLocation":473},{"text":697,"config":698},"Cookies",{"dataGaName":533,"dataGaLocation":473,"id":534,"isOneTrustButton":12},{"text":526,"config":700},{"href":528,"dataGaName":529,"dataGaLocation":473},[702],{"id":703,"title":18,"body":8,"config":704,"content":706,"description":8,"extension":28,"meta":710,"navigation":12,"path":711,"seo":712,"stem":713,"__hash__":714},"blogAuthors/en-us/blog/authors/michael-friedrich.yml",{"template":705},"BlogAuthor",{"name":18,"config":707},{"headshot":708,"ctfId":709},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659879/Blog/Author%20Headshots/dnsmichi-headshot.jpg","dnsmichi",{},"/en-us/blog/authors/michael-friedrich",{},"en-us/blog/authors/michael-friedrich","lJ-nfRIhdG49Arfrxdn1Vv4UppwD51BB13S3HwIswt4",[716,729,741],{"content":717,"config":727},{"title":718,"description":719,"authors":720,"heroImage":722,"date":723,"body":724,"category":9,"tags":725},"GitLab und Anthropic: Governed AI für die Unternehmensentwicklung","GitLab vertieft die Anthropic-Integration – KI-Governance, Auditierbarkeit und Cloud-Flexibilität für regulierte Unternehmen und den öffentlichen Sektor.",[721],"Stuart Moncada","https://res.cloudinary.com/about-gitlab-com/image/upload/v1776457632/llddiylsgwuze0u1rjks.png","2026-04-28","Für Führungskräfte in Unternehmen und im öffentlichen Sektor ist die Spannung\nvertraut: Softwareteams müssen mit KI schneller werden, während Sicherheits-,\nCompliance- und regulatorische Anforderungen weiter steigen. GitLab vertieft\ndie Integration mit Anthropic Claude, sodass Unternehmen Zugang zu neu\nveröffentlichten Claude-Modellen innerhalb von GitLabs intelligenter\nOrchestrierungsplattform erhalten – dort, wo Governance, Compliance und\nAuditierbarkeit bereits verankert sind.\n\nClaude treibt Funktionen der gesamten GitLab Duo Agent Platform als\nStandardmodell an – für Anwendungsfälle von Code-Generierung und -Review bis\nhin zu agentischem Chat und Vulnerability Resolution. Wer GitLab Duo bereits\nnutzt, hat bereits erlebt, wie Duo-Agenten Workflows über den gesamten Software\nDevelopment Lifecycle (SDLC) automatisieren.\n\nDas beschleunigt die Integration von Claudes Fähigkeiten in GitLab, erweitert\ndie Deployment-Optionen für Unternehmen und unterstreicht, was GitLab als\nPlattform für Softwareentwicklung grundlegend unterscheidet: Governance,\nCompliance und Auditierbarkeit, die in jede KI-Interaktion eingebaut sind.\n\n> \"GitLab Duo hat beschleunigt, wie unsere Teams Software planen, bauen und\n> ausliefern. Die Kombination aus Anthropics Claude und GitLabs Plattform\n> bedeutet, dass wir leistungsfähigere KI erhalten, ohne zu ändern, wie wir\n> arbeiten oder wie sie kontrolliert wird.\"\n>\n> – Mans Booijink, Operations Manager, Cube\n\n\n## Der entscheidende Unterschied: Governed AI\n\nBei GitLab sind Governance-Kontrollen und Auditing in den SDLC eingebaut. Wenn\nClaude über die GitLab Duo Agent Platform eine Codeänderung vorschlägt, durchläuft\ndieser Vorschlag denselben Merge-Request-Prozess, dieselben Freigaberegeln,\ndasselbe Security Scanning und denselben Audit-Trail wie jede andere Änderung.\nKI erhält keine Ausnahme von den bestehenden Kontrollen. Sie operiert innerhalb\ndieser Kontrollen.\n\nJe weiter GitLab in die agentische Softwareentwicklung vordringt – bei der KI\nklar definierte Aufgaben autonom übernimmt – desto wichtiger wird die\nGovernance-Schicht. Ein KI-Agent, der einen Merge Request öffnen, eine\nSchwachstelle beheben oder einen Service refaktorieren kann, muss auditierbar\nund zuordenbar sein und denselben Richtliniendurchsetzungen unterliegen wie ein\nmenschlicher Entwickler. Diese Anforderung ist eine architektonische Entscheidung,\ndie GitLab von Beginn an getroffen hat – und die umso bedeutsamer wird, je mehr\nVerantwortung KI-Agenten übernehmen.\n\n\n## Deployment-Flexibilität für Unternehmen\n\nDie Integration erweitert auch, wie Unternehmen über GitLab auf die neuesten\nClaude-Modelle zugreifen. Claude ist innerhalb von GitLab über Google Cloud\nVertex AI und AWS Bedrock verfügbar – Unternehmen können KI-Workloads über die\nHyperscaler-Commitments und Cloud-Governance-Frameworks leiten, die bereits\nbestehen. Kein separater Anbietervertrag, keine neuen Fragen zur Datenresidenz.\nDie bestehende GCP- oder AWS-Beziehung ist der Einstiegspunkt.\n\nGitLab ist jetzt auch im [Claude Marketplace](https://claude.com/platform/marketplace)\nverfügbar. Kunden können dort GitLab Credits erwerben und auf bestehende\nAnthropic-Ausgaben-Commitments anrechnen – KI-Ausgaben konsolidieren und die\nBeschaffung von GitLab neben Anthropic-Investitionen vereinfachen.\n\n\n## Auf dem Weg in eine agentische Zukunft\n\nGitLabs Vision für agentische Softwareentwicklung – bei der KI definierte\nAufgaben autonom über Planung, Coding, Testing, Security und Deployment hinweg\nübernimmt – setzt Modelle mit starkem Reasoning, Zuverlässigkeit und\nSicherheitseigenschaften voraus. Und sie setzt eine Plattform voraus, auf der\ndiese autonomen Aktionen vollständig kontrolliert werden.\n\nAgentische Workflows erfordern Modelle mit starkem Reasoning, Zuverlässigkeit\nund Sicherheitseigenschaften – Kriterien, die die Auswahl und Integration von\nKI-Modellpartnern bei GitLab leiten. GitLabs Governance-Framework stellt sicher,\ndass Unternehmen bei zunehmendem KI-Einsatz in der Entwicklung vollständige\nTransparenz und Kontrolle darüber behalten, was diese Agenten tun, wann sie es\ntun und wie Änderungen nachverfolgt werden.\n\n\n## Was das für GitLab-Kunden bedeutet\n\nWer GitLab Duo Agent Platform bereits einsetzt, erhält Zugang zu Claude-Modellen\nund tieferer KI-Unterstützung über den gesamten Software Development Lifecycle –\ninnerhalb des Governance-Frameworks, auf das bereits vertraut wird.\n\nWer KI-gestützte Softwareentwicklungsplattformen evaluiert, sollte nicht zwischen\nfortschrittlichen KI-Fähigkeiten und Unternehmenskontrolle wählen müssen. Diese\nstrategische Integration ist darauf ausgelegt, beides zu liefern.\n\n> Mehr über GitLab Duo Agent Platform erfahren?\n> [Demo anfragen oder kostenlose Testversion starten](https://about.gitlab.com/de-de/gitlab-duo-agent-platform/).\n",[23,726,280],"product",{"featured":12,"template":13,"slug":728},"gitlab-and-anthropic-governed-ai-for-enterprise-development",{"content":730,"config":739},{"title":731,"description":732,"authors":733,"heroImage":735,"date":736,"body":737,"category":9,"tags":738},"glab CLI: Strukturierter GitLab-Zugriff für KI-Agenten","Das GitLab CLI (glab) gibt KI-Agenten strukturierten Zugriff auf Projekte via MCP. Tutorial: Code-Reviews und Issue-Triage mit glab beschleunigen.",[734],"Kai Armstrong","https://res.cloudinary.com/about-gitlab-com/image/upload/v1776347152/unw3mzatkd5xyfbzcnni.png","2026-04-27","Wenn Teams GitLab Duo, Claude, Cursor und andere KI-Assistenten einsetzen,\nläuft ein wachsender Teil des Entwicklungs-Workflows über einen KI-Agenten,\nder im eigenen Auftrag handelt – Issues liest, Merge Requests prüft, Pipelines\nausführt und dabei hilft, schneller zu liefern. Die meisten Entwickler(innen) nutzen\n`glab` bereits vom Terminal aus, um mit GitLab zu interagieren. Beides zu\nkombinieren ist der naheliegende nächste Schritt.\n\nDas Problem: Ohne die richtigen Werkzeuge rät ein KI-Agent im Wesentlichen,\nwenn es um GitLab-Projekte geht. Er könnte die Details eines Issues\nhalluzinieren, den er nie gesehen hat, einen Merge Request auf Basis veralteter\nTrainingsdaten zusammenfassen statt anhand seines tatsächlichen Zustands – oder\nverlangen, dass Kontext manuell aus einem Browser-Tab kopiert und in ein\nChat-Fenster eingefügt wird, bevor überhaupt begonnen werden kann. Jede dieser\nUmgehungslösungen ist Reibung: Sie verlangsamt die Arbeit, eröffnet\nFehlermöglichkeiten und setzt eine harte Obergrenze dafür, was der Agent\ntatsächlich leisten kann. Das GitLab CLI (`glab`) ändert das, indem es Agenten\neine direkte, zuverlässige Schnittstelle zu Projekten gibt.\n\nMit `glab` ruft der Agent das Benötigte direkt von GitLab ab, handelt darauf\nund meldet das Ergebnis zurück – sodass weniger Zeit damit verbracht wird,\nInformationen weiterzugeben, und mehr Zeit für die eigentliche Arbeit bleibt.\n\nIn diesem Tutorial wird gezeigt, wie `glab` KI-Agenten strukturierten,\nzuverlässigen Zugriff auf GitLab-Projekte ermöglicht – und wie das einen\nschnelleren, leistungsfähigeren Entwicklungs-Workflow freischaltet.\n\n\n## KI-Agent über MCP mit GitLab verbinden\n\nDer direkteste Weg, KI-Workflows deutlich leistungsfähiger zu machen, besteht\ndarin, dem KI-Agenten nativen Zugriff auf `glab` über das Model Context\nProtocol ([MCP](https://about.gitlab.com/topics/ai/model-context-protocol/))\nzu geben.\n\nMCP ist ein offener Standard, der KI-Werkzeugen ermöglicht, externe Fähigkeiten\nzur Laufzeit zu entdecken und zu nutzen. Nach der Verbindung kann der\nKI-Assistent Issues lesen, Merge Requests kommentieren, Pipeline-Status prüfen\nund zurück in GitLab schreiben – ohne etwas aus der UI zu kopieren oder auch\nnur einen einzigen API-Aufruf selbst zu schreiben.\n\nEinstieg mit:\n\n```shell\n# MCP-Server von glab starten\nglab mcp serve\n```\n\nSobald der MCP-Client konfiguriert ist, kann die KI Fragen wie *„Was ist der\nStatus meiner offenen MRs?\"* oder *„Gibt es fehlgeschlagene Pipelines auf\nmain?\"* beantworten, indem sie GitLab direkt abfragt – nicht durch Scraping der\nWeb-UI, nicht durch veraltete Trainingsdaten. Die\n[vollständige Setup-Dokumentation](https://docs.gitlab.com/cli/) enthält\nKonfigurationsschritte für Claude Code, Cursor und andere Editoren.\n\nEin wichtiges Detail: `glab` fügt automatisch `--output json` hinzu, wenn es\nüber MCP aufgerufen wird – für jeden Befehl, der das unterstützt. Der Agent\nerhält saubere, strukturierte Daten, ohne dass über Ausgabeformate nachgedacht\nwerden muss. Und da `glab` das offizielle MCP SDK verwendet, bleibt es\nkompatibel, wenn sich das Protokoll weiterentwickelt.\n\nWir haben bewusst entschieden, *welche* Befehle über MCP zugänglich sind.\nBefehle, die interaktive Terminalausgabe erfordern, sind absichtlich\nausgeschlossen – der Agent bleibt nie in einem Wartezustand für Eingaben, die\nnie kommen. Was zugänglich ist, funktioniert zuverlässig im Agenten-Kontext.\n\n\n## KI am Code-Review beteiligen\n\nDie meisten Entwickler(innen) haben einen Rückstand an MRs, die auf Review warten.\nDas ist einer der zeitintensivsten Teile der Arbeit – und einer der besten\nAnsatzpunkte für KI. Mit `glab` beobachtet der Agent die Review-Queue nicht\nnur, sondern arbeitet sie gemeinsam durch.\n\n### Genau sehen, was noch offen ist\n\nEinstieg mit:\n\n```shell\nglab mr view 2677 --comments --unresolved --output json\n```\n\nDieser Befehl gibt den vollständigen MR zurück: Metadaten, Beschreibung und\njede ungelöste Diskussion als einzelnes strukturiertes JSON-Payload. Das gibt\nder KI alles, was sie braucht: welche Threads offen sind, was der Reviewer\nangefragt hat und in welchem Kontext. Kein Tab-Wechsel, kein manuelles Kopieren\neinzelner Kommentare.\n\n```json\n{\n  \"id\": 2677,\n  \"title\": \"feat: add OAuth2 support\",\n  \"state\": \"opened\",\n  \"author\": { \"username\": \"jdwick\" },\n  \"labels\": [\"backend\", \"needs-review\"],\n  \"blocking_discussions_resolved\": false,\n  \"discussions\": [\n    {\n      \"id\": \"3107030349\",\n      \"resolved\": false,\n      \"notes\": [\n        {\n          \"author\": { \"username\": \"dmurphy\" },\n          \"body\": \"This error handling will swallow panics — consider wrapping with recover()\",\n          \"created_at\": \"2026-03-14T09:23:11.000Z\"\n        }\n      ]\n    },\n    {\n      \"id\": \"3107030412\",\n      \"resolved\": false,\n      \"notes\": [\n        {\n          \"author\": { \"username\": \"sreeves\" },\n          \"body\": \"Token refresh logic needs a test for the expired token case\",\n          \"created_at\": \"2026-03-14T10:05:44.000Z\"\n        }\n      ]\n    }\n  ]\n}\n```\n\nStatt jeden Thread selbst durchzulesen, lässt sich der Agent fragen:\n*„Was muss ich in MR 2677 noch beheben?\"* – und erhält eine priorisierte\nZusammenfassung mit Änderungsvorschlägen. Das alles aus einem einzigen Befehl.\n\n### Den Kreislauf programmatisch schließen\n\nSobald der KI geholfen hat, das Feedback zu adressieren, kann sie Diskussionen\nauflösen:\n\n```shell\n# Alle Diskussionen auflisten – strukturiert, bereit für den Agenten\nglab mr note list 456 --output json\n\n# Diskussion auflösen, sobald das Feedback adressiert wurde\nglab mr note resolve 456 3107030349\n\n# Wieder öffnen, wenn etwas erneut geprüft werden muss\nglab mr note reopen 456 3107030349\n```\n\n```json\n[\n  {\n    \"id\": 3107030349,\n    \"body\": \"This error handling will swallow panics — consider wrapping with recover()\",\n    \"author\": { \"username\": \"dmurphy\" },\n    \"resolved\": false,\n    \"resolvable\": true\n  },\n  {\n    \"id\": 3107030412,\n    \"body\": \"Token refresh logic needs a test for the expired token case\",\n    \"author\": { \"username\": \"sreeves\" },\n    \"resolved\": false,\n    \"resolvable\": true\n  }\n]\n```\n\nNote-IDs sind direkt in der GitLab-UI und der API sichtbar – kein zusätzlicher\nLookup nötig. Der Agent kann die vollständige Liste durcharbeiten, jeden Fix\nprüfen und dabei auflösen.\n\n\n## Mit der KI effektiver über Code sprechen\n\nAuch ohne laufenden MCP-Server gibt es eine einfachere Umstellung, die einen\ngroßen Unterschied macht: `glab` einsetzen, um der KI bessere Informationen zu\nliefern.\n\nBeim letzten Mal, als ein KI-Assistent bei der Issue-Triage oder beim Debuggen\neiner fehlgeschlagenen Pipeline geholfen hat, wurde wahrscheinlich etwas Text\naus der GitLab-UI kopiert und in den Chat eingefügt. Das ist es, womit der\nAgent tatsächlich arbeitet:\n\n```text\nopen issues: 12 • milestone: 17.10 • label: bug, needs-triage ...\n```\n\nIm Vergleich dazu, was er mit `glab` erhält:\n\n```json\n[\n  {\n    \"iid\": 902,\n    \"title\": \"Pipeline fails on merge to main\",\n    \"labels\": [\"bug\", \"needs-triage\"],\n    \"milestone\": { \"title\": \"17.10\" },\n    \"assignees\": []\n  },\n  ...\n]\n```\n\nStrukturiert, typisiert, vollständig – keine Mehrdeutigkeit, kein\nInterpretationsaufwand beim Parsen. Das ist der Unterschied zwischen einem\nAgenten, der handeln kann, und einem, der Rückfragen stellen muss.\n\nMit dem MCP-Server passiert das automatisch: `glab` fügt `--output json` für\njeden Befehl hinzu, der das unterstützt. Beim direkten Arbeiten im Terminal\neinfach das Flag selbst ergänzen:\n\n```shell\n# Offene Issues für Triage abrufen\nglab issue list --label \"needs-triage\" --output json\n\n# Pipeline-Status prüfen\nglab ci status --output json\n\n# Vollständige MR-Details abrufen\nglab mr view 456 --output json\n```\n\nDie JSON-Ausgabe wurde in letzten Releases erheblich erweitert. Sie deckt jetzt\nCI-Status, Milestones, Labels, Releases, Schedules, Cluster-Agenten, Work\nItems, MR-Genehmiger, Repository-Mitwirkende und mehr ab. Was `glab` abrufen\nkann, kann die KI sauber verarbeiten.\n\n### Ein echter Workflow\n\n```shell\n$ glab issue list --label \"needs-triage\" --milestone \"17.10\" \\\n--output json\n```\n\n```text\nAgent: I found 2 unassigned bugs in the 17.10 milestone that need triage:\n1. #902 — Pipeline fails on merge to main (opened 5 days ago)\n2. #903 — Auth token not refreshing on expiry (opened 4 days ago)\nBoth are unassigned. Want me to draft triage notes and suggest assignees based on recent commit history?\n```\n\n\n## Der Agent ist keineswegs auf eingebaute Befehle beschränkt\n\nDie nativen Befehle von `glab` decken die gängigsten Workflows ab – aber der\nAgent ist nicht darauf beschränkt. Über `glab api` hat er authentifizierten\nZugriff auf die vollständige GitLab REST- und GraphQL-API-Oberfläche, mit\nderselben Session, ohne zusätzliche Credentials oder Konfiguration.\n\nDas ist ein wesentlicher Unterschied. Die meisten CLI-Werkzeuge beschränken\nsich auf das, was ihre Befehle abbilden. Mit `glab` gilt: Wenn GitLabs API es\nunterstützt, kann der Agent es tun – immer aus einem vertrauenswürdigen,\nauthentifizierten Kontext heraus.\n\nEin praktisches Beispiel: nur die Liste der geänderten Dateien in einem MR\nabrufen, bevor entschieden wird, welche Diffs vollständig geladen werden:\n\n```shell\n# Geänderte Dateipfade abrufen – leichtgewichtig, noch kein Diff-Inhalt\nglab api \"/projects/$CI_PROJECT_ID/merge_requests/$CI_MERGE_REQUEST_IID/diffs?per_page=100\" \\\n| jq '.[].new_path'\n\n# Dann nur die spezifische Datei laden, die der Agent benötigt\nglab api \"/projects/$CI_PROJECT_ID/merge_requests/$CI_MERGE_REQUEST_IID/diffs?per_page=100\" \\\n| jq '.[] | select(.new_path == \"path/to/file.go\")'\n```\n\n```text\n\"internal/auth/token.go\"\n\"internal/auth/token_test.go\"\n\"internal/oauth/refresh.go\"\n```\n\nFür alles, was die REST API nicht abdeckt (Epics, bestimmte Work-Item-Abfragen,\nkomplexe projektübergreifende Daten), bietet `glab api graphql` die vollständige\nGraphQL-Schnittstelle:\n\n```shell\nglab api graphql -f query='\n{\n  project(fullPath: \"gitlab-org/gitlab\") {\n    mergeRequest(iid: \"12345\") {\n      title\n      reviewers { nodes { username } }\n    }\n  }\n}'\n```\n\n```json\n{\n  \"data\": {\n    \"project\": {\n      \"mergeRequest\": {\n        \"title\": \"feat: add OAuth2 support\",\n        \"reviewers\": {\n          \"nodes\": [\n            { \"username\": \"dmurphy\" },\n            { \"username\": \"sreeves\" }\n          ]\n        }\n      }\n    }\n  }\n}\n```\n\nEin einziger, authentifizierter Einstiegspunkt zu allem, was GitLab\nbereitstellt – ohne Token-Jonglieren, separate API-Clients oder\nKonfigurationsaufwand.\n\n\n## Was als Nächstes kommt – und Feedback\n\nZwei Verbesserungen, an denen aktiv gearbeitet wird, werden `glab` für\nAgenten-Workflows noch nützlicher machen:\n\n**Auf Agenten abgestimmter Hilfetext.** Heute ist die `--help`-Ausgabe für\nMenschen am Terminal geschrieben. Sie wird aktualisiert, um für jeden\ninteraktiven Befehl die nicht-interaktive Alternative anzuzeigen, Befehle mit\n`--output json`-Unterstützung zu kennzeichnen und Hilfe generell zu einer\nnützlichen Ressource für Agenten zu machen, die Fähigkeiten zur Laufzeit\nentdecken – nicht nur für Menschen.\n\n**Besser maschinenlesbare Fehlermeldungen.** Wenn heute etwas schiefläuft,\nerhalten Agenten dieselben menschenlesbaren Fehlermeldungen wie\nTerminal-Nutzende. Das wird geändert: Fehler im JSON-Modus geben strukturierte\nAusgaben zurück, die dem Agenten die Informationen liefern, die er braucht, um\nFehler sauber zu behandeln, intelligent zu wiederholen oder den richtigen\nKontext zurückzugeben.\n\nBeide Punkte sind in aktiver Entwicklung. Wer `glab` bereits mit einem\nKI-Werkzeug einsetzt, ist genau die Zielgruppe, deren Erfahrungen uns\ninteressieren.\n\n* **Welche Reibungspunkte gibt es?** Befehle, die sich in Agenten-Kontexten\n  nicht gut verhalten, Fehlermeldungen ohne Handlungsanleitung, Lücken in der\n  JSON-Ausgabe. Feedback ist willkommen.\n\n* **Welche Workflows wurden erschlossen?** Reale Nutzungsmuster helfen dabei,\n  Prioritäten für die weitere Entwicklung zu setzen.\n\nDie Diskussion findet im\n[Feedback-Issue](https://gitlab.com/gitlab-org/cli/-/issues/8177) statt –\ndort wird die Roadmap für Agenten-Freundlichkeit gestaltet, und Beiträge haben\ndort den direktesten Einfluss. Wer eine spezifische Lücke gefunden hat,\nkann ein [Issue öffnen](https://gitlab.com/gitlab-org/cli/-/issues/new). Wer\neinen Fix im Sinn hat: Beiträge sind willkommen. Details unter\n[CONTRIBUTING.md](https://gitlab.com/gitlab-org/cli/-/blob/main/CONTRIBUTING.md).\n\nDas GitLab CLI stand schon immer dafür, Entwickler(inne)n mehr Kontrolle über ihren\nWorkflow zu geben. Da KI ein immer größerer Teil der täglichen Arbeit wird,\nbedeutet das, `glab` zur bestmöglichen Schnittstelle zwischen KI-Werkzeugen\nund GitLab-Projekten zu machen. Wir stehen am Anfang – und freuen uns darauf,\nden nächsten Teil gemeinsam zu gestalten.\n",[23,726,24],{"featured":12,"template":13,"slug":740},"give-your-ai-agent-direct-structured-gitlab-access-with-glab-cli",{"content":742,"config":750},{"title":743,"description":744,"authors":745,"heroImage":735,"date":747,"body":748,"category":9,"tags":749},"GitHubs neue Copilot-Richtlinie: Was regulierte Unternehmen jetzt prüfen müssen","Warum GitLabs Datenverwaltungsansatz strukturell anders ist – und was GitHubs neue Copilot-Richtlinie für regulierte Unternehmen bedeutet.",[746],"Allie Holland","2026-04-20","GitHub hat kürzlich angekündigt, wie Interaktionsdaten von Copilot-Nutzenden\nkünftig verwendet werden. Ab dem 24. April 2026 werden Daten aus Copilot Free,\nPro und Pro+ standardmäßig zum Training von KI-Modellen genutzt, sofern\nNutzende nicht aktiv widersprechen. Betroffen sind Eingaben, Ausgaben,\nCode-Snippets und zugehöriger Kontext. Copilot Business und Enterprise sind\naufgrund bestehender Vertragskonditionen ausgenommen.\n\nFür Unternehmen in regulierten Branchen wirft diese Änderung Fragen auf, die\nüber individuelle Entwicklerpräferenzen weit hinausgehen. Sie zwingt zu einer\ngrundlegenden Prüfung, die Führungskräfte aus Engineering und IT-Sicherheit\njedem KI-Anbieter in ihrem Stack stellen sollten: Werden unsere Daten für\nKI-Training verwendet?\n\nGitLabs Antwort lautet: Nein. GitLab trainiert KI-Modelle nicht mit\nKundendaten – auf keiner Preisstufe. KI-Anbieter sind vertraglich verpflichtet,\nKundeneingaben und -ausgaben nicht für eigene Zwecke zu verwenden. Das\n[GitLab AI Transparency Center](https://about.gitlab.com/de-de/ai-transparency-center/)\nmacht diese Zusage prüfbar. Eine zentrale Dokumentation zeigt, welche Modelle\nwelche Funktionen betreiben, wie Daten verarbeitet werden, welche\nUnterauftragsverarbeiter beteiligt sind und wie lange Daten gespeichert werden.\nDas AI Transparency Center dokumentiert außerdem den Compliance-Status jeder\nFunktion – einschließlich der Bestätigung, dass GitLabs aktuelle KI-Funktionen\nnicht als Hochrisikosysteme im Sinne des EU AI Act eingestuft werden. Diesen\nStandard hat GitLab-CEO Bill Staples\n[wiederholt bekräftigt](https://www.linkedin.com/posts/williamstaples_gitlab-1810-agentic-ai-now-open-to-even-activity-7443280763715985408-aHxf)\n– er spiegelt GitLabs Unternehmensmission und das\n[Trust Center](https://trust.gitlab.com/) wider.\n\n\n## Was die Richtlinienänderung tatsächlich bedeutet\n\nGitHub gibt zudem an, dass die Daten mit verbundenen Unternehmen – darunter\nMicrosoft – für KI-Entwicklungszwecke geteilt werden können.\n\nQuellcode zählt häufig zum sensibelsten geistigen Eigentum eines Unternehmens.\nEr kann proprietäre Geschäftslogik abbilden, interne Systemarchitekturen\noffenlegen oder Datenflüsse berühren, die strengen Aufbewahrungs- und\nZugriffsrichtlinien unterliegen. Wenn dieser Code einen KI-Assistenten\ndurchläuft und zum Training von Modellen verwendet wird, die auch Wettbewerbern\ndienen, werden Anbieterdatenpraktiken zu einem konkreten IP-Risiko. Regulierte\nBranchen weltweit – von Finanzdienstleistungen über Gesundheitswesen bis zum\nöffentlichen Sektor – operieren unter Compliance-Anforderungen, die genau\ndiesen Punkt adressieren: dokumentierte, prüfbare Kontrolle über den Umgang\nDritter mit sensiblen Daten.\n\nEine Anbieterrichtlinie, die Datenstandardeinstellungen ändert, ein aktives\nWiderspruchsrecht erfordert und je nach Vertragsstufe unterschiedliche\nSchutzstandards bietet, erzeugt genau die Art unkontrollierbarer Variablen,\ndie Compliance-Teams nicht akzeptieren können. Der\n[Digital Operational Resilience Act (DORA)](https://eur-lex.europa.eu/eli/reg/2022/2554/oj/eng)\n– seit Januar 2025 für europäische Finanzinstitute verbindlich – macht dies\nexplizit: Wesentliche Änderungen an IT-Drittanbieterbeziehungen erfordern\ndokumentierte Bewertung und Nachverfolgung.\n\n\n## Was regulierte Unternehmen von KI-Anbietern tatsächlich benötigen\n\nRegulierte Unternehmen diskutieren nicht mehr grundsätzlich, ob KI in\nEntwicklungs-Workflows eingesetzt werden soll. Der Fokus liegt darauf, dies so\nzu tun, dass es gegenüber Aufsichtsbehörden, Vorständen und Kunden vertretbar\nist. Dabei sind branchenübergreifend konsistente Anforderungen sichtbar\ngeworden.\n\n**Vertragliche Klarheit.** Regulierte Unternehmen benötigen spezifische,\ndokumentierte und bedingungslose Zusagen darüber, was mit ihren Daten geschieht\n– nicht etwas, das je nach Vertragsstufe variiert oder eine Handlung vor einem\nStichtag erfordert.\n\n**Prüfbarkeit.** IT-Risikomanagement-Frameworks verlangen von Unternehmen, die\neingesetzten KI-Systeme zu verstehen und zu validieren: die Trainingsdaten\nhinter diesen Modellen und die beteiligten Drittparteien. Anbieter, die diese\nFragen nicht beantworten können, erzeugen Dokumentationsrisiken für die\nOrganisationen, die sich auf sie stützen.\n\n**Trennung von Anbieterinteressen.** Wenn ein KI-Anbieter Modelle auf Basis\nvon Kundennutzungsdaten trainiert, werden Code und Workflows zu Eingaben für\nein System, das auch Wettbewerbern dient. Für Institutionen mit proprietären\nHandelsalgorithmen, Underwriting-Modellen oder Betrugserkennungssystemen ist\ndas ein konkretes IP-Risiko.\n\n\n## GitLabs Position zur KI-Datenverwaltung\n\nGitLab verwendet Kundendaten nicht zum Training von KI-Modellen. Diese Zusage\ngilt auf jeder Preisstufe; KI-Anbieter sind vertraglich verpflichtet, Eingaben\nund Ausgaben, die mit GitLab-Kunden verbunden sind, nicht für eigene Zwecke zu\nverwenden.\n\nDies ist eine bewusste architektonische und richtlinienbezogene Entscheidung –\nkein Merkmal einer bestimmten Preisstufe. Wie GitLabs\n[Beitrag zur Enterprise-Unabhängigkeit](https://about.gitlab.com/de-de/blog/why-enterprise-independence-matters-more-than-ever-in-devsecops/)\nfesthält, ist Datenverwaltung zu einem \"zunehmend kritischen Faktor bei\nUnternehmensentscheidungen\" geworden – getrieben durch nationale und regionale\nDatenschutzgesetze und wachsende Bedenken hinsichtlich der Kontrolle über\nsensibles geistiges Eigentum.\n\nGitLab ist cloud-neutral und modell-neutral und unterstützt\nSelf-Hosted-Deployments ohne kommerzielle Bindung an einen einzelnen\nCloud-Anbieter oder ein Large Language Model. Diese Unabhängigkeit ist für\nregulierte Unternehmen relevant, die Risiken durch Anbieterkonzentration\nbewerten. Der\n[AI Continuity Plan](https://handbook.gitlab.com/handbook/product/ai/continuity-plan/)\ndokumentiert, wie Anbieterveränderungen gehandhabt werden – einschließlich\nwesentlicher Änderungen daran, wie KI-Anbieter Kundendaten behandeln. Er ist\neine direkte Antwort auf die Governance-Anforderungen unter Frameworks wie\n[DORA](https://handbook.gitlab.com/handbook/legal/dora/).\n\n\n## Die Governance-Lücke, die KI-Teams schließen müssen\n\nGitHubs Richtlinienaktualisierung macht deutlich: Für Unternehmen in\nregulierten Branchen ist das genaue Verständnis des Datenumgangs eines\nKI-Werkzeugs eine Voraussetzung für dessen Einsatz. Das bedeutet, Anbietern\nklare, dokumentierte Antworten auf folgende Fragen abzuverlangen:\n\n1. Werden unsere Daten zum Training von KI-Modellen verwendet?\n2. Wer sind Ihre KI-Modell-Unterauftragsverarbeiter?\n3. Was geschieht, wenn ein Anbieter seine Datenpraktiken ändert?\n4. Lässt sich ein Deployment realisieren, das alle KI-Verarbeitung innerhalb\n   der eigenen Infrastruktur hält?\n5. Welche Haftungsübernahme wird für KI-generierte Ausgaben angeboten?\n\nAnbieter, die diese Fragen klar beantworten und die Antworten in prüfbarer\nForm dokumentieren, sind Anbieter, auf die sich aufbauen lässt.\n**Wer das nicht kann, schafft Compliance-Risiken bei jedem Policy-Update.**\nWenn ein Anbieter Datenpraktiken mit 30 Tagen Ankündigungsfrist ändern kann,\nist das kein partnerschaftlicher Rahmen für regulierte Unternehmen – das ist\nein strukturelles Compliance-Risiko.\n\n> Mehr zu GitLabs Ansatz für KI-Governance im\n> [GitLab AI Transparency Center](https://about.gitlab.com/de-de/ai-transparency-center/).\n",[23,726],{"featured":32,"template":13,"slug":751},"github-copilots-new-policy-for-ai-training-is-a-governance-wake-up-call",{"header":753,"blurb":754,"button":755,"secondaryButton":760},"Beginne noch heute, schneller zu entwickeln","Entdecke, was dein Team mit der intelligenten Orchestrierungsplattform für DevSecOps erreichen kann.\n",{"text":756,"config":757},"Kostenlosen Test starten",{"href":758,"dataGaName":52,"dataGaLocation":759},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/de-de/","feature",{"text":54,"config":761},{"href":56,"dataGaName":57,"dataGaLocation":759},{"promotions":763},[764,777,788,800],{"id":765,"categories":766,"header":767,"text":768,"button":769,"image":774},"ai-modernization",[9],"Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":770,"config":771},"Get your AI maturity score",{"href":772,"dataGaName":773,"dataGaLocation":247},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":775},{"src":776},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":778,"categories":779,"header":780,"text":768,"button":781,"image":785},"devops-modernization",[726,572],"Are you just managing tools or shipping innovation?",{"text":782,"config":783},"Get your DevOps maturity score",{"href":784,"dataGaName":773,"dataGaLocation":247},"/assessments/devops-modernization-assessment/",{"config":786},{"src":787},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":789,"categories":790,"header":792,"text":768,"button":793,"image":797},"security-modernization",[791],"security","Are you trading speed for security?",{"text":794,"config":795},"Get your security maturity score",{"href":796,"dataGaName":773,"dataGaLocation":247},"/assessments/security-modernization-assessment/",{"config":798},{"src":799},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":801,"paths":802,"header":805,"text":806,"button":807,"image":812},"github-azure-migration",[803,804],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","Is your team ready for GitHub's Azure move?","GitHub is already rebuilding around Azure. Find out what it means for you.",{"text":808,"config":809},"See how GitLab compares to GitHub",{"href":810,"dataGaName":811,"dataGaLocation":247},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":813},{"src":787},1777576597178]