GitHub lance Copilot, une fonctionnalité d'aide au développement basée sur l'intelligence artificielle

30 juin 2021 à 17h23
7
© GitHub
© GitHub

GitHub et OpenAI ont présenté leur nouvel outil pour les développeurs, Copilot.

Copilot est décrit comme une aide à la programmation qui interprète le contexte d'un code et des commentaires écrits précédemment pour faire des suggestions afin de les compléter.

Du code généré automatiquement à partir de commentaires

Copilot est, comme son nom l'indique, une aide à la programmation censée simuler une sorte de pair programming. Développé à l'aide d'OpenIA, le programme a été entraîné grâce à des milliards de lignes de code public et est censé pouvoir comprendre le contexte d'un code écrit par un développeur pour lui faire des suggestions.

Dans les exemples donnés par GitHub, on peut voir un commentaire décrivant la logique d'une fonction et le nom de celle-ci être interprétés par Copilot, qui propose alors des lignes de code pour créer la fonction en question.

Il peut également être utilisé pour générer automatiquement du code répétitif ou même des tests de fonctions créées précédemment, et si la première suggestion ne convient pas, il est possible d'en choisir facilement une autre.

Il faut noter que pour le moment, Copilot ne comprend que l'anglais et que les commentaires et les noms des fonctions devront donc être écrits dans cette langue pour pouvoir être interprétés. GitHub indique qu'il fonctionne particulièrement bien avec JavaScript, TypeScript, Python, Ruby et Go, mais qu'il comprend des douzaines de langages de programmation.

Des fonctionnalités encore imparfaites

Si les promesses sont impressionnantes, il faut tout de même garder en tête que Copilot n'a pas vocation à remplacer les développeurs. Ayant été entraîné sur du code public et ne pouvant pas pour le moment tester ses suggestions lui-même, il est possible que ses propositions contiennent des erreurs, voire du code déprécié et qui peut poser des problèmes de sécurité. Il est donc nécessaire de les vérifier et de les tester avant de les utiliser en production. De plus, il n'est pour le moment pas capable que d'interpréter ce qui a été écrit sur le fichier en cours de modification.

Quant aux questions de droits, les développeurs pourront d'utiliser tout code généré par le programme sans avoir à le créditer et celui-ci leur appartiendra. De plus, des tests ont été réalisés pour s'assurer qu'il ne copiait pas du code provenant de son entraînement et GitHub a trouvé qu'il ne le faisait que dans 0,1 % des cas.

Pour le moment, Copilot est disponible en tant qu'extension de Visual Studio Code pour un nombre limité de testeurs. Si vous souhaitez en faire partie, il est nécessaire de s'inscrire sur GitHub. Si les tests sont concluants, Copilot deviendra une fonctionnalité payante.

Sources : The Hacker News, GitHub

Fanny Dufour

Arrivée dans la rédaction par le jeu vidéo, c’est par passion pour le développement web que je me suis intéressée plus largement à tout ce qui gravite autour de notre consommation des outils numérique...

Lire d'autres articles

Arrivée dans la rédaction par le jeu vidéo, c’est par passion pour le développement web que je me suis intéressée plus largement à tout ce qui gravite autour de notre consommation des outils numériques, des problématiques de vie privée au logiciel libre en passant par la sécurité. Fan inconditionnelle de science-fiction toujours prête à expliquer pendant des heures pourquoi Babylon 5 est ma série préférée.

Lire d'autres articles
Vous êtes un utilisateur de Google Actualités ou de WhatsApp ? Suivez-nous pour ne rien rater de l'actu tech !
google-news

A découvrir en vidéo

Rejoignez la communauté Clubic S'inscrire

Rejoignez la communauté des passionnés de nouvelles technologies. Venez partager votre passion et débattre de l’actualité avec nos membres qui s’entraident et partagent leur expertise quotidiennement.

S'inscrire

Commentaires (7)

xryl
Bon article qui évoque bien les problématiques d’un tel logiciel. Merci Fanny!
Cynian90
Je viens de quitter mon cursus de software engineer, tout est fini, je me reconvertis dans le marketing parce qu’il y aura toujours des pigeons prêts à être manipulés
benben99
Cela va juste faire que la nouvelle génération de programmeur va encore faire du code plus merdique.<br /> Déjà, avec l’arrivée des garbage collectors dans plusieurs langages, et la montee en puissance des ordinateurs, il y en plein de «&nbsp;programmeurs&nbsp;» qui se sont mis a ne plus se soucier de faire du bon code, performant et leger.
Proutie66
Ben tant mieux pour toi ?<br /> SI tu fais du code performant et superbe, tu seras payer plus cher.<br /> Oh, wait…
ARTUSA
On dirait mon arrière grand père qui parle de combien l’assembleur c’était tellement mieux. Il y a toujours eu des codeurs qui ne se sont jamais soucié de faire du bon code, des titres AAA de jeux vidéos ont toujours eu des problèmes de gestion de mémoire par exemple. Aujourd’hui, même les titres amateurs gèrent un minimum bien leur mémoire grâce aux développements que tu dénonce, et rien n’empêche d’optimiser pour ceux qui le veulent. Il y a du bon dans l’abstraction.<br /> D’ailleurs, le niveau des développeurs ne devrait qu’augmenter : il y aura de moins en moins besoin de développeurs, donc une compétition bien plus féroce, ceux qui disent le contraire sont des moutons qui répètent la version officielle qu’on aura besoin de + en + de codeurs parce qu’ils basent tout leur raisonnement sur une seule statistique qui est le nombre de développeurs total, alors que la programmation a toujours été le premier secteur à se faire automatiser, pensons frameworks, plateformes génériques type Prestashop, API qui fournit un service qui était codé atomiquement auparavant… et le problème central est qu’il n’y a pas une infinité de services à créer.
sebstein
Stupide.<br /> Avec ou sans les GC, le problème est le même…<br /> Si la GC gère parfaitement le mémoire, ne plus s’en soucier n’est pas un problème et, dans le cas contraire, si la GC ne la gère pas parfaitement, ne pas s’en soucier est problématique puisqu’il y aura aussi des fuites de mémoire (pire, puisqu’elle le gère dans 99% des cas, il sera encore plus compliqué de déterminer d’où provient la fuite).<br /> Conclusion, avec ou sans GC, le problème est le même…
benben99
Ça montre que tu ne connais que peu de chose en gestion mémoire, et même en programmation. Un garbage collector est pratique car ca sauve du temps effectivement pour le programmeur et il n’a pas à faire son travail de débogger mais performance, non ce n’est pas efficient. Prend l’exemple du Java. La mémoire augmente sans cesse en acumulant des références à des objets «&nbsp;morts&nbsp;» puis quand c’est limite, le GC se met à faire le ménage en passant à travers les références, ce qui ralentit le programme considérablement et fait des pics de mémoire ridiculement élevés. Si tu sais ce que tu fais, gérer la mémoire n’est pas si sorcier, tout comme faire du bon code.<br /> C’est pourquoi pour revenir au sujet, ce genre de truc Github Copilot va pondre du code non efficient que les progammeurs en herbe vont se mette a utiliser plutôt que de résoudre eux-même le problème et pondre du code efficient.<br /> Apres on va voir des logiciels usine a gaz qui consomment des resources incroyables.<br /> Prend lexemple d’un logiciel mal codé… J’ai téléchargé Markdown Pad 2 . Le truc fait 82 mégaoctets + requierts d’installer .net etc. tout ça pour un éditeur de texte ridiculement simple. Si cela avait été bien codé, ca ne dépasserait pas quelques mégaoctets. Le type qui a pondu cette bouse s’est dit qu’il allait sauver du temps avec .net et un tas de librairies, mais son éditeur de texte est devenu une usine à gaz.<br /> Bref, c’est pour ça que je me méfie de Copilot. Le type qui va utiliser ca, va juste devenir paresseux.
sebstein
L’exemple type d’un gars qui aime prendre les autres de haut, mais est loin de valoir mieux…<br /> En quoi ce que je dis prouve que je ne «&nbsp;connais pas grand chose en gestion mémoire, ni même en programmation&nbsp;» ?
benben99
sebstein:<br /> L’exemple type d’un gars qui aime prendre les autres de haut, mais est loin de valoir mieux…<br /> En quoi ce que je dis prouve que je ne « connais pas grand chose en gestion mémoire, ni même en programmation » ?<br /> Fais un peu d’assembleur et de C++ pendant quelques années, lis les livres de Donal Knuth, algorithmiques et optimise ton code au lieu de juste faire du code qui fonctionne et tu vas apprendre beaucoup, puis va lire une couple de bouquins sur les GC et vu vas voir qu’un GC est pratique, mais que c’est loin d’être efficient.<br /> La réalité est que 3 quarts des programmeurs aujourd’hui ne savent pas coder de façon efficiente, et bien souvent ne comprennent même pas le hardware qu’ils utilisent.
sebstein
On se connaît ? Tu sais quoi de ce que je fais et connais ? Tu as déjà vu mon code ? On a tous les deux les réponses à ces questions, elles sont toute négatives… dès lors, pourquoi tu me parles comme si ce n’était pas le cas ? Ce que j’exècre ces gens qui penses tout savoir sur tout…
Blackalf
On se calme et on reste dans le sujet.
Voir tous les messages sur le forum
Haut de page

Sur le même sujet