Abdul Qaiyoom - stock.adobe.com

GitLab veut mettre ses agents IA au service des équipes de développement

Avec Duo Agent Platform, l’éditeur étend les fonctionnalités de GitLab Duo afin d’automatiser des tâches avec lesquelles les grands modèles de langage sont plus efficaces que les scripts. D’après Sabrina Farmer, CTO de GitLab, il s’agit d’aider les équipes et non plus seulement le développeur individuel.

Comme l’ensemble des acteurs du marché IT, GitLab est concentré sur l’ajout de fonctionnalités d’IA dans sa plateforme DevSecOps. Après avoir lancé son assistant GitLab Duo et sa version Self-Hosted, l’éditeur a présenté, le 17 juillet, la bêta publique de sa plateforme agentique. Elle est disponible pour ses clients Premium et Ultimate.

Pour rappel, GitLab Duo est le concurrent du très populaire GitHub Copilot (plus de 20 millions d’utilisateurs selon Microsoft). GitLab Duo Agent Platform est le moyen pour l’éditeur d’exécuter en parallèle plusieurs agents IA consacrés à certaines tâches de développement.

Duo Agent : une extension de fonctionnalités IA plutôt qu’une nouvelle plateforme

Les premières fonctionnalités sont divisées en deux grandes catégories. Il y a d’abord Duo Agentic Chat. C’est une extension de Duo Chat afin que l’assistant propulsé par un grand modèle de langage « cherche, retrouve et corrèle des informations en provenance de sources multiples », puis modifie des fichiers locaux.

Par défaut, Agentic Chat peut être configuré pour rechercher dans un historique des conversations avec Duo (maximum 200 000 tokens ou 800 000 caractères) et dans les projets GitLab. Un projet regroupe généralement le code, la documentation, les Merge Requests (l’équivalent des Pull Requests dans GitHub), la configuration CI/CD, et divers éléments liés à une application ou à un cas d’usage.

Mais cette recherche se fait par mot-clé. Selon la documentation de l’éditeur, Agentic Chat n’a pas de capacité de recherche sémantique.

« La recherche documentaire demeure un enjeu de taille », déclare Sabrina Farmer, CTO chez GitLab, auprès du MagIT. « Cela demande des algorithmes avancés. L’IA générative n’est pas forcément beaucoup plus performante qu’un moteur de recherche bien conçu ».

Agentic Chat peut en revanche analyser le contenu de sources externes à GitLab et les combiner avec les informations contenues dans les projets. Pour ce faire, l’éditeur prend en charge le protocole MCP (Model Context Protocol).

À travers Agentic Chat, un développeur « délègue » certaines tâches aux agents notamment pour expliquer, contextualiser et tester du code en tapant des commandes spécifiques. Des règles personnalisées – des prompts spécifiques – servent à dicter le comportement des LLM sous-jacents. Par défaut, GitLab utilise les modèles d’Anthropic et plus spécifiquement Claude Sonnet 4. Si ce modèle n’est pas forcément le meilleur pour suivre des instructions, le fait de les enregistrer dans un fichier Markdown l’aide à mieux les respecter. Il semble de plus en plus clair que ce langage de balisage (et XML dans une moindre mesure) favorise les performances des LLM.

Étrangement, GitLab autorise la création et le push de commits à travers l’interface utilisateur de sa plateforme, mais pas depuis les IDE auxquels s’intègre Agentic Chat.

L’autre volet de la « plateforme agentique » de GitLab, c’est la gestion de flux de développement.

Un flux représente, selon GitLab, la combinaison de plusieurs agents qui travaillent ensemble pour résoudre des « tâches complexes ». Ce mode est disponible dans les IDE VS Code et Jetbrains, ainsi qu’à travers l’interface utilisateur de GitLab.

Pour l’instant, les flux préétablis se comptent sur les doigts de la main. L’un d’entre eux sert à convertir des fichiers Jenkins en fichiers YAML pour GitLab CI, un autre convertit une « issue » en merge request. Un troisième (auparavant nommé GitLab Duo Workflow) doit permettre aux développeurs de configurer l’exécution de tâches dans des dépôts locaux après que le LLM a analysé leur base de code et leur documentation. Cette fonction, encore expérimentale, est compatible avec CSS, Go, HTML, JavaScript, Java, Markdown, Python, Ruby et TypeScript.

GitLab a fait en sorte de libeller des tokens OAuth associés à l’identité des développeurs afin que les LLM qui propulsent les flux puissent accéder temporairement aux API de recherche, des projets, des pipelines CI/CD, des merge requests, des epics, des issues, des notes et du ping de service. 

Se concentrer sur l’équipe, plutôt que sur les individus ou l’organisation

« Notre objectif avec la plateforme Duo Agent est d’aider les équipes de développeurs à commencer à gagner en efficacité », déclare Sabrina Farmer. « La suggestion de code, l’explication de documentation peuvent aider à rendre un individu 10 % plus efficace, mais cela ne rend pas l’équipe plus efficiente ».

« La suggestion de code, l’explication de documentation peuvent aider à rendre un individu 10 % plus efficace, mais cela ne rend pas l’équipe plus efficiente ».
Sabrina FarmerCTO, GitLab

La directrice technique estime qu’il faut pouvoir libérer le temps des développeurs afin qu’ils puissent le réinvestir dans les applications ou systèmes qu’ils bâtissent.

Une recette qu’elle applique en interne. « Je m’intéresse plus particulièrement aux interruptions dans la chaîne de livraison logicielle. Il s’agit d’identifier ce qu’un agent pourrait surveiller, anticiper et résoudre de manière autonome », affirme-t-elle. 

Par exemple, GitLab a développé un agent afin de surveiller les changements sur le front-end de sa plateforme, de vérifier qu’ils respectent les exigences d’accessibilité et de corriger le code à la marge. « Nous détectons de manière proactive les régressions ».

Étant donné que les LLM ont plus de mal à comprendre les grands environnements, GitLab et sa directrice technique estiment qu’il faut infuser l’IA générative à l’échelle d’une tâche spécifique, d’un projet ou d’une équipe. Au-delà de ces périmètres, l’on s’expose à de plus grands risques et l’adoption sera plus difficile, justifie Sabrina Farmer.

Sécuriser les intégrations, dans tous les sens du terme

L’éditeur veut poursuivre cet effort dans son produit. « Nous étudions donc où déployer des agents pour gérer notre écosystème, tout en travaillant très étroitement avec nos clients pour comprendre leurs flux de travail et rendre les agents plus accessibles », affirme-t-elle.

L’autre point sur la feuille de route de GitLab n’est autre que l’intégration de sa plateforme agentique en construction avec les outils d’IA, dont Cursor et Amazon Q Developer.

« Les différents outils, agents et modèles d’IA ont chacun leurs forces et leurs faiblesses. Il serait naïf de penser que la plateforme d’agents Duo sera la meilleure solution pour tout. Nous travaillons avec les fournisseurs d’agents IA pour éventuellement les intégrer à GitLab de manière sûre et responsable ».

« Les différents outils, agents et modèles d’IA ont chacun leurs forces et leurs faiblesses. Il serait naïf de penser que la plateforme d’agents Duo sera la meilleure solution pour tout ».
Sabrina FarmerCTO, GitLab

Pour rappel, GitLab a essuyé en mai des failles d’injection de prompts dans son assistant Duo. Un problème qui affecte une partie des acteurs sur la place, dont Google et AWS.

D’où les efforts prévus sur l’accès à ses API, la mise à disposition de serveurs MCP et la journalisation des événements.

« Ce sont des cases que nous essayons de cocher d’ici au lancement en disponibilité générale de Duo Agent Platform », assure Sabrina Farmer.

Il faut dire que GitLab ne doit pas accuser de retard face à ses concurrents et ses partenaires. GitHub a lancé un mode agent en mai, tandis que Google, AWS et Microsoft Azure sont tous en train de développer des agents de programmation à divers niveaux de leur plateforme.

Le self-managed, l’atout que veut conserver GitLab

Pour l’instant, les fonctionnalités annoncées sont compatibles avec les versions SaaS et Self-Managed de la plateforme GitLab. En revanche, elles ne sont pas compatibles avec le mode Self-Hosted. Ici, le déploiement est effectué en mode cloud hybride.

La disponibilité des serveurs MCP est déjà prévue sur site, depuis les éditions Self-Managed et Dedicated du système de gestion de code. Et il serait logique que GitLab rende Agent Platform compatible avec son assistant Duo Self-Hosted. Cette possibilité n’est pas encore confirmée.

« Nous voulons certifier tous nos produits sur toutes les plateformes », indique la CTO.

Pour approfondir sur Outils de développement