Blog AI/ML Entwicklung von GitLab Duo: Dogfooding unserer KI-Funktionen
Published on: May 20, 2024
9 Minuten Lesezeit

Entwicklung von GitLab Duo: Dogfooding unserer KI-Funktionen

Im Rahmen unserer Blog-Reihe zeigen wir mithilfe von Beispielen aus der Praxis, wie wir KI in den Lebenszyklus unserer Softwareentwicklung integrieren und ihren Erfolg anhand von Metriken messen.

gitlab duo - new cover

Generative KI bedeutet einen monumentalen Wandel in der Softwareentwicklungsbranche, da sie es einfacher macht, Software zu entwickeln, zu sichern und zu betreiben. Unsere neue Blog-Serie von unseren Produkt- und Entwicklungsteams gibt einen Einblick darin, wie wir die KI-Funktionen erstellen, testen und bereitstellen, die in deinem Unternehmen benötigt werden. Lerne neue Funktionen innerhalb von GitLab Duo kennen und erfahre, wie diese DevSecOps-Teams dabei helfen werden, bessere Ergebnisse für Kund(inn)en zu erzielen.

GitLab Duo, unsere Suite von KI-gestützten Funktionen, hat unsere internen technischen Workflows verändert und die Effizienz in unserem gesamten Entwicklungsprozess gesteigert. Da wir völlig überzeugt sind von Dogfooding und Transparenz, möchten wir zeigen, wie unsere Teams täglich KI einsetzen, einschließlich hervorragender Produkte wie GitLab Duo Codevorschläge und GitLab Duo Chat, um Entwicklungsprozesse zu rationalisieren, den manuellen Aufwand zu reduzieren und die Produktivität zu steigern. Du wirst mehr über die Vorteile erfahren, von denen hochtechnische Teams wie das Engineering-Team und auch weniger technische Teams wie das Dokumentations- und das Produktmanagementteam profitiert haben.

Live-Demo! Entdecke die Zukunft von KI-gesteuerter Softwareentwicklung mit unserer virtuellen Produktpräsentation zu GitLab 17. Registriere dich noch heute!

Anwendungsfälle aus der Praxis

Unsere Teams haben die vielen Funktionen von GitLab Duo in ihre täglichen Abläufe integriert. Hier sind einige Beispiele dafür, wie GitLab Duo den verschiedenen Teams bei der Durchführung alltäglicher Aktivitäten hilft.

Zusammenfassung und Dokumentation

  • Code-Review-Prozess optimieren: Teammitglied und Backend-Entwicklerin Gosia Ksionek zeigt die praktischen Vorteile von KI in ihrem Workflow auf. Zur Optimierung des Code-Review-Prozesses verwendet sie GitLab Duo. Sie nutzt GitLab Duo effektiv, um Merge Requests zusammenzufassen. Dadurch können Codeänderungen einfacher und schneller geprüft werden. Gosia fasst mit GitLab Duo nicht nur Merge Requests zusammen, sondern setzt es auch ein, um Fragen zur Programmierung zu beantworten und komplexe Code-Schnipsel zu erklären. So steigert sie ihre Produktivität und kann komplizierte Codebases besser verstehen und verwalten. Anhand dieser Demonstrationen zeigt Gosia, wie GitLab Duo die Effizienz und Klarheit im Entwicklungsprozess deutlich verbessern kann und damit unschätzbar wertvoll für Entwickler(innen) ist.

Sieh dir an, wie Gosia die GitLab Duo Merge Request-Zusammenfassung verwendet:

Sieh dir an, wie Gosia GitLab Duo verwendet, um Fragen zur Programmierung zu beantworten:

Sieh dir an, wie Gosia mit GitLab Duo komplexe Code-Schnipsel erklärt:

  • Kommentar-Threads zusammenfassen: Bartek Marnane, Vice President of Expansion Software Development, fasst mit GitLab Duo lange Kommentar-Threads kompakt zusammen und stellt dabei sicher, dass alle relevanten Details bei der Aktualisierung der Ticketbeschreibungen erfasst werden.

  • Neue Dokumentation erstellen: Taylor McCaslin, Group Manager, Product – Data Science Section, hat GitLab Duo genutzt, um für GitLab Duo selbst neue Dokumentation zu erstellen. Dies ist ein Beispiel für einen Meta-Anwendungsfall, der die Klarheit und Konsistenz verbessert und die Zeit für die Dokumentation neuer Funktionen erheblich reduziert.

  • Versionshinweise erstellen: Amanda Rueda, Senior Product Manager des Produktplanungsteams, verwendet GitLab Duo, um kurze, wirkungsvolle Zusammenfassungen für Versionshinweise zu erstellen und dabei die Änderungen und deren Wert für die Benutzer(innen) hervorzuheben. Durch die Verwendung gut formulierter Prompts wie den folgenden stärkt Amanda ihren Workflow und stellt sicher, dass jeder Versionshinweis klar, prägnant und benutzerorientiert ist. Dadurch werden die gesamte Kommunikation und das Benutzererlebnis verbessert:

    „Bitte erstelle eine Zusammenfassung dieser Änderung in zwei Sätzen, die für unsere Versionshinweise verwendet werden kann. Der Ton sollte umgangssprachlich sein und in der zweiten Person verfasst werden. Die Zusammenfassung sollte eine Beschreibung des Problems oder der Änderung enthalten und mit dem Wert verbunden sein, den wir für euch, die Benutzer(innen), schaffen.“

  • Hier sind einige Beispiele für Versionshinweise, die gemeinsam mit GitLab Duo erstellt wurden:

  • Optimierung der Navigation auf der Seite des Dokumentationsteams: Suzanne Selhorn, Teammitglied und Technische Redakteurin, setzte GitLab Duo ein, um die linke Navigationsseite der Dokumentationsabteilung zu optimieren. Dazu stellte sie eine workflowbasierte Reihenfolge der Seiten bereit. Suzanne stellte GitLab Duo eine Liste von Funktionen zur Verfügung, womit die optimale Reihenfolge generiert und die linke Navigation entsprechend aktualisiert wurde. GitLab Duo hat auch einen Entwurf der Dokumentation für die Ersten Schritte viel schneller erstellt, als wenn Suzanne mit traditionellen, manuellen Methoden arbeiten würde.

Zielsetzung und Teamausrichtung

  • Entwerfen und Verfeinern von OKRs: François Rosé, Engineering Manager, Entwicklung: Code-Review-Backend, betrachtet GitLab Duo Chat als unschätzbar wertvoll für den Entwurf und die Verfeinerung von OKRs. Indem er Ziele klarer und effektiver formuliert, verbessert François die Zielsetzung und die Ausrichtung des Teams. Mit Chat stellt François sicher, dass alle OKRs präzise, umsetzbar und auf die Ziele des Teams ausgerichtet sind. Dadurch werden die Gesamtleistung und der Zusammenhalt des Teams verbessert. Hier ist ein Beispiel für einen Prompt, den er verwendet:

    „Hier ist ein OKR, das ich erstellen möchte:

    Ziel: Rückblick auf Retrospektiven, um ein erfolgreiches Team zu fördern

    Schlüsselergebnis: Messe die rückwirkende Zufriedenheit von 100 % der Teammitglieder

    Schlüsselergebnis: Identifiziere 3 Verbesserungen für die asynchronen Retrospektiven

    Schlüsselergebnis: Setze 1 Verbesserung um

    Bitte stelle direktes Feedback bereit, wie die Formulierung dieses Ziels und dieser Schlüsselergebnisse verbessert werden können.“

  • Optimierte Einstellungs- und Rekrutierungsprozesse: Sieh dir Chat in Aktion an, wie die Funktion Denys Mishunov, Teammitglied und Frontend Engineer, dabei geholfen hat, einen klaren und prägnanten Text für die Aktualisierung der E-Mail-Vorlage für technische Bewerber(innen) zu formulieren. Sieh dir an, wie das Team bei der Verbesserung der Kommunikation zusammenarbeitet, um so sicherzustellen, dass die Bewerber(innen) alle notwendigen Informationen mithilfe eines Merge Request erhalten. Dieses Beispiel zeigt die praktische Anwendung von KI-Tools zur Verbesserung der Kommunikationsprozesse innerhalb des Einstellungsworkflows.

Reaktion auf Vorfälle und Konfiguration

  • Zusammenfassen von Produktionsvorfällen: Steve Xuereb, Site Reliability Engineer im Team, verwendet GitLab Duo, um Produktionsvorfälle zusammenzufassen und detaillierte Vorfall-Reviews zu erstellen und so den Dokumentationsprozess zu optimieren.

  • Boilerplate für ‚.gitlab-ci.yml‘-Dateien erstellen: Steve verwendet Chat auch, um eine Boilerplate für ‚.gitlab-ci.yml‘ -Dateien zu erstellen, was seinen Workflow erheblich beschleunigt hat. Chat dient als wertvoller Partner für Ideenvorschläge. Darüber hinaus bietet Code-Erklärung detaillierte Antworten, die bei Vorfällen hilfreich sind und seine Produktivität und sein Verständnis der Codebase verbessern.

Codegenerierung und Tests

Sieh dir an, wie Denys mit GitLab Duo Python-Skripte generiert, um Inhaltsdaten abzurufen und lokal zu speichern:

Forschung und Support

  • Generieren von Test-Quellcode: Michael Friedrich, Senior Developer Advocate, verwendet GitLab Duo, um Test-Quellcode für CI/CD-Komponenten zu generieren. Dieser Ansatz wurde in verschiedenen Vorträgen und Präsentationen wie bei der jüngsten Veranstaltung „Open Source @ Siemens“ (öffentliche Folien) vorgestellt. Die Verwendung von GitLab Duo auf diese Weise trägt dazu bei, dass der Code konsistent und gut dokumentiert ist und mit unseren Best Practices übereinstimmt. Sieh dir sein Rust-Beispiel an.

Beispiel für Rust

  • Optimieren von Forschungsaufgaben: Unsere Teammitglieder nutzen bei Fragen zu GitLab-Funktionen regelmäßig Chat, und optimieren so ihre Forschungs- und Supportaufgaben. Michael teilte mit: „Wenn ich eine Frage zu GitLab-Funktionen habe, verwende ich standardmäßig Chat, anstatt 100 Browser-Tabs zu öffnen. Dieser Workflow hilft mir dabei, die Benutzer(innen) in unserem Community-Forum effizient zu unterstützen. Zum Beispiel habe ich kürzlich mit dieser Methode einem/r Benutzer(in) bei der SSH-Bereitstellung geholfen.“ Die Verwendung von Chat spart nicht nur Zeit, sondern wir erhalten auch schnell genaue Informationen und verbessern so den Support, den wir unserer Community anbieten.

Funktionstests

  • Testen neuer Funktionen: Unsere Ingenieure verwenden GitLab Duo, um neue Funktionen wie Markdown-Unterstützung in Codevorschlägen zu testen. Eines unserer Teammitglieder merkte an: „Ich muss die Markdown-Unterstützung in Codevorschlägen testen, um Blog-Posts und GitLab-Dokumente in VS Code zu schreiben. Ich habe gesehen, dass die Unterstützung für Version 17.0 zusammengeführt wurde.“ Indem wir diese Funktionen vor der Veröffentlichung intern testen, stellen wir sicher, dass sie unseren Qualitätsstandards entsprechen.

Verständnis externer Codebases

  • Erklären externer Projekte: Die Funktion ‚/explain‘ von GitLab Duo ist besonders nützlich, um externe Projekte zu verstehen, die in GitLab importiert wurden. Diese Fähigkeit hat er kürzlich in einem Livestream mit dem Open-Source-Experten Eddie Jaoude hervorgehoben. Michael teilte uns mit: „Ich verwende ‚/explain` bei externen Projekten, um den Quellcode zu verstehen. Ich habe diese Idee für das Lernen über Open-Source-Projekte, Abhängigkeiten usw. während des Livestreams vorgestellt.“ Diese Funktion ist von unschätzbarem Wert für Entwickler(innen), die die Funktionalität und Abhängigkeiten unbekannter Codebases schnell erfassen müssen. So sind sie bedeutend effizienter und ihr Verständnis ist sehr viel besser.
Sieh dir an, wie Michael ‚/explain` während eines Livestreams mit Eddie Jaoude vorstellt:

Vorteile von GitLab Duo

Die Integration von GitLab Duo hat zahlreiche positive Auswirkungen mit sich gebracht und unsere Workflows in den Bereichen Engineering und Produktentwicklung erheblich verbessert:

  • Viele Aufgaben, bei denen zuvor manuell eingegriffen werden musste, werden jetzt automatisiert, wodurch unsere Ingenieure wertvolle Zeit gewinnen. Zum Beispiel sind das Zusammenfassen langer Threads und das Erstellen von Boilerplate-Code jetzt effizienter, sodass sich unser Team auf komplexere Probleme konzentrieren kann.

  • Die Zeit, die für die Dokumentation und Zusammenfassung von Tickets benötigt wird, hat sich verringert, was eine schnellere Verbreitung von Informationen und Entscheidungsfindung ermöglicht.

  • Mit KI-gestützten Codevorschlägen und -erklärungen erstellen unsere Teams qualitativ hochwertigeren Code mit weniger Fehlern und schnelleren Debugging-Prozessen. Die Integration von GitLab Duo in Vorfall-Reviews und die Unterstützung bei der Programmierung hat zu effizienteren und effektiveren Code-Reviews geführt.

  • Administrative Aufgaben wie der Entwurf von OKRs und das Erstellen von Versionshinweisen wurden optimiert.

GitLab Duo hat nicht nur dazu beigetragen, unsere Effizienz zu steigern, sondern auch die Qualität und Geschwindigkeit unserer Entwicklungsprozesse zu verbessern, was die transformationelle Kraft von KI in der Softwareentwicklung verdeutlicht.

Wie geht es weiter?

Wir werden weiter KI in unsere Workflows integrieren und die Funktionen von GitLab Duo basierend auf internem Feedback und neuen Bedürfnissen kontinuierlich verbessern. Die fortlaufende Erfassung von Anwendungsfällen und Metriken mit dem KI-Impact-Analyse-Dashboard wird zu Verbesserungen führen und sicherstellen, dass GitLab Duo an der Spitze der KI-gesteuerten Entwicklungs-Tools bleibt.

Dogfooding Duo – KI-Analyse-Dashboard

Lege noch heute los mit unserer kostenlosen Testversion von GitLab Duo.

Erfahre mehr zur „Entwicklung von GitLab Duo

Wir möchten gern von dir hören

Hat dir dieser Blogbeitrag gefallen oder hast du Fragen oder Feedback? Erstelle ein neues Diskussionsthema im GitLab Community-Forum und tausche deine Eindrücke aus. Teile dein Feedback

Kann es losgehen?

Sieh dir an, was dein Team mit einer einheitlichen DevSecOps-Plattform erreichen könnte.

Kostenlose Testversion anfordern

Du bist neu bei GitLab und weißt nicht, wo du anfangen sollst?

Handbuch für die ersten Schritte

Erfahre mehr darüber, was GitLab für dein Team tun kann

Sprich mit einem Experten/einer Expertin