J’adore écrire du code pour faire des choses : des applications, des sites Web, des graphiques, même musique. C’est une compétence sur laquelle j’ai travaillé dur pendant plus de 20 ans.
Donc je dois avouer nouvelles de la semaine dernière à propos de la sortie d’un nouvel assistant de codage « AI assistant » appelé Copilote GitHub m’a donné des sentiments compliqués.
Copilot, qui crache du code sur commande basé sur des descriptions en « anglais simple », est un outil remarquable. Mais est-ce sur le point de mettre les codeurs comme moi au chômage ?
Formé sur des milliards de lignes de code humain
GitHub (à présent appartenant à Microsoft) est une plateforme de collaboration et un réseau social pour les codeurs. Vous pouvez le considérer comme quelque chose comme un croisement entre Dropbox et Instagram, utilisé par tout le monde, des amateurs individuels aux ingénieurs en logiciel hautement rémunérés dans les grandes entreprises technologiques.
Au cours de la dernière décennie, les utilisateurs de GitHub ont téléchargé des dizaines de milliards de lignes de code pour plus de 200 millions d’applications. C’est beaucoup de if
le sable for
le sable print("hello world")
déclarations.
L’IA Copilot fonctionne comme de nombreux autres outils d’apprentissage automatique : elle a été « formée » en parcourant et en recherchant des modèles dans ces dizaines de milliards de lignes de code écrites et téléchargées par les membres de la communauté de codeurs de GitHub.
La formation peut prendre plusieurs mois, des centaines de millions de dollars en matériel informatique et suffisamment d’électricité pour faire fonctionner une maison pendant une décennie. Une fois que c’est fait, cependant, les codeurs humains peuvent alors écrire une description (en anglais simple) de ce qu’ils veulent que leur code fasse, et l’assistant Copilot AI écrira le code pour eux.
Basé sur « Modèle de langage » du Codex, Copilot est la prochaine étape d’une longue lignée d’outils « d’auto-complétion intelligente ». Cependant, ceux-ci ont été beaucoup plus limités dans le passé. Copilot est une amélioration significative.
Un assistant étonnamment efficace
J’ai eu un accès anticipé à Copilot il y a environ un an, et je l’utilise de temps en temps. Il faut un peu de pratique pour apprendre exactement comment formuler vos demandes en anglais afin que le Copilot AI donne la sortie de code la plus utile, mais cela peut être étonnamment efficace.
Cependant, nous sommes toujours un long loin de « Hey Siri, fais-moi une application iPhone à un million de dollars ». Il est toujours nécessaire d’utiliser mes compétences en conception de logiciels pour comprendre ce que les différents morceaux de code doivent faire dans mon application.
Pour comprendre le niveau auquel Copilot travaille, imaginez écrire un essai. Vous ne pouvez pas simplement lui lancer la question à développement et vous attendre à ce qu’elle produise une pièce utile et bien argumentée. Mais si vous comprenez l’argument et écrivez peut-être la phrase de sujet pour chaque paragraphe, cela fera souvent un assez bon travail pour remplir automatiquement le reste de chaque paragraphe.
Selon le type de codage que je fais, cela peut parfois être un énorme gain de temps et d’intelligence.
Biais et bugs
Il y a quelques questions ouvertes avec ces types d’outils d’aide au codage de l’IA. Je suis un peu inquiet qu’ils introduisent et renforcent la dynamique du vainqueur : très peu d’entreprises disposent des données (dans ce cas, des milliards de lignes de code) pour créer des outils comme celui-ci, créant ainsi un concurrent pour Le copilote sera difficile.
Et Copilot lui-même pourra-t-il suggérer de nouvelles et meilleures façons d’écrire du code et de créer des logiciels ? Nous avons vu des systèmes d’IA innover avant de. D’un autre côté, Copilot peut être limité à faire les choses comme nous les avons toujours faites, car les systèmes d’IA formés sur les données passées sont susceptibles de faire.
Mes expériences avec Copilot m’ont également fait prendre conscience que mon expertise est toujours nécessaire, pour vérifier que le code « suggéré » correspond bien à ce que je recherche.
Parfois, il est trivial de voir que Copilot a mal compris ma contribution. Ce sont les cas faciles, et l’outil permet de demander facilement une suggestion différente.
Les cas les plus délicats sont ceux où le code semble correct, mais il peut contenir un bogue subtil. Le bogue peut être dû au fait que ce truc de génération de code AI est durou peut-être parce que les milliards de lignes de code écrit par l’homme sur lesquelles Copilot a été formé contenaient leurs propres bogues.
Une autre préoccupation est problèmes potentiels sur la licence et la propriété du code sur lequel Copilot a été formé. GitHub a dit que c’était essayer de résoudre ces problèmesmais nous devrons attendre et voir comment cela se passe.
Plus de sortie à partir de la même entrée
Parfois, l’utilisation de Copilot m’a rendu un peu mélancolique. La compétence à laquelle je pense souvent fait de moi au moins un un petit peu spécial (ma capacité à écrire du code et à faire des choses avec des ordinateurs) est peut-être en train d’être « automatisé », comme beaucoup d’autres emplois l’ont été à différents moments de l’histoire humaine.
Cependant, je ne vends pas mon ordinateur portable et je ne pars pas encore vivre une vie simple dans la brousse. Le codeur humain est toujours un élément crucial du système, mais en tant que conservateur plutôt qu’en tant que créateur.
Bien sûr, vous pensez peut-être « c’est ce qu’un codeur aurait dire »… et vous avez peut-être raison.
Outils d’IA comme Copilot, OpenAI générateur de texte GPT-3et Google Moteur de conversion de texte en image Imagenont connu d’énormes améliorations au cours des dernières années.
Beaucoup dans les « industries créatives » de cols blancs qui traitent du texte et des images commencent à lutter contre leurs craintes d’être (au moins partiellement) automatisées. Copilot montre que certains d’entre nous dans l’industrie technologique sont dans le même bateau.
Pourtant, je suis (prudemment) excité. Copilot est un multiplicateur de force dans la tradition de construction d’outils la plus optimiste : il fournit plus de levier, pour augmenter la sortie utile pour la même quantité d’entrée.
Ces nouveaux outils et le nouvel effet de levier qu’ils fournissent sont intégrés dans des systèmes plus larges de personnes, de technologies et d’acteurs environnementaux, et je suis vraiment fasciné de voir comment ces systèmes se reconfigurent en réponse.
En attendant, cela pourrait aider à économiser mon cerveau pour les parties difficiles de mon travail de codage, ce qui ne peut être qu’une bonne chose.
Cet article est republié de La conversation sous licence Creative Commons. Lis le article original.