Blog IA/ML Développement de GitLab Duo : comment nous utilisons nos propres fonctionnalités d’IA
Date de la publication : May 20, 2024
Lecture : 10 min

Développement de GitLab Duo : comment nous utilisons nos propres fonctionnalités d’IA

Dans le cadre de notre série d’articles de blog, nous partageons des exemples concrets de la façon dont nous intégrons l'IA dans notre cycle de développement logiciel et comment nous utilisons des métriques pour évaluer leur réussite.

gitlab duo - new cover

L'IA générative marque une avancée majeure dans le domaine du développement logiciel, simplifiant le processus de développement, de sécurisation et d'exploitation des logiciels. Notre nouvelle série d'articles de blog, rédigée par nos équipes produit et ingénierie, vous propose un aperçu de notre processus de création, de test et de déploiement des fonctionnalités d'IA que vous avez besoin d'intégrer dans l'ensemble de l'entreprise. Explorez les nouvelles capacités de GitLab Duo et découvrez comment elles aideront les équipes DevSecOps à livrer de meilleurs résultats aux clients.

GitLab Duo, notre suite de fonctionnalités alimentées par l'IA, a transformé nos workflows d'ingénierie internes, générant des gains d'efficacité tout au long de notre processus de développement. En tant que fervents partisans du dogfooding et de la transparence, nous voulions montrer comment nos équipes tirent parti de l'IA au quotidien, y compris des fonctionnalités phares comme les suggestions de code de GitLab Duo et GitLab Duo Chat, pour rationaliser les processus de développement, réduire les efforts manuels et améliorer la productivité. Découvrez dans cet article les bénéfices de GitLab Duo pour nos équipes.

Comment nos équipes utilisent GitLab Duo ?

Nos équipes ont intégré de nombreuses fonctionnalités de GitLab Duo. Découvrez comment GitLab Duo les aide à mener à bien leurs projets.

Résumé et documentation

  • Rationaliser le processus de revue de code : Gosia Ksionek, Staff Backend Engineer, présente les avantages pratiques de l'IA dans son workflow en utilisant GitLab Duo pour rationaliser le processus de revue de code. Elle utilise efficacement GitLab Duo pour résumer les merge requests, ce qui facilite et accélère l'examen des modifications apportées au code. En plus de résumer les merge requests, Gosia utilise également GitLab Duo pour répondre aux questions relatives au code et expliquer les extraits de code complexes. Cela améliore sa productivité et l'aide à mieux comprendre et gérer des codebases complexes. À travers ces démonstrations, Gosia souligne comment GitLab Duo peut considérablement améliorer l'efficacité et la clarté du processus de développement, ce qui en fait un outil inestimable pour les développeurs.

Dans cette vidéo, Gosia utilise le résumé de merge requests de GitLab Duo :

Dans cette vidéo, Gosia utilise GitLab Duo pour répondre aux questions relatives au code :

Dans cette vidéo, Gosia utilise GitLab Duo pour expliquer des extraits de code complexes :

  • Condenser les fils de commentaires : Bartek Marnane, Vice President of Expansion Software Development, utilise GitLab Duo pour condenser de longs fils de discussion en résumés concis, en veillant à ce que tous les détails pertinents soient capturés lors de la mise à jour des descriptions des tickets.

  • Créer une nouvelle documentation : Taylor McCaslin, Group Manager, Product - Data Science Section, a tiré parti de GitLab Duo afin de créer une nouvelle documentation pour GitLab Duo. Ce qui lui a permis d'améliorer la clarté et la cohérence du contenu, tout en réduisant considérablement le temps requis pour documenter de nouvelles fonctionnalités.

  • Rédiger des notes de version : Amanda Rueda, Senior Product Manager, utilise GitLab Duo pour rédiger des résumés brefs et percutants pour les notes de version, mettant en évidence les modifications et leur valeur pour les utilisateurs. En utilisant des prompts bien conçus comme ci-dessous, Amanda dynamise son workflow et s'assure que chaque note de version est claire, concise et centrée sur l'utilisateur, améliorant ainsi la communication globale et l'expérience utilisateur :

    « Veuillez créer un résumé en deux phrases de ce changement, qui peut être utilisé pour nos notes de version. Le ton doit être décontracté et le tutoiement doit être utilisé. Le résumé doit inclure une description du problème ou du changement apporté et être lié à la valeur que nous créons pour vous, l'utilisateur. »

  • Optimiser la navigation sur le site de documentation : Suzanne Selhorn, Staff Technical Writer, a tiré parti de GitLab Duo pour optimiser la navigation à gauche de la documentation en fournissant un ordre de pages basé sur le workflow. Suzanne a fourni une liste de fonctionnalités à GitLab Duo, qui a généré l'ordre optimal, mettant à jour la navigation de gauche en conséquence. GitLab Duo a également rédigé la documentation de démarrage beaucoup plus rapidement que si Suzanne l’avait fait manuellement.

Définition des objectifs et alignement de l'équipe

  • Rédiger et affiner des OKR : François Rosé, Engineering Manager, trouve l'aide de GitLab Duo Chat inestimable pour rédiger et affiner des OKR. En formulant des objectifs clairs et efficaces, François améliore la définition des objectifs et l'alignement de son équipe. En utilisant le chat, François s'assure que chaque OKR est précis, actionnable et aligné avec les objectifs, ce qui améliore la performance et la cohésion globales de l'équipe. Voici un exemple de prompt qu'il utilise :

    « Voici un OKR que je pense créer :

    Objectif : Revenir sur les rétrospectives, pour favoriser une équipe prospère

    Résultat clé : Mesurer la satisfaction des rétrospectives de 100 % des membres de l'équipe

    Résultat clé : Identifier 3 améliorations pour les rétrospectives asynchrones

    Résultat clé : Mettre en œuvre 1 amélioration

    Veuillez fournir des commentaires directs sur la manière d'améliorer la formulation de cet objectif et de ces résultats clés. »

  • Rationaliser les processus de recrutement : GitLab Duo Chat a aidé Denys Mishunov, Staff Frontend Engineer, à mettre à jour le modèle d'e-mail pour les candidats aux entretiens techniques en formulant un texte clair et concis. De cette manière, l'équipe collabore pour affiner la communication afin de s'assurer que les candidats reçoivent toutes les informations nécessaires.

Réponse et configuration des incidents

  • Résumer les incidents en production : Steve Xuereb, Staff Site Reliability Engineer, utilise GitLab Duo pour résumer les incidents en production et créer des revues d'incidents détaillées, rationalisant ainsi le processus de documentation.

  • Créer des fichiers « .gitlab-ci.yml » : Steve utilise également la fonctionnalité Chat pour créer des fichiers de type « .gitlab-ci.yml », ce qui a considérablement accéléré son worfklow. De plus, l'explication de code fournit des réponses détaillées qui sont utiles lors d'incidents, améliorant sa productivité et sa compréhension du codebase.

Génération de code et tests

Regardez comment Denys utilise GitLab Duo pour générer des scripts Python afin de récupérer des données de contenu et les stocker localement :

Recherche et assistance

  • Générer le code source de test : Michael Friedrich, Senior Developer Advocate, utilise GitLab Duo pour générer le code source de test pour les composants CI/CD. Cette approche a été partagée dans diverses conférences et présentations, notamment lors de l’événement Open Source @ Siemens (consultez la présentation). De cette manière, l'utilisation de GitLab Duo permet de s'assurer que le code est cohérent, bien documenté et aligné avec nos bonnes pratiques. Découvrez l’exemple de Rust.

Exemple Rust

  • Rationaliser les tâches de recherche : Les membres de notre équipe se tournent régulièrement vers le chat lorsqu'ils ont des questions sur les fonctionnalités de GitLab. « Lorsque j'ai une question sur les fonctionnalités de GitLab, j'utilise systématiquement le chat plutôt que d'ouvrir 100 onglets de navigateur. Ce workflow m'aide à apporter une aide efficace aux utilisateurs du forum de notre communauté. Par exemple, j'ai récemment aidé un utilisateur dans le cadre d'un déploiement SSH en utilisant cette méthode. », indique Michael. L'utilisation du chat permet non seulement de gagner du temps, mais aussi de fournir des informations rapides et précises, améliorant ainsi l'assistance que nous offrons à notre communauté.

Test de fonctionnalités

  • Tester les nouvelles fonctionnalités : Nos ingénieurs utilisent GitLab Duo pour tester de nouvelles fonctionnalités telles que la prise en charge de Markdown dans les suggestions de code. « Je dois tester la prise en charge de Markdown dans les suggestions de code pour rédiger des articles de blog et la documentation de GitLab dans VS Code. J'ai vu que cela avait été fusionné pour la version 17.0 », indique l'un des membres de notre équipe. En testant ces fonctionnalités en interne, nous nous assurons qu'elles répondent à nos normes de qualité avant leur sortie.

Comprendre les codebases externes

  • Expliquer les projets externes : La fonctionnalité « /explain » de GitLab Duo est particulièrement utile pour comprendre les projets externes importés dans GitLab. Cette capacité a été mise en avant dans un récent livestream animé par Michael Friedrich et Eddie Jaoude, expert en open source. Dans cette vidéo, Michael nous fait savoir qu’il utilise la fonctionnalité « /explain » sur des projets externes pour comprendre le code source et qu’il a présenté cette idée pour en apprendre davantage sur les projets open source, les dépendances, etc. Cette fonctionnalité est inestimable pour les développeurs qui doivent rapidement comprendre les fonctionnalités et les dépendances de codebases inconnues, ce qui améliore considérablement leur efficacité et leur compréhension.
Regardez la vidéo de Michael sur la fonctionnalité « /explain » lors du livestream avec Eddie Jaoude :

Quels sont les avantages de GitLab Duo ?

L'intégration de GitLab Duo a eu de nombreux impacts positifs, ce qui a considérablement amélioré nos workflows d'ingénierie et de développement de produits :

  • De nombreuses tâches qui nécessitaient auparavant une intervention manuelle sont désormais automatisées, ce qui libère un temps précieux pour nos ingénieurs. Par exemple, la synthèse de longs fils de discussion et la création de code standard sont désormais plus efficaces, ce qui permet à notre équipe de se concentrer sur des problèmes plus complexes.
  • Le temps nécessaire pour documenter et résumer les tickets a diminué, ce qui permet une diffusion de l'information et une prise de décision plus rapides.
  • Avec les suggestions de code et les explications assistées par l'IA, nos équipes produisent un code de meilleure qualité avec moins d'erreurs et des processus de débogage plus rapides. L'intégration de GitLab Duo dans les revues d'incidents et l'assistance au codage a rendu les revues de code plus efficaces et plus efficientes.
  • Les tâches administratives, telles que la rédaction d'OKR et la création de notes de version, ont été rationalisées.

GitLab Duo a contribué non seulement à améliorer notre efficacité, mais également à améliorer la qualité et la rapidité de nos processus de développement, illustrant ainsi le pouvoir de transformation de l'IA dans le développement de logiciels.

Et après ?

Nous nous engageons à intégrer davantage l'IA dans nos workflows et à améliorer continuellement les fonctionnalités de GitLab Duo en fonction des retours internes et de l'évolution des besoins. La collecte de données avec le tableau de bord d'analyse d'impact de l'IA guidera les améliorations et fera en sorte que GitLab Duo reste à la pointe des outils de développement pilotés par l'IA.

Dogfooding appliqué à GitLab Duo - tableau de bord d'analyse de l'IA

Essayez GitLab Duo gratuitement dès aujourd'hui !

En savoir plus sur le « Développement de GitLab Duo »

Votre avis nous intéresse

Cet article de blog vous a plu ou vous avez des questions ou des commentaires ? Partagez vos réflexions en créant un nouveau sujet dans le forum de la communauté GitLab. Partager votre expérience

Prêt à vous lancer ?

Découvrez comment la plateforme DevSecOps de GitLab peut aider votre équipe.

Profiter d'un essai gratuit

Découvrez le forfait qui convient le mieux à votre équipe

En savoir plus sur la tarification

Découvrez ce que GitLab peut offrir à votre équipe

Échanger avec un expert