Copilot, la star de GitHub Universe 2023
Lors de la première journée de sa conférence GitHub Universe, la filiale indépendante de Microsoft a consacré les 45 minutes de sa conférence d’ouverture à Copilot, son assistant de développement désormais câblé pour les besoins des entreprises.
Désormais propulsé par GPT-4, GitHub Copilot serait utilisé par 1 million d’utilisateurs payants et plus de 37 000 organisations, selon la filiale de Microsoft. Même si cela ne représente qu’un 1 % des 100 millions de développeurs qui utiliseraient le SCM, la croissance est suffisamment forte pour que cela motive GitHub à infuser l’IA dans toute sa plateforme.
Selon l’entreprise, ce serait l’outil de développement propulsé à l’IA « le plus largement adopté ».
Stripe, Airbnb, SAS, Infosys, Mercedes Benz, Accenture ou encore le spécialiste du e-commerce argentin Mercado Libre sont quelques-unes des entreprises qui l’ont adopté ou qui sont en train de le faire.
« Nous sommes satisfaits de la marge brute positive que génère GitHub Copilot », assure Thomas Dohmke, CEO de GitHub, lors d’une conférence de presse.
GitHub Copilot Chat : simplifier les interactions avec l’assistant au développement
Afin de poursuivre sur sa lancée, l’éditeur a dévoilé Copilot Chat, qui entrera en disponibilité générale au mois de décembre. Alors que Copilot suggérait du code depuis les commentaires effectués dans l’IDE, Chat permet d’interagir avec le modèle en langage naturel. Les développeurs peuvent écrire une phrase complète ou utiliser des commandes « Slash » afin d’exécuter différentes tâches. Une simple sélection suffit pour obtenir des conseils sur une portion de code ou une ligne spécifique.
Les éléments générés ou suggérés dans l’interface de Copilot Chat peuvent être intégrés en un clic dans l’IDE.
Logiquement, la plus grande fenêtre de contexte de GPT-4 intime une plus large compréhension du code et de l’environnement du développeur. Ainsi, Copilot Chat peut être mis à contribution pour générer des tests unitaires dans un environnement sandbox. De même, l’outil dispose de fonctions d’explication de code et de production de commentaires.
Copilot Chat sera intégré à la souscription Individual et Business, sans coût supplémentaire. L’interface sera compatible avec VS et VS Code, ainsi qu’avec plusieurs IDE de Jetbrain. Il sera également accessible depuis github.com et l’application mobile de l’éditeur.
Copilot Enterprise : GitHub mise sur la combinaison du fine-tuning et de la recherche vectorielle
Pour les grands groupes, GitHub prépare le lancement de Copilot Enterprise pour février 2024 au prix de 39 dollars par utilisateur par mois. Cette édition impose d’utiliser GitHub Enterprise Cloud.
La version Enterprise inclut dans Copilot Chat des fonctionnalités d’IA générative pour résumer les pull requests et automatiser une partie de la revue de code. Surtout, elle permettra au grand compte de profiter de services de recherche vectorielle afin de trouver et de résumer des éléments dans leurs documentations.
En clair, GitHub met à disposition de ses clients grands comptes une architecture de Retrieval Augmented Generation (RAG).
De plus, les entreprises pourront fine tuner sur leurs propres bases de code le modèle sous-jacent de GitHub Copilot dérivé de GPT-4. « Cela fait sens pour une grosse base de code ou pour des composants très personnalisés », précise Thomas Dohmke.
Un tel exercice paraît peu évident tant que la qualité et la sécurité du code ne sont pas au rendez-vous. « Les administrateurs pourront sélectionner les dépôts et les portions de code sur lesquels ils souhaitent réaliser ce fine-tuning et nous mettons en place des procédures pour scanner le code à la recherche de vulnérabilités avant la procédure », renseigne le PDG.
« Quant au fine-tuning, nous nous appuyons sur les mêmes pipelines que Copilot lui-même [c’est-à-dire la pile technologique de Microsoft et plus spécifiquement Azure OpenAI, N.D.L.R], mais cette étape est un moyen de configurer les paramètres du modèle. Nous n’ajoutons pas de paramètres, nous ne stockons pas de code dans le modèle », poursuit-il.
À l’inférence, les versions du modèle fine-tuné seront également soumises à la détection de vulnérabilités, à l’aide d’un autre modèle LLM. AMD est le premier client à profiter du fine-tuning de GitHub Copilot Enterprise. Selon la démonstration présentée par GitHub, cela prendrait 36 heures pour effectuer ce fine-tuning sur cinq dépôts.
Thomas DohmkeCEO, GitHub
À l’inverse d’AWS qui a collaboré avec MongoDB pour entraîner Amazon CodeWhisperer sur des données spécifiques fournies par l’éditeur de base de données, Thomas Dohmke ne considère pas que ce niveau d’engagement – plusieurs mois de travail, au moins deux millions de dollars, à en croire les dires d’OpenAI – soit nécessaire.
« La plupart des entreprises n’ont pas besoin d’entraîner un modèle ou d’en affiner plusieurs, à moins qu’elles aient de grandes bases de code dans différents langages. Nous croyons que la combinaison du fine-tuning, dans le but de comprendre des aspects spécifiques du code, d’une recherche en temps réel dans une base de données et de plugins propulsés par une architecture RAG constitue la meilleure approche », indique le PDG.
Pour les connaissances en dehors de l’entreprise et de GitHub, l’éditeur compte sur un programme de partenariat afin de connecter Copilot aux outils tiers et étendre ses capacités. Pour l’heure, 25 sociétés participent à cette initiative, dont DataStax, HashiCorp, LaunchDarkly, Datadog et Postman. Par exemple, il sera possible de demander des conseils en langage naturel pour améliorer les performances des requêtes de la base Apache Cassandra gérée par DataStax.
Workspace : la « vision » de GitHub pour Copilot
La suite ? Faciliter la création de projets de développement à partir d’une idée exprimée dans une issue, un espace dans GitHub à la fois utilisé pour évoquer les bugs et effectuer des propositions d’amélioration.
C’est l’idée de Copilot Workspace, une « vision » que l’éditeur espère rendre réelle dès 2024. De cette issue, l’éditeur entend exploiter l’IA générative pour proposer un plan d’implémentation en fonction des connaissances de la base de code existante. Conception, exécution, test, correction automatisée… tout est pensé pour simplifier la tâche du développeur qui peut « diriger » les changements de plan en fonction de ses besoins.
« Nous remarquons que beaucoup de développeurs bloquent à cette phase. Ils peuvent avoir une bonne idée, mais ils vivent le syndrome de la page blanche », considère Inbal Shani, Chief Product Officer chez GitHub.
Bien évidemment, GitHub n’est pas le seul à proposer des outils de génération de code. Tabnine, AWS, Google Cloud, GitLab, ou encore Replit sont quelques-uns des acteurs qui se penchent sur le sujet. Pour autant, GitHub a lancé son assistant il y a déjà trois ans et profite déjà des retours d’expérience de ses clients. « Pour moi, le défi est de maintenir l’élan », signale Inbal Shani. « Nous, nous voyons les bénéfices que cela apporte au cycle de développement. Nous avons mis la barre haute pour continuer à innover afin de conserver notre avance », ajoute-t-elle.
L’IA générative au service des pratiques DevSecOps
Selon GitHub, les enjeux juridiques et la sécurité sont les deux préoccupations majeures des entreprises au moment d’adopter l’IA générative. Pour autant, il perçoit les modèles de fondation comme un moyen d’améliorer la sécurité du code. En ce sens, il a présenté GitHub Advanced Security. Un LLM qui est utilisé pour détecter les patterns de développement les plus vulnérables, les secrets présents dans le code ou encore les injections XSS.
Par ailleurs, l’outil Code Scanning autofix pourra suggérer des remédiations pour les éléments de code JavaScript et TypeScript à l’aide de CodeQL à même les pull requests.
Bien que le scanner détecte les secrets de 180 partenaires et 225 patterns différents, l’éditeur entend détecter des structures spécifiques ou génériques qu’il n’aurait pas en mémoire. Ce sont pour l’heure des suggestions présentées avec un niveau de confiance et non des détections exactes.
Il souhaite également mieux couvrir les authentifiants spécifiques à certaines entreprises. À l’instar, des Custom Instruction dans ChatGPT, une interface accessible en bêta limitée génère des expressions régulières dans le but de trouver ces mots de passe ou tokens dans les dépôts.
Les bénéfices de l’IA générative surpassent les risques, selon GitHub
Inbal Shani Chief Product Officer, GitHub
« Nous pensons que l’IA a sa place dans toutes les phases du cycle de développement, de la programmation, en passant par les tests, l’automatisation, jusqu’à la sécurité », affirme Inbal Shani. « L’IA n’est pas là pour remplacer le développeur, mais elle devient une assistante de choix ».
Interrogé sur le danger que représente les LLM dans les domaines de la sécurité, Jacob DePriest, responsable adjoint de la cybersécurité chez GitHub répond que « toute nouvelle technologie fait l’objet d’un usage dual ». En clair, les équipes de sécurité et les hackers exploitent la même technologie à des fins opposées. Pour autant, « l’impact que cela aura sur la sécurité du code, le fait d’intégrer des garde-fous dans les flux de travail des développeurs, sera bien plus important dans l’écosystème ».
Quant au surcoût que pourrait entraîner l’usage de LLMs à tous les étages de l’approche DevSecOps, le CSO adjoint considère « que ne pas le faire finira par coûter plus cher ».