Présentation d'Amazon CodeWhisperer, le compagnon de codage basé sur le ML, PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Présentation d'Amazon CodeWhisperer, le compagnon de codage alimenté par ML

Nous sommes heureux d'annoncer Chuchoteur de code Amazon, un service basé sur le machine learning (ML) qui aide à améliorer la productivité des développeurs en fournissant des recommandations de code basées sur les commentaires naturels des développeurs et le code antérieur. Avec CodeWhisperer, les développeurs peuvent simplement écrire un commentaire qui décrit une tâche spécifique en langage courant, comme « télécharger un fichier sur S3 ». Sur cette base, CodeWhisperer détermine automatiquement les services cloud et les bibliothèques publiques les mieux adaptés à la tâche spécifiée, construit le code spécifique à la volée et recommande les extraits de code générés directement dans l'IDE.

Bien que le cloud ait démocratisé le développement d'applications en donnant un accès à la demande au calcul, au stockage, à la base de données, à l'analyse et au ML, le processus traditionnel de création d'applications logicielles oblige toujours les développeurs à passer beaucoup de temps à écrire des sections de code passe-partout qui ne le sont pas. directement lié au problème central qu'ils essaient de résoudre. Même les développeurs les plus expérimentés ont du mal à suivre le rythme de plusieurs langages de programmation, frameworks et bibliothèques de logiciels, tout en s'assurant qu'ils suivent la syntaxe de programmation correcte et les meilleures pratiques de codage. Par conséquent, les développeurs passent beaucoup de temps à rechercher et à personnaliser des extraits de code sur le Web. Avec CodeWhisperer, les développeurs peuvent rester concentrés dans l'IDE et profiter de recommandations contextuelles en temps réel, déjà personnalisées et prêtes à l'emploi. Moins de distractions loin de l'IDE et des recommandations en temps réel prêtes à l'emploi vous aident à terminer vos tâches de codage plus rapidement et à augmenter votre productivité.

Dans cet article, nous discutons des avantages de CodeWhisperer et de la manière de commencer.

Apporter la puissance du ML au bout des doigts du développeur

CodeWhisperer est disponible dans le cadre de l'extension AWS Toolkit pour les principaux IDE, notamment JetBrains, Visual Studio Code et AWSCloud9. D' AWS Lambda console, CodeWhisperer est disponible en tant que fonctionnalité de suggestion de code natif. Au lancement, vous pouvez utiliser CodeWhisperer pour générer des recommandations de code pour Python, Java et JavaScript. Vous pouvez installer AWS Toolkit en accédant à l'écran du plug-in ou de l'extension de votre IDE et en recherchant AWS Toolkit.

Présentation d'Amazon CodeWhisperer, le compagnon de codage basé sur le ML, PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Une fois CodeWhisperer activé, vous commencez automatiquement à recevoir des recommandations de code dans votre IDE lorsque vous commencez à écrire votre code ou vos commentaires. En rencontrant les développeurs là où vous vous trouvez, nous rendons CodeWhisperer facile à utiliser et à expérimenter. Vous pouvez démarrer en quelques minutes et commencer immédiatement à profiter des avantages de la productivité.

Bien plus que la saisie semi-automatique traditionnelle

Les outils de saisie semi-automatique traditionnels fournissent des complétions d'un seul mot, par exemple, une liste de propriétés ou de méthodes pour un objet. CodeWhisperer offre un bien meilleur gain de productivité en générant des fonctions entières et des blocs de code logiques à la fois. En outre, CodeWhisperer comprend l'intention du développeur telle qu'exprimée par des commentaires en anglais clair. L'exemple suivant montre comment CodeWhisperer génère l'intégralité de la fonction pour convertir un fichier JSON en fichier CSV, tout en tenant compte de l'intention du développeur d'utiliser les clés du fichier JSON comme en-têtes du fichier CSV.

Présentation d'Amazon CodeWhisperer, le compagnon de codage basé sur le ML, PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Créer des applications sur AWS est devenu plus facile

CodeWhisperer permet aux développeurs d'utiliser facilement les services AWS en fournissant des recommandations de code pour les interfaces de programmation d'applications (API) AWS sur les services les plus populaires, notamment Cloud de calcul élastique Amazon (Amazon EC2), Lambda et Service de stockage simple Amazon (Amazon S3). Lorsque vous écrivez du code dans votre IDE, CodeWhisperer analyse automatiquement le commentaire, assemble le code à l'aide des services cloud pertinents et des bibliothèques de logiciels publiques pour la fonctionnalité souhaitée, et recommande des extraits de code et même des fonctions entières directement dans l'IDE qui répondent aux meilleures pratiques. L'exemple suivant montre comment CodeWhisperer peut générer l'intégralité de la fonction pour charger un fichier sur Amazon S3 à l'aide du chiffrement côté serveur.

Présentation d'Amazon CodeWhisperer, le compagnon de codage basé sur le ML, PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Exploiter la puissance de l'IA de manière responsable

Nous avons formé le modèle CodeWhisperer sur de grandes quantités de code accessible au public afin d'améliorer la précision des recommandations. En termes simples, la précision du modèle est directement proportionnelle à la taille des données d'apprentissage. Et même si cela nous a aidés sur le plan de la précision, ces types de modèles peuvent également apprendre des modèles indésirables. Nous pensons que si l'IA peut sans aucun doute augmenter la productivité, nous devons exploiter ce pouvoir de manière responsable. Il existe quelques fonctionnalités exceptionnelles qui rendent CodeWhisperer unique dans cet espace.

Chez AWS, nous aimons dire que la sécurité est le travail zéro. C'est pourquoi CodeWhisperer offre également la possibilité d'exécuter des analyses sur votre code (généré par CodeWhisperer et écrit par vous) pour détecter les vulnérabilités de sécurité. La capture d'écran suivante illustre la fonctionnalité d'analyse de sécurité de CodeWhisperer. Nous avons inclus un extrait de code qui peut provoquer une fuite de ressources. Lorsque vous choisissez Exécuter l'analyse de sécurité, CodeWhisperer détecte cette vulnérabilité et affiche le problème.

Présentation d'Amazon CodeWhisperer, le compagnon de codage basé sur le ML, PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Deuxièmement, nous fournissons un tracker de référence qui peut détecter quand les sorties générées peuvent être similaires à des données de formation particulières. Bien que le modèle ait appris à écrire du code et génère un code entièrement nouveau basé sur l'apprentissage, dans de très rares cas, une recommandation de code générée indépendamment peut ressembler à un extrait de code unique dans les données de formation. En vous avertissant lorsque cela se produit et en vous fournissant les informations de référentiel et de licence, CodeWhisperer vous permet de décider plus facilement d'utiliser le code dans votre projet et de faire les attributions de code source pertinentes comme bon vous semble.

CodeWhisperer vous indique en temps réel que la recommandation de code actuelle que vous voyez peut être similaire à un code de référence en affichant une notification dans la fenêtre contextuelle des recommandations. Dans la capture d'écran suivante, le code généré s'avère similaire à un code de référence sous licence MIT. Si le développeur accepte la recommandation, CodeWhisperer enregistre l'acceptation et les informations de licence correspondantes. Vous pouvez ensuite afficher le journal de référence en choisissant Ouvrir le panneau de référence CodeWhisperer sous le nœud CodeWhisperer.

Présentation d'Amazon CodeWhisperer, le compagnon de codage basé sur le ML, PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Enfin, nous mettons en œuvre des techniques pour détecter les préjugés basés sur des stéréotypes courants. Nous avons mis en place des filtres qui détectent les biais évidents dans le code généré et suppriment les recommandations de code pouvant être considérées comme biaisées et injustes. Par exemple, imaginez un logiciel de recrutement qui aide les responsables du recrutement en présélectionnant automatiquement les candidats. En cas d'égalité, le logiciel dépend d'une logique de départage. Lors de la génération d'une recommandation pour ce scénario, il est possible qu'un modèle d'IA génère du code qui favorise les candidats en fonction de paramètres inappropriés. CodeWhisperer peut détecter les biais dans ses recommandations et les filtrer avant même de montrer des recommandations au développeur.

Libérer les gains de productivité avec CodeWhisperer

« Les distractions sont un défi constant lors du codage, en particulier lorsqu'il est nécessaire de changer de contexte pour rechercher des exemples de code et de la documentation sur le Web. Amazon CodeWhisperer me permet de rester concentré sur le code en proposant automatiquement des suggestions utiles au moment où j'en ai besoin, de sorte que je n'ai jamais à quitter mon éditeur.

– Ryan Grove, ingénieur logiciel chez SmugMug.

« Nous sommes ravis de travailler avec AWS pour intégrer Amazon CodeWhisperer à la plateforme IntelliJ. Chez JetBrains, notre objectif est de faire du développement de logiciels une expérience fluide et agréable. La disponibilité du plug-in pour nos outils aidera les développeurs à rester concentrés sur leur IDE et réduira le besoin de rechercher et de personnaliser des extraits de code sur le Web. À partir d'aujourd'hui, les utilisateurs d'IntelliJ IDEA, PyCharm et WebStorm peuvent commencer à travailler avec Amazon CodeWhisperer directement dans leur IDE, et d'autres IDE seront pris en charge dans un proche avenir.

– Max Shafirov, PDG de JetBrains.

Pour commencer

Pendant la période de prévisualisation, CodeWhisperer est disponible gratuitement pour tous les développeurs du monde entier. Pour accéder au service en avant-première, rejoignez la liste d'attente en signer. Pour plus d'informations sur le service, visitez Chuchoteur de code Amazon.


À propos des auteurs

Présentation d'Amazon CodeWhisperer, le compagnon de codage basé sur le ML, PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Ankur Desaï est chef de produit principal au sein de l'équipe AWS AI Services.

Présentation d'Amazon CodeWhisperer, le compagnon de codage basé sur le ML, PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Atul Déo est directeur de la gestion des produits au sein de l'équipe AWS AI Services.

Horodatage:

Plus de Apprentissage automatique AWS