Amazon Q Developer vs GitHub Copilot : deux assistants de code efficaces mais aux positionnements distincts

Amazon Q Developer vs GitHub Copilot : deux assistants de code efficaces mais aux positionnements distincts La solution de Microsoft a pour avantage d'être généraliste, là où l'offre d'AWS se positionne comme un outil beaucoup plus spécialisé. En termes fonctionnels, les deux offrent tendent à se rapprocher.

L'arrivée des solutions d'IA dans le domaine du développement informatique bouleverse les habitudes des développeurs. Parmi les outils d'assistance les plus en vue sur ce terrain, GitHub Copilot, porté par Microsoft, fait figure de pionnier en proposant une assistance contextuelle basée sur des modèles d'IA générative. En réponse à cette solution, AWS a lancé Amazon Q Developer qui propose des services similaires. Force est de constater que les deux solutions sont désormais au coude à coude en termes de fonctionnalités. Elles n'en affichent pas moins des positionnements assez différents.

Il faut dire que Copilot a historiquement une longueur d'avance. Le produit a été lancé en octobre 2021 alors que la sortie d'Amazon Q remonte à novembre 2023. "Copilot est intégré à un environnement natif chez les développeurs, qui est celui des dépôts de code GitHub. C'est sa grande force", argue Pierre-Olivier Patin, vice-président et global CTO applications & cloud technologies chez Sogeti (filiale de Capgemini). Depuis, Amazon Q a rattrapé son retard.

Fonctionnalités et points forts
Critères GitHub Copilot Amazon Q Developer
Modèle d'IA Basé sur GPT-4 Basé sur les modèles AWS
Langages supportés JavaScript, Python, Java, Ruby, Go, PHP, C++, C#, Swift, etc.  JavaScript, Python, Java, TypeScript, C++, C#, Go, Rust, PHP, etc.
Frameworks supportés React, Angular, Vue. js, Node, etc. NC
Compatibilité IDE Visual Studio Code, Visual Studio, Vim, Neovim, JetBrains, Azure Data Studio VS Code, JetBrains, Visual Studio, IntelliJ
Tarification Prix d'entrée de 10 dollars par mois et par utilisateur Prix d'entrée de 19 dollars par mois et par utilisateur
Fonctionnalités principales Génération et complétion de code Génération, optimisation et analyse
Public cible Généraliste, large communauté de développeurs Spécialisé AWS et architectures cloud
Avantages Facile à intégrer, large support d'IDE Intégration native avec les services AWS

GitHub Copilot repose sur le modèle de langue GPT-4 d'OpenAI. Il fonctionne à la manière d'un assistant directement intégré aux environnements de développement les plus populaires tels que Visual Studio Code, Visual Studio, JetBrains ou Neovim. Il permet de générer des blocs de code entièrement fonctionnels en se basant sur les commentaires, le contexte et les lignes déjà écrites. Il assiste également dans la complétion du code en temps réel.

Amazon Q Developer, quant à lui, s'appuie sur les capacités des modèles d'IA développés par AWS, pour analyser les applications et générer du code. Prise en charge par Visual Studio Code et les IDE JetBrains, la solution est étroitement liée à l'écosystème du cloud d'Amazon (AWS). Elle facilite notamment l'intégration avec les services cloud AWS Lambda, Amazon S3, EC2 et les bases de données comme Amazon RDS ou DynamoDB. "Amazon Q cible non seulement la génération de code, mais également l'analyse des architectures AWS pour proposer des optimisations et des résolutions d'erreurs", résume Pierre-Olivier Patin.

Fin 2023, AWS a annoncé la prise en charge de la transformation d'applications Java par Amazon Q Developer, soit l'automatisation par l'assistant de la migration d'applications Java vers une version plus récente du langage du même nom. "Désormais, GitHub Copilot commence lui-aussi à gérer cette possibilité", observe Pierre-Olivier Patin.

Une solution plus chère chez AWS

GitHub Copilot brille par sa capacité à fournir des suggestions de code rapides et contextuelles grâce à sa base d'entraînement étendue, qui inclut d'immenses dépôts open source. Son fonctionnement est fluide et bien adapté aux langages les plus utilisés comme Python, JavaScript, Java, C++, Go ou TypeScript. Toutefois, les suggestions peuvent parfois manquer de pertinence dans des scénarios très spécifiques ou dans des langages moins courants.

Amazon Q propose une approche complémentaire en s'étendant à des suggestions alignées sur l'environnements d'AWS. "Les utilisateurs bénéficieront via cet outil d'une précision accrue lorsqu'il s'agit de développer des architectures serverless ou d'intégrer des services AWS complexes", reconnaît Pierre-Olivier Patin. Les suggestions de code d'Amazon Q sont également accompagnées de recommandations pour améliorer la performance et la sécurité des applications. Par exemple, Amazon Q est capable d'analyser les logs et les métriques directement issues d'Amazon CloudWatch pour identifier et résoudre des problèmes.

Le modèle de tarification constitue un élément différenciateur entre Amazon Q Developer et GitHub Copilot. Le prix d'entrée du premier s'élève à 19 dollars par mois et par utilisateur là où celui du second se limite à 10 dollars par mois et par utilisateur. Dans les deux cas ces versions payantes, à la différence des éditions gratuites, ouvrent la voie à un entraînement sur des bases de code spécifiques au client.

Cap sur l'agentique

"Plus globalement, ces deux applications évoluent en passant de simples assistants de code en mode chat à des agents capables de réaliser des séquences de transformations complexes en subdivisant une tâche en sous-tâches. C'est notamment ce que réalise GuitHub avec son initiative Workspace", souligne Pierre-Olivier Patin.

Copilot Workspace se présente sous la forme d'un environnement agentique poussant très loin le recours à l'IA. Sur le papier, il permet de traduire directement des descriptions de besoin business en code applicatif. L'agent de planification sous-jacent capture les intentions, propose une stratégie et met en œuvre le code nécessaire. Au final, cette brique offre une assistance complète pour chaque étape du développement, de la conception à la mise en œuvre, en passant par la collaboration et la validation. "GitHub pousse également ses partenaires à venir incorporer des agents sur sa plateforme. C'est par exemple le cas d'Atlassian", complète Pierre-Olivier Patin.

Du côté d'Amazon Q, des agents sont également mis en musique pour générer du code en réponse à un besoin fonctionnel. Ils permettent également de documenter et de refactoriser du code existant, mais aussi de mettre en œuvre des tests unitaires. "Vous pouvez décrire une nouvelle fonctionnalité à Amazon Q qui analysera en quelques minutes votre base de code, élaborera un planning de mise en œuvre étape par étape et, après votre approbation, exécutera les modifications nécessaires", détaille-t-on chez Amazon.

Vers le multi-agents

"Ici, les deux solutions se situent dans la même logique. Elles proposent un plan d'actions au développeur qui reste seul maître à bord. Sachant que l'opération à réaliser peut-être complexe. Il peut s'agir typiquement d'automatiser la migration d'une application dans le cloud en prenant en compte toutes ses dépendances", argue Pierre-Olivier Patin. Partant de là, l'IA agentique laisse entrevoir un potentiel important dans le futur. "On pourrait envisager des assistants de code orchestrant l'intervention de plusieurs agents associés chacun à un rôle bien défini au sein de la chaîne de développement : business analyst, développeur d'API, réviseur de code, testeur...", égraine Pierre-Olivier Patin.

Même si GitHub Copilot et Amazon Q tendent à s'aligner en termes fonctionnels, ce comparatif met en évidence deux approches différentes de l'assistance au développement par l'IA. D'un côté, Copilot offre une solution généraliste qui balaiera très largement au sein de la communauté des développeurs, tandis qu'Amazon Q se distingue par sa profonde intégration à l'écosystème AWS.