L’intelligence artificielle va-t-elle remplacer le codage ?

Le codage humain survivra, mais le travail que nous faisons en tant qu’ingénieurs logiciels et scientifiques des données pourrait changer…

Avertissement : il s’agit d’un article d’opinion. J’aimerais entendre vos réflexions dans les commentaires.

Plutôt que de demander si le GPT-3 rendra les codeurs obsolètes.

Supposons qu’à un moment donné, l’IA puisse écrire un code sans faille.

Y aura-t-il encore une place pour les humains écrivant du code ? Oui.

Le codage est le moyen le plus efficace de communiquer avec l’IA.

Le code est conçu pour être de haut niveau et sans ambiguïté.

Bien qu’ils soient considérés comme un art obscur par les non-développeurs, la plupart des langages de codage sont plus concis que les langues parlées.

Écrire la logique d’une application en anglais ou français prendrait plus de mots que de l’écrire en Ruby ou en Python.

Pour cette raison, dire à l’IA quoi construire (tout en naviguant dans les cas limites et la connaissance du domaine) peut représenter plus de travail que d’écrire le code.

Par exemple. Une simple commande à un assistant d’IA, « Achète-moi du papier toilette », comporte de nombreuses hypothèses. Celles-ci pourraient être interprétées de façon désastreuse si elles ne sont pas codées comme des contraintes à l’avance. Quelle est l’importance du prix ? La douceur ? La date de livraison ? La quantité ?

Le codage oblige un développeur intelligent à les prendre en compte.

Ainsi, même si le codage peut devenir encore plus complexe qu’aujourd’hui, il pourrait être le moyen le plus efficace de communiquer avec les IA.

Le code écrit par l’IA devra être testé (avec du code)

Étant donné que l’IA peut écrire du code sur n’importe quoi, l’espace de sortie est potentiellement infini.

Ainsi, si l’on peut surveiller une voiture autonome pendant 160 millions de kilomètres pour vérifier sa sécurité, il est impossible d’écrire des tests couvrant un espace et un nombre de domaines infinis.

Il nous reste donc à tester le code produit par l’IA, plutôt que le mécanisme de codage lui-même.

Comme cela doit être abordé de manière logique, et permettre de retester au fur et à mesure que les applications changent, il est très logique d’écrire des tests dans le code (au moins au début de la carrière de développement de l’IA).

Cependant, à un stade ultérieur, je peux imaginer une autre couche d’IA qui aide à l’écriture des tests aux côtés d’un expert du domaine humain.

Les codeurs d’IA peuvent ne pas être rentables

OpenAI a indiqué que le coût prohibitif était la raison pour laquelle ils ont proposé GPT-3 sous la forme d’une API plutôt que d’un package open source.

Nous espérons que l’API rendra les puissants systèmes d’IA plus accessibles aux petites entreprises et organisations.
– OpenAi

Compte tenu de ce qui précède, je ne m’attends pas à ce qu’il s’agisse d’un service à 20 dollars l’heure sur AWS de sitôt. Les humains écriront du code jusqu’à ce que le prix baisse.

À l’heure actuelle, nous ne savons pas vraiment quel est le prix, seulement qu’OpenAI a reçu environ 1 milliard de dollars de financement.

Et bien qu’il puisse être logique pour les grands ateliers de développement d’automatiser l’écriture de code répétitif (même à un coût élevé), les ingénieurs logiciels dans les startups font beaucoup plus qu’écrire du code.

Les activités quotidiennes comprennent :

  • écrire et réviser des tickets et du code
  • discuter de l’expérience utilisateur
  • l’entretien avec des employés potentiels
  • discuter des contraintes sur des fonctionnalités hypothétiques…

Ainsi, l’ensemble des compétences généralistes d’un ingénieur logiciel pourrait encore faire de lui une bonne affaire par rapport à une IA qui ne sait que coder.

Cela dit, il est également possible que les développeurs deviennent des chefs de produit, utilisant leurs compétences techniques/de produit pour aider à gérer les IA qui font le codage.

Nous ne ferons peut-être pas confiance à l’IA pour les systèmes critiques

Nous ferons confiance à l’IA pour créer des pages WordPress statiques et des applications « encore une autre application de médias sociaux », mais lui ferons-nous confiance pour écrire du code pour l’armée ?

Quel est le risque que l’IA soit piratée ou qu’elle écrive un code défectueux ?

Il est facile d’écrire un code irréprochable dans une seule fonction. Pour l’ensemble d’une application, c’est beaucoup plus difficile. Mais lorsqu’on arrive au niveau de l’infrastructure, il ne s’agit plus de bien ou de mal, mais de contraintes et de désirs financiers ou commerciaux.

On peut imaginer que dans des situations de complexité superposée, de compréhension nécessaire du monde extérieur ou d’inconvénients importants, nous ne voudrons peut-être pas que l’IA écrive du code.

C’est amusant à construire soi-même une technologie

Vive le codage amateur.

C’est une anecdote, mais je suis devenu développeur parce que c’est le seul travail que je ferais gratuitement si ce n’était pas mon travail de jour.

Il y a un sous-groupe de personnes qui aiment construire des choses avec du code pour leur propre plaisir. C’est pourquoi les gens construisent un assistant d’intelligence artificielle sur un RaspberryPi à 100 dollars alors qu’ils pourraient simplement acheter un Amazon Echo pour 50 dollars.

Les humains sont des artisans par nature et tirent satisfaction de la fabrication de choses. Ce groupe ne sera pas énorme, mais je m’attends à ce qu’il continue d’exister.

Une expérience approfondie et une connaissance des principes fondamentaux sont des conditions préalables à l’innovation.

Les humains doivent continuer à coder s’ils veulent continuer à innover dans ce domaine.

L’IA est très douée pour copier ce qui a déjà été fait. Mais elle ne sait pas combiner des concepts existants de manière inédite pour créer quelque chose de nouveau. Nous ne parlons pas ici de peindre une meilleure image, mais de développer un nouveau type d’art ou un nouveau protocole de transfert de données.

La plupart de nos technologies modernes sont nées de cette façon. Des experts et des rêveurs frustrés par le statu quo, et qui connaissaient bien leurs outils.

Dans le domaine du développement logiciel, GraphQL a été inventé pour faire face aux limites du REST existant. Le premier facilite le développement du front-end, mais n’avait pas « besoin » d’être construit.

L’IA apprendra-t-elle à inventer, ou se contentera-t-elle de faire les actions existantes plus efficacement ?

Conclusion
Ce post était une expérience de pensée et basé sur mon expérience dans le développement de logiciels, ML, et les startups.

Bien que je puisse sembler anti IA, je ne le suis pas. Au contraire, les IA capables de coder seraient la plus grande opportunité pour les petits entrepreneurs de l’histoire de la civilisation, car elles leur permettraient de se concentrer sur les problèmes plutôt que sur la technologie.

Cela dit, nous n’en sommes pas encore là. Malgré les discours alarmistes, nous sommes loin de l’avènement des robots. Donc, même si vous devez améliorer vos compétences, je ne m’inquiéterais pas de voir GPT-3 prendre votre travail de codeur.