13 points par laeyoung 2021-08-02 | 12 commentaires | Partager sur WhatsApp
  • Copilot est un service qui commercialise Codex, construit à partir de GPT-3

  • L’entraînement a été réalisé sur un jeu de données de 159 Go extrait de 54 millions de dépôts sur GitHub

  • 164 jeux de données de benchmark ont été créés, et Codex en a résolu 28,8 %

  • Il est performant sur les problèmes algorithmiques, comme les exercices LeetCode

    -> On suppose que c’est parce qu’il existe de nombreux dépôts sur GitHub contenant des solutions à ce type de problèmes, et qu’il a appris à partir de ceux-ci


Quelques articles sur Copilot avaient déjà été publiés sur GeekNews.

Cette fois, un collègue de l’entreprise rédigeait un article sur Copilot, et comme j’étais le seul à avoir un compte Copilot Preview, je l’ai un peu aidé sur mon ordinateur.

En faisant quelques tests, ce qui m’a surpris, c’est que j’ai essayé 3 problèmes de programmation, et il a tout de suite proposé des réponses qui passaient directement.

Pour l’un des problèmes, j’ai même pris un exercice de Baekjoon, je l’ai passé dans un traducteur, puis je l’ai soumis, et il a quand même donné la bonne réponse.

Je me suis alors dit que certains pourraient aussi l’utiliser pour tricher lors de tests de code en ligne...

Après l’avoir utilisé pendant un mois dans VSCode, ma conclusion est la suivante :

  • C’est utile quand on développe dans un langage ou un environnement qu’on connaît à peu près.

    -> Par exemple, en développant avec React, j’avais besoin de faire quelque chose avec e.target.value. Une suggestion d’une vingtaine de caractères est apparue, j’ai appuyé sur Tab pour l’autocomplétion, et cela a fait exactement ce que je voulais.

    -> Bien sûr, comme je suis méfiant, je suis allé vérifier sur StackOverFlow, et la suggestion était correcte.

  • Si c’est un langage ou un environnement que l’on maîtrise bien, les suggestions ne sont pas forcément optimales et peuvent devenir gênantes.

  • Je m’inquiète un peu du fait que du code soit envoyé pour l’inférence, mais je me dis aussi : qu’est-ce qu’on peut bien faire avec le code contenu dans chaque fichier pris séparément ? Donc je continue à l’utiliser.

12 commentaires

 
ruinnel 2021-08-03

https://www.youtube.com/watch?v=a9349pRiCRk

J’ai aussi vu ce genre d’avis.

Après avoir vu ça, mon intérêt est retombé d’un coup.

 
budlebee 2021-08-03

Je ne m’y connais pas très bien en droits d’auteur sur le code, mais si on prend un code protégé par le droit d’auteur et qu’on ne change que légèrement, comme les noms de variables ou de fonctions, est-ce que cela constitue quand même une violation de licence ?

 
dalinaum 2021-08-05

Oui. C’est une violation.

 
ruinnel 2021-08-03

Plutôt que de savoir si le code est totalement identique... la vraie question n’est-elle pas : d’où vient ce code ? J’ai l’impression que c’est un élément important en matière de droit d’auteur sur le code.

Avec des licences MIT ou Apache, le reprendre, le modifier puis l’utiliser ne poserait sans doute pas de gros problème...

Mais si Copilot a recommandé un code identique à un code sous licence GPL...

et qu’un développeur en modifie une partie avant de l’intégrer dans le projet en cours de développement...

alors, du point de vue de la licence GPL, est-ce que cela ne voudrait pas dire qu’il faut publier l’intégralité du code source du projet ?

De ce que je sais, si on utilise du code sous licence GPL, ne pas publier l’ensemble du code qui l’utilise constitue une violation de cette licence.

Pour écrire un scénario extrême, façon fiction...

si une entreprise développe une solution, qu’un développeur utilise Copilot, et que, par malchance, le code recommandé provient d’un projet sous licence GPL que l’IA a appris puis recraché tel quel...... cela ne risque-t-il pas de créer un problème obligeant soit à publier l’intégralité du code de la solution de l’entreprise, soit à faire face à cette question de licence ?

 
budlebee 2021-08-03

Je me demande : si un utilisateur prend le code généré par Copilot et l’utilise après l’avoir légèrement modifié, existe-t-il un moyen de le détecter ? Même avec les mêmes E/S et la même fonction, on peut obtenir du code dans des styles très variés, donc je me demande comment on détecte ce type de plagiat de code (y a-t-il une méthodologie consistant à le comparer à des références, un peu comme dans les procès pour plagiat musical ?)

 
ruinnel 2021-08-03

Eh bien… je ne sais pas très bien non plus selon quels critères on vérifie la similarité, ni jusqu’où on peut considérer qu’il s’agit du même code haha.

 
laeyoung 2021-08-03

Un article lié avait aussi été publié sur GeekNews

https://fr.news.hada.io/topic?id=4659

La vidéo YouTube en question parle de droits d’auteur, mais quand on voit qu’il n’y a justement ni source ni mention de copyright pour les images utilisées dans la vidéo (actualités, dessins animés, etc.), on se dit que c’est vraiment une question compliquée, hélas.

 
ruinnel 2021-08-03

Les droits d’auteur sur les actualités/bandes dessinées présentes dans la vidéo que vous avez signalée... c’est un problème dont la personne qui les a utilisées (celle qui a produit/diffusé la vidéo) devrait assumer la responsabilité, mais...

Le problème, c’est : si j’utilise Copilot et qu’un code soumis au droit d’auteur se retrouve inclus dans mon propre code.

Moi, je n’ai fait qu’utiliser un outil, mais le programme que j’ai développé se retrouverait alors impliqué dans une action en justice pour violation du droit d’auteur.

 
yeop2 2021-08-02

J’aimerais bien l’essayer aussi, mais je me demande quand je pourrai y avoir accès, snif.

 
ktseo41 2021-08-02

+1 J’attends toujours.

 
cog25 2021-08-02

Je crois savoir que plus on utilise GitHub, plus on l'obtient rapidement.

 
laeyoung 2021-08-02

Par un concours de circonstances, un repo que j’avais créé à la hâte l’an dernier à cause du COVID a fini par dépasser les 100 étoiles. C’est peut-être pour ça que, que ce soit pour Copilot ou pour GitHub Codespaces, quand je postule, je suis assez souvent retenu.