CodeWhisperer : AWS a aussi son « IA qui code »

Dans la lignée du passage de GitHub Copilot en phase commerciale, CodeWhisperer, son concurrent made in AWS, passe en phase expérimentale.

Qui n’a pas son « assistant codeur » ? Cette semaine, on a eu droit à une annonce de GitHub : son outil Copilot est passé en phase commerciale. AWS lui a emboîté le pas avec CodeWhisperer… qui n’en est toutefois pas au même stade de développement (phase expérimentale, sur inscription).

exemple Python
Exemple de code Python pour stocker un fichier sur un compartiment S3

En surface, CodeWhisperer partage bien des traits avec Copilot. Il est lui aussi entraîné sur « des milliards de lignes de code ». AWS mentionne quatre sources : des projets open source, des dépôts internes (liés notamment à Amazon.com), de la documentation API et des forums.

Comme Copilot, CodeWhisperer fournit des recommandations* autant à partir du code que des commentaires (en anglais). Lui aussi peut tirer du contexte depuis d’autres fichiers du même projet.

CodeWhisperer parle Python, Java et JavaScript

Il y a aussi des différences entre les deux produits. L’écart de maturité se ressent notamment dans les langages pris en charge. Officiellement, CodeWhisperer se limite pour le moment à Python, Java et JavaScript. Concernant les IDE pris en charge, c’est Visual Studio Code, JetBrains (IntelliJ, PyCharm, WebStorm) et AWS Cloud9. La console Lambda va s’ajouter à la liste, nous assure-t-on.

Comme GitHub, AWS appelle les développeurs à la vigilance quant aux recommandations qui leur sont faites. Et leur rappelle qu’en tant que propriétaires du code généré, ils en ont la responsabilité.

AWS ne compte pas exploiter, tout du moins « pendant la preview », le code que créeront les utilisateurs de CodeWhisperer. Seront en revanche collectées des données d’activité ; en particulier les taux d’acceptation et de refus des suggestions.

CodeWhisperer sécurité

* Ces recommandations peuvent « souvent consister en plus de 10-15 lignes de code », nous affirme-t-on. Conseil : privilégier des commentaires courts associables à des tâches précises n’impliquant pas de fonction trop longue. Un nommage « intuitif » des éléments de code (variables, docstrings…) est recommandé.

Illustration principale © Microsoft