Dmitry Nikolaev - stock.adobe.co
Les IDE de JetBrains génèrent du code localement
JetBrains devance GitHub Copilot dans une tendance de plus en plus populaire visant à contourner les problèmes de droits d’auteur et de confidentialité des données soulevés par les assistants d’IA basés sur le cloud.
Les utilisateurs abonnés aux IDE de JetBrains ont désormais accès à une fonctionnalité de complétion de code intégrée, basée sur un modèle de langage spécifique entraîné pour suggérer des lignes entières de code, ligne par ligne. Cette option comprend également des outils intégrés pour vérifier l’exactitude du code.
La fonctionnalité est disponible dans la version 2024.1 depuis cette semaine pour les IDE JetBrains IntelliJ IDEA, PyCharm, WebStorm, PhpStorm, GoLand et RubyMine. Ceux-là prennent en charge les langages de programmation Java, Kotlin, Python, JavaScript, TypeScript, CSS, PHP, Go et Ruby.
Dans une prochaine version, l’entreprise ajoutera la prise en charge de la fonction de génération de lignes entières de code dans ses IDE Rider, RustRover et CLion Nova, pour les langages C#, Rust et C++. Les modèles locaux de complétion de code de JetBrains vérifient également que les suggestions incluent de vraies variables et méthodes, ainsi que la syntaxe du code.
« L’un des principaux problèmes des outils de complétion de code propulsé à l’IA est qu’ils génèrent parfois des méthodes ou des variables qui n’existent pas. [l’utilisateur] doit accepter la suggestion avant de la corriger », signale Daniel Savenkov, ingénieur principal en machine learning chez JetBrains. « Pour compléter une ligne entière de code, avant d’afficher la suggestion, nous effectuons tous ces contrôles d’exactitude ».
Un équilibre à trouver entre productivité et sécurité
JetBrains propose déjà AI Assistant, un plugin basé sur le cloud qui peut générer des blocs de code, mais qui n’inclut pas encore la vérification des variables et les contrôles de justesse, selon les responsables de l’entreprise. Cette fonctionnalité de contrôle est prévue pour une prochaine version, indique l’éditeur.
Parce qu’il remplit des blocs entiers de code, l’assistant basé dans le cloud pourrait être mieux adapté aux développeurs qui ne sont pas sûrs de la manière de programmer tout ou partie d’une application. Quant à la complétion de code appliquée à une seule ligne, elle permettrait d’économiser environ 20 % de frappes pour les développeurs, selon un billet de blog de Jetbrains.
Un autre avantage de la complétion locale est que les utilisateurs soucieux de la sécurité et de la confidentialité n’ont pas besoin d’envoyer des données à un grand modèle de langage (LLM) basé dans le cloud via un réseau, comme ils doivent le faire avec des services tels que GitHub Copilot.
« Cela empêchera votre code de circuler sur le réseau », avance Andrew Cornwall, analyste chez Forrester Research, à propos de l’approche de JetBrains. « Le prix à payer est que vos développeurs seront moins productifs que s’ils pouvaient générer plus de code à la fois ».
Pour apaiser les inquiétudes générales relatives à la propriété intellectuelle, JetBrains a développé son propre modèle de langage de programmation restreint à 100 millions de paramètres. Il a été entraîné à l’aide d’un ensemble de données de code source ouvert avec des licences permissives pour cette version.
Selon M. Cornwall, les licences permissives sur les données d’entraînement ne résolvent pas totalement les problèmes potentiels de droits d’auteur, mais une seule ligne représente un risque plus faible qu’un bloc de code ou plus.
« La probabilité [qu’une équipe ou une entreprise] derrière un projet open source gagne un procès pour une seule ligne est nulle, mais à mesure que la taille du code généré augmente, les entreprises doivent être vigilantes », prévient l’analyste de Forrester. « À un moment donné, le code généré pourrait devenir suffisamment volumineux pour justifier un avis juridique indiquant que votre code contient de la [propriété intellectuelle] d’un projet sous licence permissive ».
L’intérêt pour la génération locale de code s’accroît
Les IDE de JetBrains devancent les outils de développement intégrés à GitHub Copilot, tels que Visual Studio Code de Microsoft, en proposant la génération locale de code, mais ce n’est pas la première initiative du genre sur le marché. Des assistants pouvant fonctionner localement sont également disponibles auprès d’éditeurs et de projets open source, notamment FauxPilot, LocalPilot, Salesforce CodeGen, Code Llama, StarCoder et Tabnine.
Selon Andy Thurai, analyste chez Constellation Research, Visual Studio Code reste l’IDE le plus utilisé au monde sans support local d’IA.
« GitHub Copilot a gagné en popularité grâce à son intégration et à sa génération de code transparente au sein de Visual Studio », explique Andy Thurai. « Cependant, les problèmes de licence et la télémétrie que le logiciel renvoie à Microsoft ont préoccupé de nombreux clients, de sorte que les modèles d’IA générant du code exécuté localement sont devenus populaires ».
Il est probable que GitHub propose un jour une version locale de Copilot, anticipe Michele Rosen, analyste chez IDC.
« GitHub s’est attaché à garantir une faible latence pour la génération de code, ce qui est l’un des points forts des modèles locaux », note Michele Rosen. « Pour les développeurs qui doivent conserver leur code sur site, les petits modèles de langage comblent le fossé entre les outils qu’ils peuvent utiliser et ceux qui exploitent les LLM dans le cloud ».
Pour approfondir sur Outils de développement
-
GenAI : l’option Self-Hosted de Gitlab Duo attise la curiosité des clients français
-
L’Oréal en pilote avancé sur l’IA générative appliquée au code
-
GenAI : Microsoft veut simplifier la mise en production des assistants de développement
-
GenAI et DevOps : GitLab veut convaincre les clients les plus exigeants