[{"data":1,"prerenderedAt":778},["ShallowReactive",2],{"/de-de/blog/10-best-practices-for-using-ai-powered-gitlab-duo-chat":3,"navigation-de-de":41,"banner-de-de":444,"footer-de-de":454,"blog-post-authors-de-de-Michael Friedrich":659,"blog-related-posts-de-de-10-best-practices-for-using-ai-powered-gitlab-duo-chat":673,"next-steps-de-de":715,"blog-promotions-de-de":725},{"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/ee/user/gitlab_duo_chat.html) 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/ee/user/gitlab_duo_chat.html#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/ee/user/gitlab_duo_chat.html#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/ee/user/gitlab_duo_chat.html#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/ee/user/gitlab_duo_examples.html) (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/ee/user/gitlab_duo_chat.html) mit weiteren praktischen Beispielen aktualisiert und einen neuen Abschnitt [GitLab-Duo-Beispiele](https://docs.gitlab.com/ee/user/gitlab_duo_examples.html) (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","GX0EN0hPm-sdTOvhazaVJG0QSO1KOQAt1Sb8poBlyqw",{"data":42},{"logo":43,"freeTrial":48,"sales":53,"login":58,"items":63,"search":372,"minimal":407,"duo":425,"pricingDeployment":434},{"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,187,192,293,353],{"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},"Erkunde unsere Plattform",{"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 Softwareentwicklungszyklus",{"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},"Gründe, die für GitLab sprechen","Erfahre, warum Unternehmen auf GitLab setzen",{"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":169},"Produkt",{"dataNavLevelOne":94},"solutions",{"text":96,"config":97},"Alle Lösungen anzeigen",{"href":98,"dataGaName":94,"dataGaLocation":47},"/de-de/solutions/",[100,125,147],{"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},"Automatisierte Softwarebereitstellung",{"href":106,"dataGaLocation":47,"dataGaName":124},"Automated software delivery",{"title":126,"description":127,"link":128,"items":133},"Sicherheit","Entwickle schneller, ohne die Sicherheit zu gefährden",{"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},"Application Security Testing",{"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":144,"dataGaLocation":47},"/de-de/solutions/software-compliance/",{"title":148,"link":149,"items":154},"Bewertung",{"config":150},{"icon":151,"href":152,"dataGaName":153,"dataGaLocation":47},"DigitalTransformation","/de-de/solutions/visibility-measurement/","visibility and measurement",[155,159,164],{"text":156,"config":157},"Sichtbarkeit und Bewertung",{"href":152,"dataGaLocation":47,"dataGaName":158},"Visibility and Measurement",{"text":160,"config":161},"Wertstrommanagement",{"href":162,"dataGaLocation":47,"dataGaName":163},"/de-de/solutions/value-stream-management/","Value Stream Management",{"text":165,"config":166},"Analysen und Einblicke",{"href":167,"dataGaLocation":47,"dataGaName":168},"/de-de/solutions/analytics-and-insights/","Analytics and insights",{"title":170,"items":171},"GitLab für",[172,177,182],{"text":173,"config":174},"Enterprise",{"href":175,"dataGaLocation":47,"dataGaName":176},"/de-de/enterprise/","enterprise",{"text":178,"config":179},"Kleinunternehmen",{"href":180,"dataGaLocation":47,"dataGaName":181},"/de-de/small-business/","small business",{"text":183,"config":184},"den öffentlichen Sektor",{"href":185,"dataGaLocation":47,"dataGaName":186},"/de-de/solutions/public-sector/","public sector",{"text":188,"config":189},"Preise",{"href":190,"dataGaName":191,"dataGaLocation":47,"dataNavLevelOne":191},"/de-de/pricing/","pricing",{"text":193,"config":194,"link":196,"lists":200,"feature":280},"Ressourcen",{"dataNavLevelOne":195},"resources",{"text":197,"config":198},"Alle Ressourcen anzeigen",{"href":199,"dataGaName":195,"dataGaLocation":47},"/de-de/resources/",[201,234,252],{"title":202,"items":203},"Erste Schritte",[204,209,214,219,224,229],{"text":205,"config":206},"Installieren",{"href":207,"dataGaName":208,"dataGaLocation":47},"/de-de/install/","install",{"text":210,"config":211},"Kurzanleitungen",{"href":212,"dataGaName":213,"dataGaLocation":47},"/de-de/get-started/","quick setup checklists",{"text":215,"config":216},"Lernen",{"href":217,"dataGaLocation":47,"dataGaName":218},"https://university.gitlab.com/","learn",{"text":220,"config":221},"Produktdokumentation",{"href":222,"dataGaName":223,"dataGaLocation":47},"https://docs.gitlab.com/","product documentation",{"text":225,"config":226},"Best-Practice-Videos",{"href":227,"dataGaName":228,"dataGaLocation":47},"/de-de/getting-started-videos/","best practice videos",{"text":230,"config":231},"Integrationen",{"href":232,"dataGaName":233,"dataGaLocation":47},"/de-de/integrations/","integrations",{"title":235,"items":236},"Entdecken",[237,242,247],{"text":238,"config":239},"Kundenerfolge",{"href":240,"dataGaName":241,"dataGaLocation":47},"/de-de/customers/","customer success stories",{"text":243,"config":244},"Blog",{"href":245,"dataGaName":246,"dataGaLocation":47},"/de-de/blog/","blog",{"text":248,"config":249},"Remote",{"href":250,"dataGaName":251,"dataGaLocation":47},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":253,"items":254},"Vernetzen",[255,260,265,270,275],{"text":256,"config":257},"GitLab-Services",{"href":258,"dataGaName":259,"dataGaLocation":47},"/de-de/services/","services",{"text":261,"config":262},"Community",{"href":263,"dataGaName":264,"dataGaLocation":47},"/community/","community",{"text":266,"config":267},"Forum",{"href":268,"dataGaName":269,"dataGaLocation":47},"https://forum.gitlab.com/","forum",{"text":271,"config":272},"Veranstaltungen",{"href":273,"dataGaName":274,"dataGaLocation":47},"/events/","events",{"text":276,"config":277},"Partner",{"href":278,"dataGaName":279,"dataGaLocation":47},"/de-de/partners/","partners",{"backgroundColor":281,"textColor":282,"text":283,"image":284,"link":288},"#2f2a6b","#fff","Perspektiven für die Softwareentwicklung der Zukunft",{"altText":285,"config":286},"the source promo card",{"src":287},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":289,"config":290},"Lies die News",{"href":291,"dataGaName":292,"dataGaLocation":47},"/de-de/the-source/","the source",{"text":294,"config":295,"lists":297},"Unternehmen",{"dataNavLevelOne":296},"company",[298],{"items":299},[300,305,311,313,318,323,328,333,338,343,348],{"text":301,"config":302},"Über",{"href":303,"dataGaName":304,"dataGaLocation":47},"/de-de/company/","about",{"text":306,"config":307,"footerGa":310},"Karriere",{"href":308,"dataGaName":309,"dataGaLocation":47},"/jobs/","jobs",{"dataGaName":309},{"text":271,"config":312},{"href":273,"dataGaName":274,"dataGaLocation":47},{"text":314,"config":315},"Geschäftsführung",{"href":316,"dataGaName":317,"dataGaLocation":47},"/company/team/e-group/","leadership",{"text":319,"config":320},"Team",{"href":321,"dataGaName":322,"dataGaLocation":47},"/company/team/","team",{"text":324,"config":325},"Handbuch",{"href":326,"dataGaName":327,"dataGaLocation":47},"https://handbook.gitlab.com/","handbook",{"text":329,"config":330},"Investor Relations",{"href":331,"dataGaName":332,"dataGaLocation":47},"https://ir.gitlab.com/","investor relations",{"text":334,"config":335},"Trust Center",{"href":336,"dataGaName":337,"dataGaLocation":47},"/de-de/security/","trust center",{"text":339,"config":340},"AI Transparency Center",{"href":341,"dataGaName":342,"dataGaLocation":47},"/de-de/ai-transparency-center/","ai transparency center",{"text":344,"config":345},"Newsletter",{"href":346,"dataGaName":347,"dataGaLocation":47},"/company/contact/#contact-forms","newsletter",{"text":349,"config":350},"Presse",{"href":351,"dataGaName":352,"dataGaLocation":47},"/press/","press",{"text":354,"config":355,"lists":356},"Kontakt",{"dataNavLevelOne":296},[357],{"items":358},[359,362,367],{"text":54,"config":360},{"href":56,"dataGaName":361,"dataGaLocation":47},"talk to sales",{"text":363,"config":364},"Support-Portal",{"href":365,"dataGaName":366,"dataGaLocation":47},"https://support.gitlab.com","support portal",{"text":368,"config":369},"Kundenportal",{"href":370,"dataGaName":371,"dataGaLocation":47},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":373,"login":374,"suggestions":381},"Schließen",{"text":375,"link":376},"Um Repositories und Projekte zu durchsuchen, melde dich an bei",{"text":377,"config":378},"gitlab.com",{"href":61,"dataGaName":379,"dataGaLocation":380},"search login","search",{"text":382,"default":383},"Vorschläge",[384,386,391,393,398,403],{"text":76,"config":385},{"href":81,"dataGaName":76,"dataGaLocation":380},{"text":387,"config":388},"Code Suggestions (KI)",{"href":389,"dataGaName":390,"dataGaLocation":380},"/de-de/solutions/code-suggestions/","Code Suggestions (AI)",{"text":110,"config":392},{"href":112,"dataGaName":110,"dataGaLocation":380},{"text":394,"config":395},"GitLab auf AWS",{"href":396,"dataGaName":397,"dataGaLocation":380},"/de-de/partners/technology-partners/aws/","GitLab on AWS",{"text":399,"config":400},"GitLab auf Google Cloud",{"href":401,"dataGaName":402,"dataGaLocation":380},"/de-de/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":404,"config":405},"Warum GitLab?",{"href":89,"dataGaName":406,"dataGaLocation":380},"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":202,"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},"Erfahre mehr über GitLab Duo",{"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},{"freeTrial":435,"mobileIcon":440,"desktopIcon":442},{"text":436,"config":437},"Zurück zur Preisübersicht",{"href":190,"dataGaName":438,"dataGaLocation":412,"icon":439},"back to pricing","GoBack",{"altText":414,"config":441},{"src":416,"dataGaName":417,"dataGaLocation":412},{"altText":414,"config":443},{"src":420,"dataGaName":417,"dataGaLocation":412},{"title":445,"button":446,"config":451},"Sieh dir an, wie agentische KI die Softwarebereitstellung transformiert",{"text":447,"config":448},"GitLab Transcend jetzt ansehen",{"href":449,"dataGaName":450,"dataGaLocation":47},"/de-de/events/transcend/virtual/","transcend event",{"layout":452,"icon":453,"disabled":12},"release","AiStar",{"data":455},{"text":456,"source":457,"edit":463,"contribute":468,"config":473,"items":478,"minimal":651},"Git ist eine Marke von Software Freedom Conservancy und unsere Verwendung von „GitLab“ erfolgt unter Lizenz.",{"text":458,"config":459},"Quelltext der Seite anzeigen",{"href":460,"dataGaName":461,"dataGaLocation":462},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":464,"config":465},"Diese Seite bearbeiten",{"href":466,"dataGaName":467,"dataGaLocation":462},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":469,"config":470},"Beteilige dich",{"href":471,"dataGaName":472,"dataGaLocation":462},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":474,"facebook":475,"youtube":476,"linkedin":477},"https://x.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[479,502,557,584,618],{"title":65,"links":480,"subMenu":485},[481],{"text":482,"config":483},"DevSecOps-Plattform",{"href":74,"dataGaName":484,"dataGaLocation":462},"devsecops platform",[486],{"title":188,"links":487},[488,492,497],{"text":489,"config":490},"Tarife anzeigen",{"href":190,"dataGaName":491,"dataGaLocation":462},"view plans",{"text":493,"config":494},"Vorteile von Premium",{"href":495,"dataGaName":496,"dataGaLocation":462},"/de-de/pricing/premium/","why premium",{"text":498,"config":499},"Vorteile von Ultimate",{"href":500,"dataGaName":501,"dataGaLocation":462},"/de-de/pricing/ultimate/","why ultimate",{"title":503,"links":504},"Lösungen",[505,510,513,515,520,525,529,532,535,540,542,544,547,552],{"text":506,"config":507},"Digitale Transformation",{"href":508,"dataGaName":509,"dataGaLocation":462},"/de-de/topics/digital-transformation/","digital transformation",{"text":511,"config":512},"Sicherheit und Compliance",{"href":130,"dataGaName":137,"dataGaLocation":462},{"text":122,"config":514},{"href":106,"dataGaName":107,"dataGaLocation":462},{"text":516,"config":517},"Agile Entwicklung",{"href":518,"dataGaName":519,"dataGaLocation":462},"/de-de/solutions/agile-delivery/","agile delivery",{"text":521,"config":522},"Cloud-Transformation",{"href":523,"dataGaName":524,"dataGaLocation":462},"/de-de/topics/cloud-native/","cloud transformation",{"text":526,"config":527},"SCM",{"href":119,"dataGaName":528,"dataGaLocation":462},"source code management",{"text":110,"config":530},{"href":112,"dataGaName":531,"dataGaLocation":462},"continuous integration & delivery",{"text":160,"config":533},{"href":162,"dataGaName":534,"dataGaLocation":462},"value stream management",{"text":536,"config":537},"GitOps",{"href":538,"dataGaName":539,"dataGaLocation":462},"/de-de/solutions/gitops/","gitops",{"text":173,"config":541},{"href":175,"dataGaName":176,"dataGaLocation":462},{"text":178,"config":543},{"href":180,"dataGaName":181,"dataGaLocation":462},{"text":545,"config":546},"Öffentlicher Sektor",{"href":185,"dataGaName":186,"dataGaLocation":462},{"text":548,"config":549},"Bildungswesen",{"href":550,"dataGaName":551,"dataGaLocation":462},"/de-de/solutions/education/","education",{"text":553,"config":554},"Finanzdienstleistungen",{"href":555,"dataGaName":556,"dataGaLocation":462},"/de-de/solutions/finance/","financial services",{"title":193,"links":558},[559,561,563,565,568,570,572,574,576,578,580,582],{"text":205,"config":560},{"href":207,"dataGaName":208,"dataGaLocation":462},{"text":210,"config":562},{"href":212,"dataGaName":213,"dataGaLocation":462},{"text":215,"config":564},{"href":217,"dataGaName":218,"dataGaLocation":462},{"text":220,"config":566},{"href":222,"dataGaName":567,"dataGaLocation":462},"docs",{"text":243,"config":569},{"href":245,"dataGaName":246,"dataGaLocation":462},{"text":238,"config":571},{"href":240,"dataGaName":241,"dataGaLocation":462},{"text":248,"config":573},{"href":250,"dataGaName":251,"dataGaLocation":462},{"text":256,"config":575},{"href":258,"dataGaName":259,"dataGaLocation":462},{"text":261,"config":577},{"href":263,"dataGaName":264,"dataGaLocation":462},{"text":266,"config":579},{"href":268,"dataGaName":269,"dataGaLocation":462},{"text":271,"config":581},{"href":273,"dataGaName":274,"dataGaLocation":462},{"text":276,"config":583},{"href":278,"dataGaName":279,"dataGaLocation":462},{"title":294,"links":585},[586,588,590,592,594,596,598,602,607,609,611,613],{"text":301,"config":587},{"href":303,"dataGaName":296,"dataGaLocation":462},{"text":306,"config":589},{"href":308,"dataGaName":309,"dataGaLocation":462},{"text":314,"config":591},{"href":316,"dataGaName":317,"dataGaLocation":462},{"text":319,"config":593},{"href":321,"dataGaName":322,"dataGaLocation":462},{"text":324,"config":595},{"href":326,"dataGaName":327,"dataGaLocation":462},{"text":329,"config":597},{"href":331,"dataGaName":332,"dataGaLocation":462},{"text":599,"config":600},"Sustainability",{"href":601,"dataGaName":599,"dataGaLocation":462},"/sustainability/",{"text":603,"config":604},"Vielfalt, Inklusion und Zugehörigkeit",{"href":605,"dataGaName":606,"dataGaLocation":462},"/de-de/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":334,"config":608},{"href":336,"dataGaName":337,"dataGaLocation":462},{"text":344,"config":610},{"href":346,"dataGaName":347,"dataGaLocation":462},{"text":349,"config":612},{"href":351,"dataGaName":352,"dataGaLocation":462},{"text":614,"config":615},"Transparenzerklärung zu moderner Sklaverei",{"href":616,"dataGaName":617,"dataGaLocation":462},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":619,"links":620},"Nimm Kontakt auf",[621,624,629,631,636,641,646],{"text":622,"config":623},"Sprich mit einem Experten/einer Expertin",{"href":56,"dataGaName":57,"dataGaLocation":462},{"text":625,"config":626},"Support",{"href":627,"dataGaName":628,"dataGaLocation":462},"https://support.gitlab.com/hc/en-us/articles/11626483177756-GitLab-Support","get help",{"text":368,"config":630},{"href":370,"dataGaName":371,"dataGaLocation":462},{"text":632,"config":633},"Status",{"href":634,"dataGaName":635,"dataGaLocation":462},"https://status.gitlab.com/","status",{"text":637,"config":638},"Nutzungsbedingungen",{"href":639,"dataGaName":640,"dataGaLocation":462},"/terms/","terms of use",{"text":642,"config":643},"Datenschutzerklärung",{"href":644,"dataGaName":645,"dataGaLocation":462},"/de-de/privacy/","privacy statement",{"text":647,"config":648},"Cookie-Einstellungen",{"dataGaName":649,"dataGaLocation":462,"id":650,"isOneTrustButton":12},"cookie preferences","ot-sdk-btn",{"items":652},[653,655,657],{"text":637,"config":654},{"href":639,"dataGaName":640,"dataGaLocation":462},{"text":642,"config":656},{"href":644,"dataGaName":645,"dataGaLocation":462},{"text":647,"config":658},{"dataGaName":649,"dataGaLocation":462,"id":650,"isOneTrustButton":12},[660],{"id":661,"title":18,"body":8,"config":662,"content":664,"description":8,"extension":28,"meta":668,"navigation":12,"path":669,"seo":670,"stem":671,"__hash__":672},"blogAuthors/en-us/blog/authors/michael-friedrich.yml",{"template":663},"BlogAuthor",{"name":18,"config":665},{"headshot":666,"ctfId":667},"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",[674,690,702],{"content":675,"config":688},{"title":676,"description":677,"authors":678,"body":681,"heroImage":682,"date":683,"category":9,"tags":684},"GitLab und Vertex AI auf Google Cloud: Agentenbasierte Softwareentwicklung","Erfahre, wie Google Cloud-Kunden auf GitLab und Vertex AI setzen – für Foundation Models, Enterprise-Kontrollen und die Vielfalt von Model Garden.\n",[679,680],"Regnard Raquedan","Rajesh Agadi","GitLab Duo Agent Platform verändert die Art und Weise, wie Unternehmen Software entwickeln, absichern und bereitstellen. Seit der allgemeinen Verfügbarkeit im Januar 2026 bringt die Plattform agentenbasierte KI in jede Phase des Software Development Lifecycle. Duo Agent Platform ist eine intelligente Orchestrierungsebene, auf der Softwareteams und ihre spezialisierten Agenten gemeinsam planen, programmieren, Reviews durchführen und Sicherheitslücken beheben.\n\nIm Rahmen dieser Partnerschaft automatisiert [GitLab Duo Agent Platform](https://about.gitlab.com/de-de/gitlab-duo-agent-platform/) die Orchestrierung und den Lifecycle-Kontext der Softwareentwicklung – über die Integration mit Vertex AI auf Google Cloud, das die Modellebene für Agent-Aufrufe bereitstellt. Softwareteams arbeiten weiterhin mit Issues, Merge Requests, Pipelines und Security-Workflows, während die Inferenz der Google Cloud-Konfiguration folgt, die bereits definiert wurde.\n\nFortschritte bei den Vertex AI-Modellen von Google Cloud erweitern die Einsatzmöglichkeiten von GitLab Duo Agent Platform. Kunden erhalten eine KI-gestützte DevSecOps-Steuerungsebene in GitLab, gestützt auf eine leistungsfähige KI-Infrastruktur in Vertex AI und die flexiblen Deployment- und Integrationsoptionen von Duo Agent Platform. In Kombination ermöglicht das leistungsfähigere, kontrollierte agentenbasierte Workflows im Enterprise-Maßstab.\n\n![Konzeptionelle Darstellung der GitLab Duo Agent Platform, integriert mit Google Clouds Vertex AI, für agentenbasierte Softwareentwicklung und kontrollierte KI-Workflows](https://res.cloudinary.com/about-gitlab-com/image/upload/v1776165990/b7jlux9kydafncwy8spc.png)\n\n\n## Agenten über den gesamten Lifecycle hinweg\n\n\nViele KI-Tools konzentrieren sich auf eine einzelne Aufgabe: Code schneller generieren. GitLab Duo Agent Platform geht weiter. Die Plattform orchestriert KI-Agenten über den gesamten Software Development Lifecycle (SDLC) – von der Planung über das Security-Review bis zur Auslieferung, teamübergreifend und über viele Projekte und Releases hinweg. In diesem Maßstab sind KI-Coding-Assistenten zwar notwendig für kontinuierliche Innovation, aber nicht ausreichend.\n\nEinzelne Coding-Assistenten erfassen selten den vollständigen Zustand eines Projekts. Backlog-Strukturen, offene Merge Requests, fehlgeschlagene Jobs und Sicherheitsbefunde befinden sich in GitLab – aber ein separates Chat-Fenster in einem Coding-Assistenten übernimmt dieses Gesamtbild des SDLC nicht. Die Lücke zeigt sich in manuellen Übergaben, wiederholten Erklärungen an eine KI ohne Kontext und Governance-Teams, die Datenflüsse über Tools hinweg nachvollziehen müssen, die nie als einheitliches System konzipiert wurden.\n\nGitLab Duo Agent Platform schließt diese Lücke, indem Agenten und Flows auf denselben Objekten arbeiten, die Entwicklungsteams täglich nutzen. Vertex AI liefert dabei die Modelle und Services, die diese Agenten aufrufen, wenn Google Cloud als Inferenz-Umgebung gewählt wird – wobei GitLabs AI Gateway den Zugriff vermittelt, sodass Administratoren jederzeit nachvollziehen können, was womit verbunden ist. So analysiert beispielsweise der GitLab Duo Planner Agent Backlogs, gliedert Epics in strukturierte Aufgaben und wendet Priorisierungs-Frameworks an, um Teams bei der Entscheidung zu unterstützen, was als Nächstes umgesetzt werden soll. Der Security Analyst Agent priorisiert Schwachstellen, beschreibt Risiken in verständlicher Sprache und empfiehlt Behebungsmaßnahmen in priorisierter Reihenfolge. Integrierte Flows verbinden diese Agenten zu durchgängigen Prozessen, ohne dass Entwicklungsteams jeden Übergabeschritt manuell steuern müssen.\n\nAgentic Chat in GitLab Duo Agent Platform verbindet das Gesamterlebnis für Entwicklungsteams. Abfragen in natürlicher Sprache liefern kontextbezogene Antworten mit mehrstufigem Reasoning, das auf den vollständigen Projektzustand zugreift: Issues, Merge Requests, Pipelines, Sicherheitsbefunde und Codebase. Da GitLab als System of Record für den SDLC mit einem einheitlichen Datenmodell dient, arbeiten GitLab Duo-Agenten mit Lifecycle-Kontext, der über die Reichweite eigenständiger, toolspezifischer KI-Assistenten hinausgeht.\n\n\n### Verstärkt durch Vertex AI\n\n\nGitLab Duo Agent Platform ist modellflexibel konzipiert und leitet verschiedene Aufgaben an verschiedene Modelle weiter – je nachdem, welches Modell für die jeweilige Aufgabe am besten geeignet ist. Diese Architekturentscheidung zahlt sich auf Google Cloud aus, wo Vertex AI als verwaltete Umgebung für Foundation Models und zugehörige Services fungiert und ein breites Modell-Ökosystem sowie verwaltete Infrastruktur bereitstellt, die die Plattformfähigkeiten erweitert.\n\nDie neuesten Generationen von KI-Modellen, die über Vertex AI verfügbar sind, bieten deutliche Verbesserungen bei Reasoning, Tool-Nutzung und Long-Context-Verständnis gegenüber früheren Versionen – genau die Eigenschaften, auf die GitLabs Agenten bei der Arbeit mit vielen Projekten und Teams mit großen, komplexen Codebases angewiesen sind. Längere Kontextfenster und umfangreichere Tool-Integration in den zugrunde liegenden Modellen erweitern das, was Agenten in einem einzigen Durchlauf erreichen können – besonders relevant bei Aufgaben wie einer umfassenden Backlog-Analyse oder dem Security-Review von Monorepos.\n\n[Vertex AI Model Garden](https://cloud.google.com/model-garden) bietet mit Zugang zu einer breiten Palette von Foundation Models die nötige Auswahl, um Entscheidungen auf Basis von Leistung, Kosten und regulatorischen Anforderungen zu treffen – statt an einen einzelnen Anbieter gebunden zu sein.\n\nDarüber hinaus können GitLab-Kunden Bring Your Own Model (BYOM) für Duo Agent Platform nutzen, sodass zugelassene Anbieter und Gateways dort eingebunden werden, wo das eigene Sicherheitsmodell es vorsieht. In GitLabs [Beitrag zum 18.9-Release über Self-Hosted Duo Agent Platform und BYOM](https://about.gitlab.com/de-de/blog/agentic-ai-enterprise-control-self-hosted-duo-agent-platform-and-byom/) wird beschrieben, wie diese Anbindung funktioniert. Mit dieser Deployment-Option erhalten Kunden Zugang zu einem breiteren Spektrum an Modelloptionen, die sich auf den eigenen Entwicklungsprozess zuschneiden lassen: das richtige Modell für den richtigen Workflow mit den richtigen Leitplanken.\n\nFür GitLab war die Entscheidung, auf Vertex AI zu bauen, von der Anforderung an Enterprise-taugliche Zuverlässigkeit und breite Modellverfügbarkeit getrieben. Vertex AI und Model Garden abstrahieren das LLM-Hosting vollständig – das bedeutet schnelle Versionsbereitstellung, robuste Sicherheit und strikte Governance sind in die Integration eingebaut. Über Gemini-Modelle hinaus bietet Vertex AI globalen, latenzarmen Zugang zu einem umfangreichen Katalog von Drittanbieter- und Open-Source-Modellen.\n\nIn Kombination mit Google Clouds Ansatz für Datenschutz und Modellschutz war Vertex AI die passende Wahl, um GitLabs Developer Experience der nächsten Generation zu unterstützen.\n\nDurch die Integration von Vertex AI Model Garden in das Backend erweitert GitLab seine DevSecOps-Plattform, ohne den Nutzenden zusätzliche Komplexität aufzubürden. Entwicklungsteams müssen die zugrunde liegenden LLMs weder evaluieren noch verwalten – stattdessen nutzen sie einen optimierten, KI-gestützten Workflow für die Entwicklung ihrer Anwendungen.\n\nGitLab abstrahiert die Cloud-Orchestrierung vollständig, sodass sich Entwicklungsteams ganz auf das Schreiben von Code konzentrieren können, während Vertex AI die unterstützenden Features und Funktionen bereitstellt.\n\n\n## Was das für Kunden auf Google Cloud bedeutet\n\n\nGitLab Duo Agent Platform liefert bereits heute KI-Agenten, die über den gesamten Software-Lifecycle hinweg innerhalb eines einzigen, kontrollierten System of Record arbeiten. Auf Google Cloud ermöglicht das schnelle Innovation, während Vertex AI die Modell- und Infrastrukturebene kontinuierlich weiterentwickelt.\n\nFür Google Cloud-Kunden bedeutet diese Integration eine optimierte Softwarebereitstellung bei gleichzeitig strikter Enterprise-Governance. Für Platform-Engineering-Teams bedeutet es, zu standardisieren, welche Vertex-gestützten Modelle Vorschläge, Analysen und Behebungen innerhalb von GitLab bereitstellen – statt Dutzende clientseitiger Tools zu katalogisieren. Sicherheitsprogramme profitieren, wenn Agenten Fixes dort vorschlagen und validieren, wo Entwicklungsteams bereits Befunde bearbeiten, was Kontextwechsel reduziert und Arbeit vermeidet, die sonst in nicht verwaltete Kanäle abfließen würde.\n\nAus Sicht der Cloud-Ökonomie und -Governance sorgt die Steuerung der Agent-Inferenz über Vertex innerhalb von GitLab dafür, dass die Nutzung näher an den bestehenden Vereinbarungen und Kontrollen auf Google Cloud bleibt – das hilft, doppelte Ausgaben und Schattenpfade zu vermeiden, die am Einkauf vorbeilaufen.\n\nDa Vertex AI als zugrunde liegender Infrastrukturanbieter für GitLab Duo Agent Platform dient, können Unternehmen die Produktivität ihrer Entwicklungsteams deutlich steigern – ohne den Overhead und das Risiko fragmentierter KI-Toolchains. Teams bleiben innerhalb eines einzigen, sicheren System of Record abgestimmt und können Anwendungen schneller entwickeln und mit Zuversicht ausliefern.\n\nDie Zusammenarbeit zwischen GitLab und Google Cloud besteht seit 2018. Heute stellt sie einen der umfassendsten Wege dar, um von KI-Experimenten zu vollständig kontrollierter, agentenbasierter Softwareentwicklung auf Google Cloud zu gelangen. Da sich beide Plattformen kontinuierlich weiterentwickeln – GitLab mit erweiterter Agent-Orchestrierung und Developer-Kontext, Vertex AI mit weiter steigender Modellleistung und Agent-Infrastruktur – wird der Mehrwert für gemeinsame Kunden weiter wachsen.\n\n> [Starte eine kostenlose Testversion von GitLab Duo Agent Platform](https://about.gitlab.com/de-de/free-trial/), um GitLab und Vertex AI auf Google Cloud kennenzulernen.\n","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663121/Blog/Hero%20Images/LogoLockupPlusLight.png","2026-04-14",[23,279,685,686,687],"google","news","product",{"featured":12,"template":13,"slug":689},"gitlab-and-vertex-ai-on-google-cloud",{"content":691,"config":700},{"heroImage":692,"title":693,"description":694,"authors":695,"date":697,"category":9,"tags":698,"body":699},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772643639/sapu29gmlgtwvhggmj6k.png","GitLab Duo Agent Platform erweitern: Beliebige Tools per MCP verbinden","Externe Tools wie Jira über MCP direkt in GitLab Duo Agent Platform einbinden – Schritt-für-Schritt-Einrichtung mit drei praxisnahen Workflow-Demos.",[696],"Albert Rabassa","2026-03-05",[9,687,24],"Die Verwaltung von Software-Entwicklungsprojekten bedeutet oft, zwischen verschiedenen Tools zu wechseln: Issues in Jira verfolgen, Code in der IDE schreiben, in GitLab zusammenarbeiten. Dieses ständige Wechseln zwischen Plattformen unterbricht den Fokus und verlangsamt die Lieferung.\n\n\n\nMit der MCP-Unterstützung des [GitLab Duo Agent Platform](https://about.gitlab.com/topics/ai/model-context-protocol/) lassen sich Jira und andere MCP-kompatible Tools direkt in die KI-gestützte Entwicklungsumgebung einbinden. Issues abfragen, Tickets aktualisieren, Workflows synchronisieren – per natürlicher Sprache, direkt aus der IDE.\n\n\n\n## Was in diesem Tutorial vermittelt wird\n\n\n\nDieses Tutorial zeigt:\n\n\n\n* **Einrichtung der Jira/Atlassian OAuth-Anwendung** für sichere Authentifizierung\n\n* **Konfiguration des GitLab Duo Agent Platform** als MCP-Client\n\n* **Drei praxisnahe Anwendungsfälle** mit realen Workflows\n\n\n\n## Voraussetzungen\n\n\n\nVor dem Start sollten folgende Voraussetzungen erfüllt sein:\n\n\n\n| Voraussetzung | Details |\n| ---- | ----- |\n| **GitLab-Instanz** | GitLab 18.8+ mit aktiviertem Duo Agent Platform |\n| **Jira-Konto** | Jira Cloud-Instanz mit Admin-Zugriff zum Erstellen von OAuth-Anwendungen |\n| **IDE** | Visual Studio Code mit installierter GitLab Workflow-Erweiterung |\n| **MCP-Unterstützung** | MCP-Unterstützung in GitLab aktiviert |\n\n\n\n## Architektur verstehen\n\n\n\nDer GitLab Duo Agent Platform agiert als **MCP-Client** und stellt eine Verbindung zum Atlassian MCP-Server her, um auf Jira-Projektmanagement-Daten zuzugreifen. Der Atlassian MCP-Server übernimmt die Authentifizierung, übersetzt natürlichsprachliche Anfragen in API-Aufrufe und gibt strukturierte Daten zurück – bei gleichzeitiger Einhaltung von Sicherheits- und Audit-Anforderungen.\n\n\n\n## Teil 1: Jira OAuth-Anwendung konfigurieren\n\n\n\nUm den GitLab Duo Agent Platform sicher mit der Jira-Instanz zu verbinden, muss eine OAuth 2.0-Anwendung in der Atlassian Developer Console erstellt werden. Diese erteilt dem GitLab MCP-Server autorisierten Zugriff auf die Jira-Daten.\n\n\n\n### Einrichtungsschritte\n\n\n\nFür die manuelle Konfiguration sind folgende Schritte erforderlich:\n\n\n\n1. **Atlassian Developer Console aufrufen**\n\n\n   * [developer.atlassian.com/console/myapps](https://developer.atlassian.com/console/myapps) öffnen\n\n\n   * Mit dem Atlassian-Konto anmelden\n\n\n2. **Neue OAuth 2.0-App erstellen**\n\n\n   * **Create** → **OAuth 2.0 integration** klicken\n\n\n   * Namen eingeben (z. B. „gitlab-dap-mcp\")\n\n\n   * Nutzungsbedingungen akzeptieren und **Create** klicken\n\n\n3. **Berechtigungen konfigurieren**\n\n\n   * In der linken Seitenleiste zu **Permissions** navigieren\n\n\n   * **Jira API** hinzufügen und folgende Scopes konfigurieren:\n\n\n     * `read:jira-work` — Issues, Projekte und Boards lesen\n\n\n     * `write:jira-work` — Issues erstellen und aktualisieren\n\n\n     * `read:jira-user` — Benutzerinformationen lesen\n\n\n4. **Autorisierung einrichten**\n\n\n   * In der linken Seitenleiste zu **Authorization** navigieren\n\n\n   * Callback-URL für die Umgebung hinzufügen (`https://gitlab.com/oauth/callback`)\n\n\n   * Änderungen speichern\n\n\n5. **Zugangsdaten abrufen**\n\n\n   * Zu **Settings** navigieren\n\n\n   * **Client ID** und **Client Secret** kopieren\n\n\n   * Sicher aufbewahren – diese werden für die MCP-Konfiguration benötigt\n\n\n\n\n### Interaktive Anleitung: Jira OAuth-Einrichtung\n\n\n\nAuf das Bild klicken, um zu beginnen.\n\n\n\n\n\n[![Jira OAuth setup tour](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772644850/wnzfoq43nkkfmgdqldmr.png)](https://gitlab.navattic.com/jira-oauth-setup)\n\n\n\n\n\n## Teil 2: GitLab Duo Agent Platform MCP-Client konfigurieren\n\n\n\nMit den bereitgestellten OAuth-Zugangsdaten kann der GitLab Duo Agent Platform nun für die Verbindung mit dem Atlassian MCP-Server konfiguriert werden.\n\n\n\n### MCP-Konfigurationsdatei erstellen\n\n\n\nDie MCP-Konfigurationsdatei im GitLab-Projekt unter `.gitlab/duo/mcp.json` erstellen:\n\n```json\n{\n  \"mcpServers\": {\n    \"atlassian\": {\n      \"type\": \"http\",\n      \"url\": \"https://mcp.atlassian.com/v1/mcp\",\n      \"auth\": {\n        \"type\": \"oauth2\",\n        \"clientId\": \"YOUR_CLIENT_ID\",\n        \"clientSecret\": \"YOUR_CLIENT_SECRET\",\n        \"authorizationUrl\": \"https://auth.atlassian.com/oauth/authorize\",\n        \"tokenUrl\": \"https://auth.atlassian.com/oauth/token\"\n      },\n      \"approvedTools\": true\n    }\n  }\n}\n```\n\n\n\n`YOUR_CLIENT_ID` und `YOUR_CLIENT_SECRET` durch die in Teil 1 generierten Zugangsdaten ersetzen.\n\n\n\n### MCP in GitLab aktivieren\n\n\n\n1. Zu **Gruppeneinstellungen** → **GitLab Duo** → **Konfiguration** navigieren\n\n2. „Externe MCP-Tools erlauben\" aktivieren\n\n\n\n### Verbindung überprüfen\n\n\n\nDas Projekt in VS Code öffnen und im GitLab Duo Agent Platform Chat eingeben:\n\n```text\nWhat MCP tools do you have access to?\n```\n\n\n\nDann\n```text\nTest the MCP JIRA configuration in this project\n```\n\n\n\nAnschließend erfolgt eine Weiterleitung von der IDE zur MCP Atlassian-Website zur Zugriffsgenehmigung:\n\n\n\n![Redirect to MCP Atlassian website](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772643461/z5acqjgguh0damnnde9g.png \"Redirect to MCP Atlassian website\")\n\n\n\n\u003Cbr>\u003C/br>\n\n\n\n![Approve access](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772643461/rwowamm8nsubhpixtn3i.png \"Approve access\")\n\n\n\n\u003Cbr>\u003C/br>\n\n\n\n![Select your JIRA instance and approve](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772643461/chuzqd0jeptfwvoj7wjr.png \"Select your JIRA instance and approve\")\n\n\n\n\u003Cbr>\u003C/br>\n\n\n\n![Success!](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772643462/bsgti5iste2bzck19o5y.png \"Success!\")\n\n\n\n\u003Cbr>\u003C/br>\n\n\n\n### Überprüfung über das MCP-Dashboard\n\n\n\nGitLab bietet zudem ein integriertes **MCP-Dashboard** direkt in der IDE.\n\n\n\nIn VS Code oder VSCodium die Befehlspalette öffnen (`Cmd+Shift+P` unter macOS, `Ctrl+Shift+P` unter Windows/Linux) und nach **„GitLab: Show MCP Dashboard\"** suchen. Das Dashboard öffnet sich in einem neuen Editor-Tab und zeigt:\n\n\n\n* **Verbindungsstatus** für jeden konfigurierten MCP-Server\n\n* **Verfügbare Tools** des Servers (z. B. `jira_get_issue`, `jira_create_issue`)\n\n* **Server-Logs** mit Echtzeit-Protokollierung der aufgerufenen Tools\n\n\n\n![MCP servers dashboard and status](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772643462/mmvdfchucacsydivowvn.png \"MCP servers dashboard and status\")\n\n\n\n\u003Cbr>\u003C/br>\n\n\n\n![Server details and permissions](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772643462/tcocgdvovp2dl42pvfn8.png \"Server details and permissions\")\n\n\n\n\u003Cbr>\u003C/br>\n\n\n\n![MCP Server logs](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772643466/mougvqqk1bozchaufsci.png \"MCP Server logs\")\n\n\n\n\u003Cbr>\u003C/br>\n\n\n\n### Interaktive Anleitung: MCP testen\n\n\n\n\u003Ciframe src=\"https://player.vimeo.com/video/1170005495?badge=0&amp;autopause=0&amp; player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"Testing MCP\">\u003C/iframe>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n\n\n## Teil 3: Anwendungsfälle in der Praxis\n\n\n\nMit der konfigurierten Integration lassen sich drei praxisnahe Workflows erkunden, die die Möglichkeiten der Jira-Anbindung an den GitLab Duo Agent Platform demonstrieren.\n\n\n\n### Planungsassistent\n\n\n\n**Szenario:** Vorbereitung auf Sprint-Planung – schnelle Bewertung des Backlogs, Verstehen von Prioritäten, Identifizierung von Blockern.\n\n\n\nDiese Demo zeigt:\n\n\n\n* Backlog abfragen\n\n* Nicht zugewiesene hochpriorisierte Issues identifizieren\n\n* KI-gestützte Sprint-Empfehlungen erhalten\n\n\n\n#### Beispiel-Prompts\n\n\n\nIm GitLab Duo Agent Platform Chat ausprobieren:\n\n```text\nList all the unassigned issues in JIRA for project GITLAB\n```\n\n```text\nSuggest the two top issues to prioritize and summarize them. Assign them to me.\n```\n\n\n### Interaktive Anleitung: Projektplanung\n\n\n\n\u003Ciframe src=\"https://player.vimeo.com/video/1170005462?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"Project Planning\">\u003C/iframe>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n\n\n### Issue-Triage und Erstellung aus dem Code\n\n\n\n**Szenario:** Beim Code-Review wird ein Bug entdeckt – ein Jira-Issue mit relevantem Kontext erstellen, ohne die IDE zu verlassen.\n\n\n\nDiese Demo zeigt:\n\n\n\n* Einen Bug beim Coding identifizieren\n\n* Ein detailliertes Jira-Issue per natürlicher Sprache erstellen\n\n* Issue-Felder automatisch mit Code-Kontext befüllen\n\n* Das Issue mit dem aktuellen Branch verknüpfen\n\n\n\n#### Beispiel-Prompts\n```text\nSearch in JIRA for a bug related to: Null pointer exception in PaymentService.processRefund().\n\nIf it does not exist create it with all the context needed from the code. Find possible blockers that this bug may cause.\n```\n\n```text\nCreate a new branch called issue-gitlab-18, checkout, and link it to the issue we just created. Assign the JIRA issue to me and mark it as in-progress.\n```\n\n\n\n### Interaktive Anleitung: Bug-Review und Aufgaben-Automatisierung\n\n\n\n\u003Ciframe src=\"https://player.vimeo.com/video/1170005368?badge=0&amp;autopause=0&amp; player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"Bug Review\">\u003C/iframe>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n\n\n### Systemübergreifende Incident-Untersuchung\n\n\n\n**Szenario:** Ein Production-Incident tritt auf – Informationen aus Jira, GitLab Project Management, Codebase und Merge Requests werden korreliert, um die Ursache zu identifizieren.\n\n\n\nDiese Demo zeigt:\n\n\n\n* Incident-Details aus Jira abrufen\n\n* Mit aktuellen Merge Requests in GitLab korrelieren\n\n* Möglicherweise betroffene Code-Änderungen identifizieren\n\n* Eine Incident-Timeline generieren\n\n* Einen Behebungsplan entwerfen und als Work Item in GitLab erstellen\n\n\n\n#### Beispiel-Prompts\n\n```text\n\"We have a production incident INC-1 about checkout failures. Can you help me investigate with all available context?\"\n```\n\n```text\nCreate a timeline of events for incident INC-1 including related Jira issues and recent deployments\n```\n\n```text\nPropose a remediation plan\n```\n\n\n\n### Interaktive Anleitung: Systemübergreifende Fehleranalyse und Behebung\n\n\n\n\u003Ciframe src=\"https://player.vimeo.com/video/1170005413?badge=0&amp;autopause=0&amp; player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"Cross System Investigation\">\u003C/iframe>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n\n\n## Fehlerbehebung\n\n\n\nHäufige Einrichtungsprobleme und schnelle Lösungen:\n\n\n\n| Problem | Lösung |\n| ----- | ----- |\n| „MCP server not found\" | Prüfen, ob die Datei `mcp.json` am richtigen Ort liegt und korrekt formatiert ist |\n| „Authentication failed\" | OAuth-Zugangsdaten und Scopes in Atlassian überprüfen |\n| „No Jira tools available\" | VS Code nach dem Aktualisieren von `mcp.json` neu starten und MCP in GitLab aktivieren |\n| „Connection timeout\" | Netzwerkverbindung zu `mcp.atlassian.com` prüfen |\n\n\u003Cbr/>\nDetaillierte Informationen zur Fehlerbehebung: [GitLab MCP-Clients-Dokumentation](https://docs.gitlab.com/user/gitlab_duo/model_context_protocol/mcp_clients/).\n\n\n\n## Sicherheitshinweise\n\n\n\nBei der Integration von Jira mit dem GitLab Duo Agent Platform:\n\n\n\n* **OAuth-Token** — Zugangsdaten sicher aufbewahren\n\n* **Prinzip der minimalen Rechtevergabe** — Nur die minimal erforderlichen Jira-Scopes vergeben\n\n* **Token-Rotation** — OAuth-Zugangsdaten regelmäßig rotieren\n\n\n\n## Zusammenfassung\n\n\n\nDie Anbindung des GitLab Duo Agent Platform an verschiedene Tools über MCP verändert die Interaktion mit dem Entwicklungslebenszyklus. In diesem Artikel wurde gezeigt:\n\n\n\n* **Issues per natürlicher Sprache abfragen** — Fragen zum Backlog, zu Sprints und Incidents in natürlicher Sprache stellen.\n\n* **Issues in der gesamten DevSecOps-Umgebung erstellen und aktualisieren** — Bugs melden und Tickets aktualisieren, ohne die IDE zu verlassen.\n\n* **Systemübergreifend korrelieren** — Jira-Daten mit GitLab Project Management, Merge Requests und Pipelines für vollständige Transparenz kombinieren.\n\n* **Kontextwechsel reduzieren** — Fokus auf den Code behalten und gleichzeitig mit dem Projektmanagement verbunden bleiben.\n\n\n\n## Für deutsche Unternehmen könnte dies folgende Themen betreffen\n\n\n\nTeams, die externe Tools über MCP einbinden, haben möglicherweise auch Governance- und Sicherheitsüberlegungen – beispielsweise in Bereichen wie Zugriffskontrolle, Token-Management und Audit-Nachvollziehbarkeit.\n\n\n\nRegulatorische Frameworks wie NIS2, ISO 27001 und DSGVO adressieren ähnliche Themen rund um Zugriffssteuerung und Protokollierung. Für konkrete Compliance-Anforderungen empfiehlt sich Rücksprache mit entsprechender Fachberatung.\n\n\n\n## Weiterführende Informationen\n\n\n\n* [GitLab Duo Agent Platform unterstützt jetzt das Model Context Protocol](https://about.gitlab.com/de-de/blog/duo-agent-platform-with-mcp/)\n\n\n\n* [Was ist das Model Context Protocol?](https://about.gitlab.com/topics/ai/model-context-protocol/)\n\n\n\n* [Leitfäden und Ressourcen für Agentic AI](https://about.gitlab.com/de-de/blog/agentic-ai-guides-and-resources/)\n\n\n\n* [Dokumentation zu GitLab-MCP-Clients](https://docs.gitlab.com/user/gitlab_duo/model_context_protocol/mcp_clients/)\n\n\n\n* [Erste Schritte mit der GitLab Duo Agent Platform: Der vollständige Leitfaden](https://about.gitlab.com/de-de/blog/gitlab-duo-agent-platform-complete-getting-started-guide/)",{"featured":32,"template":13,"slug":701},"extend-gitlab-duo-agent-platform-connect-any-tool-with-mcp",{"content":703,"config":713},{"title":704,"description":705,"authors":706,"heroImage":708,"date":709,"body":710,"category":9,"tags":711},"10 KI-Prompts für den gesamten Software-Delivery-Prozess","Code Review, Security, Dokumentation, Tests, Planung, Debugging – einsatzbereite Prompts, die Team-Engpässe systematisch adressieren.",[707],"Chandler Gibbons","https://res.cloudinary.com/about-gitlab-com/image/upload/v1772632341/duj8vaznbhtyxxhodb17.png","2026-03-04","KI-gestützte Coding-Tools helfen Entwicklerinnen und Entwicklern, Code schneller zu schreiben. Warum liefern Teams trotzdem nicht schneller?\nWeil Coding nur 20 % des Software-Delivery-Lifecycles ausmacht. Die restlichen 80 % werden zum Engpass: Code-Review-Rückstände wachsen, Security-Scans halten nicht Schritt, Dokumentation bleibt liegen, und manueller Koordinationsaufwand steigt.\nDieselben KI-Fähigkeiten, die das individuelle Coding beschleunigen, lassen sich auf den gesamten Softwarelebenszyklus ausdehnen – von der Planung über Code-Review und Security bis hin zu Tests und Debugging. Nachfolgend finden sich 10 einsatzbereite Prompts aus der [GitLab Duo Agent Platform Prompt Library](https://about.gitlab.com/gitlab-duo/prompt-library/), die typische Team-Engpässe systematisch adressieren.\n\n## Wie wird Code Review vom Engpass zum Beschleuniger?\nTeams erstellen Merge Requests schneller, wenn KI beim Coding unterstützt – doch menschliche Reviewer können kaum mithalten, wenn Review-Zyklen von Stunden auf Tage anwachsen. KI übernimmt Routineprüfungen wie logische Fehler und API-Vertragsverletzungen, damit Reviewer sich auf Architektur und Geschäftslogik konzentrieren können.\n\n### MR auf logische Fehler prüfen\n**Komplexität**: Einstieg\n**Kategorie**: Code Review\n**Prompt aus der Bibliothek**:\n\n```text\n\nReview this MR for logical errors, edge cases, and potential bugs: [MR URL or paste code]\n\n```\n**Warum das hilft**: Automatische Linter erkennen Syntaxfehler – logische Fehler erfordern das Verständnis der Absicht hinter dem Code. Dieser Prompt findet Bugs, bevor Reviewer überhaupt einen Blick darauf werfen, und reduziert Review-Zyklen häufig auf eine einzige Freigaberunde.\n\n### Breaking Changes im MR identifizieren\n**Komplexität**: Einstieg\n**Kategorie**: Code Review\n**Prompt aus der Bibliothek**:\n\n```text\n\nDoes this MR introduce any breaking changes?\n\nChanges:\n\n[PASTE CODE DIFF]\n\nCheck for:\n\n1. API signature changes\n\n2. Removed or renamed public methods\n\n3. Changed return types\n\n4. Modified database schemas\n\n5. Breaking configuration changes\n\n```\n**Warum das hilft**: Breaking Changes, die erst beim Deployment auffallen, erzwingen Rollbacks und verursachen Incidents. Dieser Prompt verlagert die Erkennung in die MR-Phase – wo Korrekturen deutlich weniger aufwändig sind.\n\n## Wie lässt sich Security nach links verschieben, ohne den Prozess zu verlangsamen?\nSecurity-Scans erzeugen Hunderte von Befunden. Security-Teams triagieren manuell, während Entwicklerinnen und Entwickler auf Deployment-Freigaben warten. Der Großteil der Befunde sind False Positives oder Niedrigrisiko-Probleme – die tatsächlichen Bedrohungen herauszufiltern kostet Zeit und Expertise. KI priorisiert Befunde nach tatsächlicher Ausnutzbarkeit und unterstützt bei der Behebung häufiger Schwachstellen, sodass Security-Teams sich auf die relevanten Bedrohungen konzentrieren können.\n\n### Security-Scan-Ergebnisse analysieren\n**Komplexität**: Fortgeschritten\n**Kategorie**: Security\n**Agent**: Duo Security Analyst\n**Prompt aus der Bibliothek**:\n\n```text\n\n@security_analyst Analyze these security scan results:\n\n[PASTE SCAN OUTPUT]\n\nFor each finding:\n\n1. Assess real risk vs false positive\n\n2. Explain the vulnerability\n\n3. Suggest remediation\n\n4. Prioritize by severity\n\n```\n**Warum das hilft**: Dieser Prompt hilft Security-Teams, sich auf die Befunde zu konzentrieren, die tatsächlich relevant sind – und reduziert die Zeit bis zur Behebung von Wochen auf Tage.\n\n### Code auf Sicherheitsprobleme prüfen\n**Komplexität**: Fortgeschritten\n**Kategorie**: Security\n**Agent**: Duo Security Analyst\n**Prompt aus der Bibliothek**:\n\n```text\n\n@security_analyst Review this code for security issues:\n\n[PASTE CODE]\n\nCheck for:\n\n1. Injection vulnerabilities\n\n2. Authentication/authorization flaws\n\n3. Data exposure risks\n\n4. Insecure dependencies\n\n5. Cryptographic issues\n\n```\n**Warum das hilft**: Herkömmliche Security-Reviews finden statt, nachdem Code geschrieben wurde. Dieser Prompt ermöglicht es, Sicherheitsprobleme vor dem Erstellen eines MR zu erkennen und zu beheben – und eliminiert die Abstimmungsschleifen, die Deployments verzögern.\n\n## Wie bleibt Dokumentation mit dem Code auf dem neuesten Stand?\nCode ändert sich schneller als Dokumentation. Neue Teammitglieder benötigen Wochen für das Onboarding, weil Docs veraltet oder unvollständig sind. Dokumentation wird stets als wichtig erkannt, aber bei Deadlines zuerst verschoben. Automatisierte Generierung und Aktualisierung als Teil des Standard-Workflows hält Docs aktuell – ohne zusätzlichen Aufwand.\n\n### Release Notes aus MRs generieren\n**Komplexität**: Einstieg\n**Kategorie**: Dokumentation\n**Prompt aus der Bibliothek**:\n\n```text\n\nGenerate release notes for these merged MRs:\n\n[LIST MR URLs or paste titles]\n\nGroup by:\n\n1. New features\n\n2. Bug fixes\n\n3. Performance improvements\n\n4. Breaking changes\n\n5. Deprecations\n\n```\n**Warum das hilft**: Die manuelle Zusammenstellung von Release Notes dauert Stunden und enthält häufig Lücken oder Fehler. Automatisierte Generierung stellt sicher, dass jedes Release vollständige Notes erhält – ohne zusätzlichen Aufwand im Release-Prozess.\n\n### Dokumentation nach Code-Änderungen aktualisieren\n**Komplexität**: Einstieg\n**Kategorie**: Dokumentation\n**Prompt aus der Bibliothek**:\n\n```text\n\nI changed this code:\n\n[PASTE CODE CHANGES]\n\nWhat documentation needs updating? Check:\n\n1. README files\n\n2. API documentation\n\n3. Architecture diagrams\n\n4. Onboarding guides\n\n```\n**Warum das hilft**: Dokumentation driftet, weil Teams nach Code-Änderungen nicht immer im Blick haben, welche Docs betroffen sind. Dieser Prompt macht Dokumentationspflege zum Teil des Entwicklungsworkflows – statt einer Aufgabe, die aufgeschoben wird.\n\n## Wie lässt sich Planungskomplexität systematisch aufbrechen?\nGroße Features bleiben in der Planungsphase stecken. KI kann komplexe Arbeit strukturiert in konkrete, umsetzbare Aufgaben mit klaren Abhängigkeiten und Akzeptanzkriterien zerlegen – und so wochenlange Abstimmung in fokussierte Implementierung verwandeln.\n\n### Epic in Issues aufteilen\n**Komplexität**: Fortgeschritten\n**Kategorie**: Dokumentation\n**Agent**: Duo Planner\n**Prompt aus der Bibliothek**:\n\n```text\n\nBreak down this epic into implementable issues:\n\n[EPIC DESCRIPTION]\n\nConsider:\n\n1. Technical dependencies\n\n2. Reasonable issue sizes\n\n3. Clear acceptance criteria\n\n4. Logical implementation order\n\n```\n**Warum das hilft**: Dieser Prompt verwandelt eine Woche Planungsmeetings in 30 Minuten KI-gestützte Zerlegung – gefolgt von einer Teamabstimmung. Teams starten früher mit der Implementierung und mit klarerer Ausrichtung.\n\n## Wie lässt sich Testabdeckung ausbauen, ohne den Aufwand zu erhöhen?\nEntwicklerinnen und Entwickler schreiben Code schneller, aber wenn Tests nicht mithalten, sinkt die Testabdeckung und Fehler gelangen in die Produktion. Tests manuell zu schreiben ist aufwändig – und unter Zeitdruck werden Randfälle übersehen. Automatisch generierte Tests bedeuten: prüfen und anpassen statt von Grund auf neu schreiben.\n\n### Unit-Tests generieren\n**Komplexität**: Einstieg\n**Kategorie**: Testing\n**Prompt aus der Bibliothek**:\n\n```text\n\nGenerate unit tests for this function:\n\n[PASTE FUNCTION]\n\nInclude tests for:\n\n1. Happy path\n\n2. Edge cases\n\n3. Error conditions\n\n4. Boundary values\n\n5. Invalid inputs\n\n```\n**Warum das hilft**: Manuelle Tests sind aufwändig, und Randfälle werden unter Zeitdruck oft übersehen. Dieser Prompt generiert umfassende Test-Suites, die Entwicklerinnen und Entwickler prüfen und anpassen – statt von Grund auf zu schreiben.\n\n### Lücken in der Testabdeckung erkennen\n**Komplexität**: Einstieg\n**Kategorie**: Testing\n**Prompt aus der Bibliothek**:\n\n```text\n\nAnalyze test coverage for [MODULE/COMPONENT]:\n\nCurrent coverage: [PERCENTAGE]\n\nIdentify:\n\n1. Untested functions/methods\n\n2. Uncovered edge cases\n\n3. Missing error scenario tests\n\n4. Integration points without tests\n\n5. Priority areas to test next\n\n```\n**Warum das hilft**: Dieser Prompt zeigt blinde Flecken in der Test-Suite auf, bevor sie zu Production-Incidents werden. Teams können die Abdeckung dort systematisch verbessern, wo es am meisten zählt.\n\n## Wie lässt sich die Zeit bis zur Fehlerbehebung verkürzen?\nProduction-Incidents dauern Stunden in der Diagnose. Entwicklerinnen und Entwickler durchsuchen Logs und Stack Traces, während Nutzerinnen und Nutzer Ausfälle erleben. KI beschleunigt die Ursachenanalyse durch Auswertung komplexer Fehlermeldungen und konkrete Lösungsvorschläge – und verkürzt die Diagnosezeit von Stunden auf Minuten.\n\n### Fehlerhafte Pipeline debuggen\n**Komplexität**: Einstieg\n**Kategorie**: Debugging\n**Prompt aus der Bibliothek**:\n\n```text\n\nThis pipeline is failing:\n\nJob: [JOB NAME]\n\nStage: [STAGE]\n\nError: [PASTE ERROR MESSAGE/LOG]\n\nHelp me:\n\n1. Identify the root cause\n\n2. Suggest a fix\n\n3. Explain why it started failing\n\n4. Prevent similar issues\n\n```\n**Warum das hilft**: CI/CD-Ausfälle blockieren das gesamte Team. Dieser Prompt analysiert Fehler in Sekunden statt in den 15 bis 30 Minuten, die Entwicklerinnen und Entwickler typischerweise für die Fehlersuche benötigen.\n\n## Von individuellen Gewinnen zu echter Team-Beschleunigung\nDiese Prompts stehen für einen Ansatz, der KI nicht nur beim individuellen Coding einsetzt, sondern an den Stellen, die Team-Velocity tatsächlich begrenzen: Koordination, Qualitätssicherung und Wissenstransfer.\nDie [vollständige Prompt-Bibliothek](https://about.gitlab.com/gitlab-duo/prompt-library/) enthält mehr als 100 Prompts für alle Phasen des Softwarelebenszyklus – von Planung und Entwicklung über Security und Testing bis hin zu Deployment und Betrieb. Jeder Prompt ist nach Komplexitätsstufe (Einstieg, Fortgeschritten, Experte) und Anwendungsfall kategorisiert.\nMit Prompts der Stufe „Einstieg\" lässt sich am dringendsten Engpass beginnen. Ziel ist nicht schnelleres Coding allein – sondern zuverlässigere, qualitativ hochwertigere Software-Lieferung von der Planung bis zur Produktion.",[23,712],"DevOps platform",{"featured":32,"template":13,"slug":714},"10-ai-prompts-to-speed-your-teams-software-delivery",{"header":716,"blurb":717,"button":718,"secondaryButton":723},"Beginne noch heute, schneller zu entwickeln","Entdecke, was dein Team mit der intelligenten Orchestrierungsplattform für DevSecOps erreichen kann.\n",{"text":719,"config":720},"Kostenlosen Test starten",{"href":721,"dataGaName":52,"dataGaLocation":722},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/de-de/","feature",{"text":54,"config":724},{"href":56,"dataGaName":57,"dataGaLocation":722},{"promotions":726},[727,740,752,764],{"id":728,"categories":729,"header":730,"text":731,"button":732,"image":737},"ai-modernization",[9],"Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":733,"config":734},"Get your AI maturity score",{"href":735,"dataGaName":736,"dataGaLocation":246},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":738},{"src":739},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":741,"categories":742,"header":744,"text":731,"button":745,"image":749},"devops-modernization",[687,743],"devsecops","Are you just managing tools or shipping innovation?",{"text":746,"config":747},"Get your DevOps maturity score",{"href":748,"dataGaName":736,"dataGaLocation":246},"/assessments/devops-modernization-assessment/",{"config":750},{"src":751},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":753,"categories":754,"header":756,"text":731,"button":757,"image":761},"security-modernization",[755],"security","Are you trading speed for security?",{"text":758,"config":759},"Get your security maturity score",{"href":760,"dataGaName":736,"dataGaLocation":246},"/assessments/security-modernization-assessment/",{"config":762},{"src":763},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":765,"paths":766,"header":769,"text":770,"button":771,"image":776},"github-azure-migration",[767,768],"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":772,"config":773},"See how GitLab compares to GitHub",{"href":774,"dataGaName":775,"dataGaLocation":246},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":777},{"src":751},1776449976745]