AI Assistant dans les IDE JetBrains

Read this post in other languages:

Mise à jour du 13 Juillet : La fonctionnalité AI Assistant est disponible dans les préversions des IDE JetBrains mais n’est pas fournie directement dans les versions 2023.2 stables des IDE mais peut être utilisée via l’installation d’un plugin. Veuillez noter que l’accès à cette fonctionnalité est actuellement limité mais que nous avons mis en place une liste d’attente.


Cette semaine, les builds EAP des IDE basés sur IntelliJ et des outils .NET comportent une nouvelle fonctionnalité majeure : l’AI Assistant. Cet article est consacré à la présentation de l’AI Assistant dans les IDE basés sur IntelliJ. Un autre article concernant les outils .NET sera publié prochainement.

L’IA générative et les grands modèles de langage (LLM) transforment profondément les outils de développement logiciel et l’intégration de cette technologie dans nos produits était pour nous une évidence. Notre approche pour la création de cette fonctionnalité d’AI Assistant est principalement fondée sur deux éléments :

  • Intégrer l’assistance par IA dans les workflows utilisateurs de base de l’IDE.
  • Établir un lien étroit entre les fonctionnalités d’IA et la compréhension du code, qui est depuis toujours l’un des grands points forts des IDE JetBrains.

Les fonctionnalités d’IA sont fournies par le service JetBrains AI. Ce service vous connecte de façon transparente, en tant qu’utilisateur du produit, à différents grands modèles de langage (LLM), et vous donne accès à des fonctionnalités spécifiques générées par IA dans de nombreux produits JetBrains. Il prend actuellement en charge OpenAI et héberge également plusieurs modèles plus petits créés par JetBrains. Nous prévoyons d’étendre la prise en charge à davantage de fournisseurs par la suite, afin de donner accès à nos utilisateurs aux meilleurs modèles et options disponibles.

Nous allons aussi prendre en charge des modèles locaux et sur site. Pour les modèles locaux, les fonctionnalités prises en charge seront certainement plus limitées.

Fonctionnalités d’IA

Le build EAP actuel fournit plusieurs fonctionnalités révélatrices de la direction dans laquelle avance notre travail :

Chat basé sur l’IA

Utilisez la fenêtre d’outils AI Assistant pour interagir avec le LLM, poser des questions ou itérer sur une tâche. L’IDE fournit un contexte spécifique au projet, notamment les langages et les technologies utilisés dans votre projet. Lorsque vous êtes satisfait du résultat, utilisez la fonction Insert Snippet at Caret insérer le code généré par IA dans l’éditeur ou copiez-le simplement.

Pour interroger l’IA sur un fragment de code spécifique, sélectionnez-le dans l’éditeur et appelez une action dans le menu AI Actions (disponible dans le menu contextuel de l’éditeur ou en utilisant le raccourci Alt+Entrée). L’action New chat using selection vous permet de fournir votre propre prompt ou requête. Vous pouvez ajouter des prompts d’assistance par IA standard supplémentaires en sélectionnant Explain code, Suggest refactoring ou Find potential problems, en fonction des besoins.

Génération de documentation

Si vous devez générer de la documentation pour une déclaration en utilisant un LLM, appelez le menu AI Actions et sélectionnez l’action Generate documentation. La génération de documentation est actuellement prise en charge pour Java, Kotlin et Python.

Pour Java et Kotlin, elle est suggérée lorsque vous utilisez la méthode standard de génération de stubs de commentaires de documentation : saisissez /**. L’IDE générera les parties statiquement connues du commentaire (telle que les balises @param dans Java) et l’IA générera le texte de la documentation pour vous.

Suggestions de nom

Lorsque vous renommez une déclaration Java, Kotlin ou Python, l’IA vous suggère des options de nom pour la déclaration en fonction de son contenu. Cela peut être désactivé dans Settings | Tools | AI Assistant.

Génération de message de commit

La boîte de dialogue de message de commit comporte désormais un bouton Generate Commit Message with AI Assistant. Cliquez sur ce bouton pour envoyer les diffs de vos modifications au LLM, qui générera un message de commit décrivant vos modifications.

Les fonctions de l’AI Assistant peuvent différer d’un produit à l’autre. Vous pouvez trouver plus d’informations dans les articles présentant l’AI Assistant pour chaque produit : CLion, GoLand, IntelliJ, PhpStorm, PyCharm, ReSharper, Rider, RubyMine, WebStorm et Fleet.

Accès aux fonctionnalités d’IA

Pour accéder aux fonctionnalités d’IA, vous devez être connecté au service JetBrains AI depuis votre compte JetBrains. Vous pouvez vous connecter depuis la fenêtre d’outils AI Assistant ou Settings | Tools | AI Assistant.

Veuillez noter que le service JetBrains AI ne pourra pas être accessible à tous dans l’immédiat. Nous allons commencer par un pool d’utilisateurs limité, et une fois la capacité maximale atteinte, nous mettrons les autres utilisateurs sur liste d’attente. D’autres personnes seront progressivement invitées à essayer le produit au cours des semaines à venir.

L’accès au service d’IA est actuellement limité aux territoires dans lesquels le service OpenAI est disponible. Vous trouverez la liste complète de ces territoires ici.

Le service d’IA est gratuit pendant toute la durée du cycle de programme d’accès anticipé. Nous fournirons les informations sur les modèles de licence et la tarification ultérieurement.

Comment nous gérons votre code et vos données

Lorsque vous utilisez les fonctionnalités d’IA, l’IDE doit envoyer vos requêtes et votre code au fournisseur de LLM. En plus de vos prompts, l’IDE peut envoyer des informations supplémentaires telles que des extraits de votre code, les types de fichiers, les frameworks utilisés, ou toute autre information pouvant être utile pour fournir du contexte au LLM.

De plus, les builds EAP qui incluent la fonctionnalité d’AI Assistant effectuent une collecte opt-in de données détaillées sur utilisation des fonctionnalités d’IA, ce qui inclut la communication entre vous et le LLM (texte et fragments de code). Ces données restent strictement confidentielles et sont uniquement utilisées par JetBrains pour améliorer ses produits. Elles ne sont jamais communiquées à des tiers, ni utilisées pour l’entraînement de modèles de machine learning générant du code ou du texte, ou révélées sous quelque forme que ce soit à d’autres utilisateurs.​​ L’option contrôlant la collecte de données détaillées se trouve dans la section Tools | AI Assistant | Data Sharing | Send AI Assistant usage statistics.

Pour plus de détails sur nos politiques de collecte des données, consultez notre site web.

Partagez vos retours d’expérience

Vos retours sur les nouvelles fonctionnalités sont extrêmement important pour nous à ce stade, qu’il s’agisse de témoignages positifs, de situations dans lesquelles l’IA n’a pas répondu à vos attentes ou de suggestions d’autres cas dans lesquels l’IA vous serait utile. Vous pouvez nous faire part de vos idées et suggestions en cliquant sur Share feedback dans la fenêtre d’outils AI Assistant et nous signaler tout bug de l’AI Assistant dans YouTrack. Merci !

Auteur de l’article original en anglais :

Delphine Massenhove

Dmitry Jemerov

Discover more