GitHub Copilot contre Amazon CodeWhisperer
La bataille pour le meilleur assistant de codage alimenté par l'IA a officiellement commencé !
GitHub Copilot et Amazon CodeWhisperer sont des assistants de codage alimentés par l'IA qui élèvent la saisie semi-automatique à un tout autre niveau. Au mieux, ils peuvent écrire des morceaux complets de code fonctionnel basés sur un petit texte descriptif donné par le développeur. Cela peut vous rendre plus efficace en tant que développeur
et, à mon avis, rendre le développement beaucoup plus amusant !✨
Alors sans plus tarder, commençons !
Qu'est-ce qu'un assistant de codage basé sur l'IA ?
GitHub Copilot et Amazon CodeWhisperer sont des services qui s'intègrent à votre éditeur de code et vous aident à écrire du code plus rapidement. Mais contrairement aux outils de saisie semi-automatique courants comme par exemple "IntelliSense", Copilot et CodeWhisperer utilisent des modèles d'apprentissage automatique qui ont été formés à la fois sur le code source et le langage naturel, leur permettant de comprendre à la fois la programmation et les langages humains. Cela leur permet de comprendre les commentaires écrits dans un anglais simple, de générer du code basé sur l'intention du développeur et de faire correspondre les modèles et le style du développeur. Au fur et à mesure que vous tapez, ils fournissent même des recommandations pour compléter le commentaire initial lui-même. Vous pouvez accepter la meilleure recommandation, afficher plus de recommandations ou simplement continuer à écrire votre propre code.
Passez moins de temps à créer des modèles de code passe-partout et répétitifs, et plus de temps sur ce qui compte : créer un excellent logiciel (GitHub Copilot)
Qu'est-ce que GitHub Copilot ?
GitHub Copilot a été développé par GitHub et OpenAI. Il est alimenté par le modèle Codex d'OpenAI, qui a été formé sur du code source accessible au public, y compris des référentiels publics sur GitHub. Copilot a été officiellement annoncé « hors aperçu technique » en juin 2022.
Copilot est très facile à utiliser et offre une intégration simplifiée avec tous les principaux éditeurs de code. GitHub Copilot est optimisé pour les sept principaux langages de programmation (voir le tableau ci-dessous pour plus de détails), mais est également capable de générer des suggestions dans d'autres langages et une grande variété de frameworks.
Copilot a été gratuit pendant la phase de prévisualisation, mais GitHub a récemment annoncé qu'il passerait à un modèle basé sur un abonnement. Vous pouvez toujours obtenir un essai gratuit de 60 jours, et il restera gratuit pour les étudiants vérifiés et les mainteneurs de projets open source populaires.
Qu'est-ce qu'Amazon CodeWhisperer ?
Amazon CodeWhisper a été développé par Amazon. Ses modèles ML sont formés sur diverses sources de données, y compris le code interne d'Amazon et le code open source.
CodeWhisperer est toujours en préversion et prend en charge à la fois moins de langues et moins d'éditeurs de code majeurs que GitHub Copilot. Cependant, un large support de langage et d'IDE n'est pas son principal attrait. Au lieu de cela, CodeWhisperer se concentre sur la fourniture d'un support de première classe pour les API AWS qui fournit des recommandations de code pour les API AWS sur les services les plus populaires, notamment Amazon Elastic Compute Cloud (EC2), AWS Lambda et Amazon Simple Storage Service (S3). La qualité plutôt que la quantité?
Selon ce billet de blog d'Amazon, un utilisateur devrait pouvoir écrire "télécharger un fichier sur S3.", et CodeWhisperer déterminera automatiquement quels services cloud et bibliothèques publiques sont les mieux adaptés à la tâche spécifiée, créera le code spécifique à la volée, et recommander les extraits de code générés directement dans l'IDE.
Pendant la période de prévisualisation, les développeurs peuvent utiliser CodeWhisperer gratuitement en s'inscrivant ici .
Comparaison
Lequel est le plus populaire ?
Compte tenu de la courte durée de vie de CodeWhisperer (sorti le mois dernier), je n'ai trouvé aucune donnée relative au nombre d'utilisateurs. Cependant, il est probablement prudent de dire que GitHub Copilot, avec son avance d'un an, est actuellement l'acteur dominant. Selon GitHub lui-même , plus de 1,2 million de développeurs ont utilisé l'aperçu technique de Copilot au cours des 12 derniers mois. Leurs propres recherches montrent que les utilisateurs ont accepté en moyenne 26 % de tous les achèvements indiqués par GitHub Copilot, et jusqu'à 40 % des fichiers de code des développeurs ont été générés par GitHub Copilot.
Qu'en est-il de la confidentialité ?
Pour améliorer leurs performances, Copilot et CodeWhisperer collectent des données auprès de leurs utilisateurs. Mettez-vous en danger la base de code ou les données de votre organisation en utilisant ces outils au travail ? C'est une question importante et un dealbreaker potentiel pour la plupart des entreprises.
Pour fournir des suggestions de code, GitHub Copilot envoie votre code et vos commentaires au service GitHub Copilot. Ce service s'appuie sur le contenu du fichier contextuel, à la fois dans le fichier que vous modifiez, ainsi que sur les fichiers voisins ou associés au sein d'un projet. Il peut également collecter les URL des référentiels ou des chemins de fichiers pour identifier le contexte pertinent. Certaines parties de la collecte de données peuvent être désactivées dans les paramètres de télémétrie. D'autres parties, telles que les informations d'utilisation, sont nécessaires à l'utilisation de Copilot et ne peuvent pas être désactivées. Cela peut inclure des données personnelles, comme indiqué dans la déclaration de confidentialité de GitHub .
GitHub déclare également que d'après leurs tests internes, ils ont trouvé qu'il était rare que les suggestions de GitHub Copilot incluent textuellement des données personnelles de l'ensemble de formation ("rare"..? ). Cependant, certaines de ces suggestions peuvent sembler être des données personnelles - adresses e-mail, numéros de téléphone, etc. - mais sont en fait des informations fictives synthétisées à partir de modèles de données de formation.
Amazon CodeWhisperer collecte également certaines informations telles que des informations contextuelles (y compris le contenu des fichiers), des commentaires, des métriques de télémétrie et des informations sur l'environnement de l'utilisateur. Dans leurs conditions d'utilisation, Amazon indique que pendant la phase de prévisualisation, ils peuvent vous offrir la possibilité d'activer ou de désactiver le partage de contenu.
Qu'en est-il des risques et des vulnérabilités ?
Les deux assistants sont formés sur le code public qui peut contenir des modèles de codage non sécurisés, des bogues ou des références à des API ou des idiomes obsolètes. L'étude « Endormi au clavier ? Évaluation de la sécurité des contributions de code de GitHub Copilot » a constaté que jusqu'à 40 % de leurs scénarios de test utilisant Copilot contenaient du code vulnérable.
GitHub admet que Copilot peut parfois suggérer des utilisations anciennes ou obsolètes des bibliothèques et des langages, et qu'il peut synthétiser du code contenant des modèles indésirables. Pour atténuer cela, ils suggèrent d'utiliser leur produit en combinaison avec des outils tels que GitHub Actions, Dependabot et CodeQL pour aider à améliorer la qualité du code.
Il en va de même pour Amazon, mais à leur crédit, Amazon a pris de grandes mesures pour contrer cela en fournissant des analyses de sécurité pour détecter les vulnérabilités dans les projets Java et Python.
Cela étant dit, vous devez toujours utiliser vos assistants de codage alimentés par l'IA avec des tests appropriés, de bonnes pratiques de révision de code et des outils de sécurité fiables, ainsi que votre propre jugement !
Qu'en est-il de la (mauvaise) utilisation du code public ?
Il y a eu une prise de conscience concernant l'utilisation substantielle du code public dans l'ensemble de formation. Idéalement, un assistant devrait générer systématiquement du code qui n'a jamais été vu auparavant. Si l'assistant récite à la place le code directement à partir de l'ensemble de formation, cela pourrait potentiellement le disqualifier d'être considéré comme un usage loyal et pourrait enfreindre le droit d'auteur du propriétaire d'origine.
Pour atténuer cela, Copilot dispose d'un filtre intégré qui tente de détecter et de supprimer les instances où une suggestion GitHub Copilot contient du code qui correspond au code public sur GitHub. Ce filtre est facultatif et peut être désactivé. Selon GitHub lui-même, Copilot produira des extraits de code textuels de plus de 150 caractères environ 1 % du temps. Ils attribuent cela aux cas où GitHub Copilot est incapable de glaner suffisamment de contexte à partir du code que vous écrivez, ou lorsqu'il existe une solution commune, voire universelle, au problème.
Semblable à Copilot, CodeWhisperer est également livré avec 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. En ce qui concerne la collecte de code écrit par l'utilisateur, Amazon déclare qu'il n'utilisera aucun code écrit par le développeur pour former davantage ses modèles pendant la phase de prévisualisation. Cependant, CodeWhisperer stocke les données d'activité des utilisateurs liées aux réponses des développeurs aux recommandations de code, telles que l'acceptation ou le rejet d'une recommandation. Le service utilise ces commentaires pour rendre ses modèles ML plus précis afin que CodeWhisperer puisse améliorer les recommandations futures.
Le gagnant est..?
GitHub Copilot est le gagnant en matière de prise en charge de la langue et de l'IDE. Il existe également depuis plus longtemps et est officiellement hors aperçu, ce qui donne à ses développeurs plus de temps pour corriger les bogues et lisser les bosses sur la route. Son utilisation nécessite un petit investissement financier, mais vous obtenez un produit entièrement fonctionnel et prêt à l'emploi.
Cependant, si vous travaillez dans l'environnement AWS, Amazon CodeWhisperer est probablement fait pour vous. J'admire vraiment les efforts d'Amazon pour être le premier fournisseur de services cloud à proposer un assistant de codage intelligent qui vise en grande partie leur propre produit, et j'espère que d'autres fournisseurs suivront (je te regarde, Azure !). De plus, leur détection de vulnérabilité intégrée pourrait également être une bonne raison de l'envisager. Enfin, le fait qu'il soit actuellement gratuit est une forte incitation à au moins l'essayer pendant qu'il est en avant-première. Cependant, cela vous obligera à vous inscrire et à attendre patiemment votre tour. ⏳
Enfin, prenons un instant pour apprécier le chemin parcouru par la technologie et les outils incroyables que nous sommes maintenant en mesure d'utiliser en tant que développeurs ! GitHub Copilot et Amazon CodeWhisperer sont des technologies étonnantes qui, je prédis, seront un outil indispensable pour tous les développeurs sérieux dans un avenir pas si lointain. Et alors que d'autres acteurs comme Google et Salesforce commencent à plonger leurs orteils dans l'eau, on a certainement l'impression que nous allons bientôt entrer dans une nouvelle ère en matière de développement de code.
J'espère que vous avez trouvé cet article utile. Merci d'avoir lu!
Note de l'éditeur:
GitHub Copilot a été extrêmement précieux dans mon travail de data scientist. Faire de l'analyse de données me demande souvent de tester rapidement des hypothèses. Comme je ne sais généralement pas à l'avance quel sera le résultat, je finis souvent par écrire beaucoup de code presque identique que je n'exécuterai qu'une seule fois, pour confirmer ou rejeter mon hypothèse. GitHub Copilot a été un excellent outil pour accélérer ce processus, et il s'intègre également bien avec tous les IDE préférés des data scientists, à savoir Jupyter Notebook (en VS Code) !
LES RÉFÉRENCES
- GitHub, votre programmeur de paire d'IA (2022), github.com
- Amazon, compagnon de codage alimenté par ML — Amazon CodeWhisperer — Amazon Web Services (2022), aws.amazon.com
- Amazon, AWS annonce Amazon CodeWhisperer (préversion) (2022), aws.amazon.com
- A. Desai et A. Deo, Présentation d'Amazon CodeWhisperer, le compagnon de codage propulsé par ML (2022), AWS Machine Learning Blog
- S. Bhattacharyya, Battle of AI-coding assistants: GitHub Copilot vs Amazon CodeWhisperer (2022), analyticsindiamag.com
- B. Dickson, GitHub Copilot est désormais public — voici ce que vous devez savoir (2022), venturebeat.com
- F. Lardinois, Amazon lance CodeWhisperer, un outil de programmation de paires d'IA de type GitHub Copilot (2022), techcrunch.com
- D. Gershgorn, l'outil de codage automatique de GitHub repose sur un fondement juridique non testé (2021), theverge.com
![Qu'est-ce qu'une liste liée, de toute façon? [Partie 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































