L’avenir du développement logiciel est-il un IDE alimenté par l’IA ? GitHub lance l’idée.
Avant sa conférence annuelle GitHub Universe à San Francisco au début de l’automne, GitHub a annoncé Copilot Workspace, un environnement de développement qui exploite ce que GitHub décrit comme des « agents propulsés par Copilot » pour aider les développeurs à réfléchir, planifier, créer, tester et exécuter du code en langage naturel. .
Jonathan Carter, responsable de GitHub Next, l’équipe R&D logicielle de GitHub, présente Workspace comme une sorte d’évolution de Copilot, l’assistant de codage basé sur l’IA de GitHub, vers un outil plus général, s’appuyant sur des fonctionnalités récemment introduites telles que Copilot Chat, qui permet aux développeurs de poser des questions sur le code. en langage naturel.
« Grâce à nos recherches, nous avons constaté que, pour de nombreuses tâches, le plus gros point de friction pour les développeurs était de démarrer, et en particulier de savoir comment aborder un problème. [coding] problème, savoir quels fichiers modifier et savoir comment envisager plusieurs solutions et leurs compromis », a déclaré Carter. «Nous voulions donc créer un assistant IA capable de rencontrer les développeurs dès le début d’une idée ou d’une tâche, de réduire l’énergie d’activation nécessaire pour commencer, puis de collaborer avec eux pour effectuer les modifications nécessaires sur l’ensemble de la base de base.»
Au dernier décompte, Copilot comptait plus de 1,8 million de clients particuliers payants et 50 000 entreprises clientes. Mais Carter envisage une base beaucoup plus large, attirée par des extensions de fonctionnalités très attrayantes, comme Workspace.
« Étant donné que les développeurs passent beaucoup de temps à travailler sur [coding issues], nous pensons que nous pouvons contribuer chaque jour à responsabiliser les développeurs grâce à un « partenariat réfléchi » avec l’IA », a déclaré Carter. « Vous pouvez considérer Copilot Workspace comme une expérience complémentaire et un environnement de développement qui complète les outils et flux de travail existants et permet de simplifier une classe de tâches de développement… Nous pensons qu’il y a beaucoup de valeur qui peut être apportée dans un environnement de développement natif d’IA qui n’est pas » Je ne suis pas limité par les flux de travail existants.
Il existe certainement une pression interne pour rentabiliser Copilot.
Copilot perd en moyenne 20 $ par mois et par utilisateur, selon un rapport du Wall Street Journal, certains clients coûtant à GitHub jusqu’à 80 $ par mois. Et le nombre de services concurrents ne cesse de croître. Il y a CodeWhisperer d’Amazon, que la société a rendu gratuit aux développeurs individuels à la fin de l’année dernière. Il existe également des startups, comme Magic, Tabnine, Codegen et Laredo.
Étant donné un dépôt GitHub ou un bogue spécifique dans un dépôt, Workspace — soutenu par le modèle GPT-4 Turbo d’OpenAI — peut élaborer un plan pour (tenter d’) éliminer le bogue ou implémenter une nouvelle fonctionnalité, en s’appuyant sur une compréhension des commentaires du dépôt, réponses aux problèmes et base de code plus grande. Les développeurs reçoivent une suggestion de code pour le correctif de bogue ou la nouvelle fonctionnalité, ainsi qu’une liste des éléments dont ils ont besoin pour valider et tester ce code, ainsi que des contrôles pour le modifier, l’enregistrer, le refactoriser ou l’annuler.
Le code suggéré peut être exécuté directement dans Workspace et partagé entre les membres de l’équipe via un lien externe. Ces membres de l’équipe, une fois dans Workspace, peuvent affiner et modifier le code comme bon leur semble.
Le moyen le plus évident de lancer Workspace consiste peut-être à utiliser le nouveau bouton « Ouvrir dans Workspace » à gauche des problèmes et des demandes d’extraction dans les dépôts GitHub. Cliquer dessus ouvre un champ pour décrire la tâche de génie logiciel à accomplir en langage naturel, comme « Ajouter de la documentation pour les modifications apportées à cette demande d’extraction », qui, une fois soumise, est ajoutée à une liste de « sessions » dans la nouvelle vue dédiée de l’espace de travail.
Workspace exécute systématiquement les demandes étape par étape, créant une spécification, générant un plan puis mettant en œuvre ce plan. Les développeurs peuvent se plonger dans n’importe laquelle de ces étapes pour obtenir une vue granulaire du code et des modifications suggérés et supprimer, réexécuter ou réorganiser les étapes si nécessaire.
« Si vous demandez à un développeur où il a tendance à se retrouver coincé avec un nouveau projet, vous l’entendrez souvent répondre qu’il s’agit de savoir par où commencer », a déclaré Carter. « Copilot Workspace allège ce fardeau et donne aux développeurs un plan à partir duquel commencer à itérer. »
Workspace entre en avant-première technique lundi, optimisé pour une gamme d’appareils, y compris les mobiles.
Il est important de noter qu’étant donné qu’il est en version préliminaire, Workspace n’est pas couvert par la politique d’indemnisation IP de GitHub, qui promet d’aider à couvrir les frais juridiques des clients confrontés à des réclamations de tiers alléguant que le code généré par l’IA qu’ils utilisent porte atteinte à la propriété intellectuelle. (Les modèles d’IA générative régurgitent notoirement leurs ensembles de données de formation, et GPT-4 Turbo a été formé en partie sur du code protégé par le droit d’auteur.)
GitHub indique qu’il n’a pas déterminé comment il va produire Workspace, mais qu’il utilisera l’aperçu pour « en savoir plus sur la valeur qu’il offre et comment les développeurs l’utilisent ».
Je pense que la question la plus importante est la suivante : Workspace résoudra-t-il les problèmes existentiels entourant Copilot et d’autres outils de codage basés sur l’IA ?
Une analyse de plus de 150 millions de lignes de code engagées dans les dépôts de projets au cours des dernières années par GitClear, le développeur de l’outil d’analyse de code du même nom, a révélé que Copilot entraînait le transfert d’un plus grand nombre de codes erronés vers les bases de code et d’un plus grand nombre de codes. ré-ajouté au lieu d’être réutilisé et rationalisé, créant des maux de tête pour les responsables du code.
Ailleurs, des chercheurs en sécurité ont averti que Copilot et des outils similaires peuvent amplifier les bugs et problèmes de sécurité existants dans les projets logiciels. Et les chercheurs de Stanford ont découvert que les développeurs qui acceptent les suggestions des assistants de codage basés sur l’IA ont tendance à produire du code moins sécurisé. (GitHub m’a souligné qu’il utilise un système de prévention des vulnérabilités basé sur l’IA pour tenter de bloquer le code non sécurisé en plus d’un filtre de duplication de code facultatif pour détecter les régurgitations du code public.)
Pourtant, les développeurs n’ont pas peur de l’IA.
Dans un sondage StackOverflow de juin 2023, 44 % des développeurs ont déclaré qu’ils utilisent désormais des outils d’IA dans leur processus de développement, et 26 % prévoient de le faire bientôt. Gartner prédit que 75 % des ingénieurs logiciels d’entreprise emploieront des assistants de code IA d’ici 2028.
En mettant l’accent sur l’examen humain, Workspace peut peut-être effectivement aider à nettoyer une partie du désordre introduit par le code généré par l’IA. Nous le saurons bien assez tôt lorsque Workspace sera entre les mains des développeurs.
« Notre objectif principal avec Copilot Workspace est d’exploiter l’IA pour réduire la complexité afin que les développeurs puissent exprimer leur créativité et explorer plus librement », a déclaré Carter. « Nous croyons sincèrement que la combinaison de l’humain et de l’IA sera toujours supérieure à l’un ou l’autre seul, et c’est sur cela que nous parions avec Copilot Workspace. »