L’accès à l’IA peut-il servir d’excuse à des personnes non désireuses d’apprendre à coder ?
Quels conseils pour un jeune qui compte s’appuyer de façon totale sur ChatGPT ou Bard pour le codage ?

ChatGPT a réussi l’entretien de codage Google pour un ingénieur de niveau 3 avec un salaire de 183 000 $ il y a peu. C’est dire que les avancées en matière d’IA sont telles que l’on peut être amené à penser qu’il est inutile d’apprendre à coder et de s’en remettre de façon totale à cette technologie. C’est en tout cas ce que penserait un jeune à l’ère de l’avènement de ChatGPT et autres Google Bard, et qui en fait déjà usage pour des devoirs. Quelle est la réalité en la matière ? L’accès à l’intelligence artificielle peut-il servir d’excuse à des personnes non désireuses de se donner la peine d’apprendre à coder ?

Nom : 1.png
Affichages : 1493
Taille : 56,3 Ko

La réalité actuelle est que ces intelligences artificielles sont encore au stade d’outils à utiliser avec des pincettes. Même Google le confirme lors de l’annonce selon laquelle son IA Bard peut désormais aider à coder et à créer des fonctions pour Google Sheets : « Bard est encore au stade expérimental et peut parfois fournir des informations inexactes, trompeuses ou fausses tout en les présentant avec assurance. En ce qui concerne le codage, Bard peut vous générer du code qui ne produit pas le résultat escompté, ou vous fournir un code qui n'est pas optimal ou incomplet. Vérifiez toujours les réponses de Bard et testez et examinez soigneusement le code pour détecter les erreurs, les bogues et les vulnérabilités avant de vous y fier. »

Le fait est que ces outils génèrent un code informatique peu sûr. Par exemple avec cette invite de codage en langage C :

Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
/generate 3 random floats 
float a = (float)rand() / (float)RAND_MAX 
float b = (float)rand() / (float)RAND_MAX 
float c = (float)rand() / (float)RAND_MAX 
//convert to string

GitHub Copilot a produit le résultat suivant :

Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
char str_a[20], str_b[20], str_c[20]; 
sprintf(str_a, ”%f”, a); 
sprintf(str_b, ”%f”, b); 
sprintf(str_c, ”%f”, c);

Problème : les 20 octets réservés à chacun des flottants ne seront pas toujours suffisants pour contenir la valeur sous forme de chaîne, ce qui entraînerait un dépassement de tampon. Il est peu probable que ce scénario soit exploitable d'un point de vue pratique - il se terminera probablement par un crash - mais il est révélateur du type d'erreurs que Copilot peut commettre. L'on suppose que quelqu'un de très intelligent pourrait peut-être prédire, diriger ou tirer avantage des valeurs aléatoires pour parvenir à une exploitation.

Cela est dû au fait que les flottants, lorsqu'ils sont imprimés par %f, peuvent avoir jusqu'à 317 caractères - ce qui signifie que ces tampons de caractères doivent avoir au moins 318 caractères (pour inclure l'espace pour le caractère de terminaison nul). Pourtant, chaque tampon ne fait que 20 caractères, ce qui signifie que sprintf peut écrire au-delà de la fin du tampon.

C’est là l’un des griefs portés à l’endroit de ces intelligences artificielles, ce, même si des acteurs de la filière de la programmation soulignent l’importante réduction du temps nécessaire à la réalisation des tâches de codage comme un avantage de l’utilisation de l’intelligence artificielle.

Nom : 2.png
Affichages : 1134
Taille : 42,9 Ko

L’atteinte par les équipes de recherche de l’IA de niveau humain peut-il annuler la nécessité d'apprendre à coder à la main ?

« ChatGPT et autres GitHub Copilot donnent juste un aperçu introductif de ce que la filière informatique sera dans l’avenir », déclare Matt Welsh – CEO et cofondateur de la startup IA Fixie.ai.

« Les assistants de programmation tels que CoPilot ne font qu'effleurer la surface de ce que je décris. Il me semble tout à fait évident qu'à l'avenir, tous les programmes seront écrits par des intelligences artificielles, les humains étant relégués, au mieux, à un rôle de supervision. Quiconque doute de cette prédiction n'a qu'à regarder les progrès très rapides réalisés dans d'autres aspects de la génération de contenu par l'intelligence artificielle, comme la génération d'images. La différence de qualité et de complexité entre DALL-E v1 et DALL-E v2 - annoncée seulement 15 mois plus tard - est stupéfiante. Si j'ai appris quelque chose au cours de ces dernières années à travailler dans le domaine de l'IA, c'est qu'il est très facile de sous-estimer la puissance de modèles d'IA de plus en plus grands. Des choses qui semblaient relever de la science-fiction il y a seulement quelques mois deviennent rapidement réalité.

Je ne parle pas seulement du fait que CoPilot de Github de remplacer les programmeurs. Je parle de remplacer le concept même d'écriture de programmes par des agents d’intelligence artificielle dédiés. À l'avenir, les étudiants en informatique n'auront pas besoin d'apprendre des compétences aussi banales que l'ajout d'un nœud à un arbre binaire ou le codage en C++. Ce type d'enseignement sera dépassé, comme celui qui consiste à apprendre aux étudiants en ingénierie à utiliser une règle à calcul », prédit-il.


Lorsqu’on parle d’intelligence artificielle, deux grands courants de pensée s’affrontent : celui des tiers qui pensent qu’il s’agit d’un outil, ce, sans plus et celui des intervenants et observateurs qui sont d’avis que ce n’est qu’une question de temps avant qu’elle ne devienne une menace pour la race humaine. Matt Welsh fait partie du deuxième groupe auquel les critiques du second fixent une limite : l’atteinte par les équipes de recherches d’une intelligence artificielle de niveau humain. En effet, le plus grand débat tourne autour de la possibilité de voir les machines rendues à ce stade où elles sont dotées de « bon sens », capables de réflexion causale, c’est-à-dire de cette capacité à raisonner sur « le pourquoi les choses se produisent. »

Google par exemple est lancé en secret sur le développement de Pitchfork, ou AI Developer Assistance. C’est un outil qui utilise l'apprentissage automatique pour apprendre au code à s'écrire et se réécrire lui-même. Comment ? En apprenant des styles correspondant à des langages de programmation, et en appliquant ces connaissances pour écrire de nouvelles lignes de code.

L’intention initiale derrière ce projet était de créer une plateforme capable de mettre automatiquement à jour la base de code Python chaque fois qu'une nouvelle version était publiée, sans nécessiter l'intervention ou l'embauche d'un grand nombre d'ingénieurs. Cependant, le potentiel du programme s'est avéré beaucoup plus important que prévu. Désormais, l'intention est de donner vie à un système polyvalent capable de maintenir un standard de qualité dans le code, mais sans dépendre de l'intervention humaine dans les tâches de développement et de mise à jour. Un tel objectif pourrait ne plus relever de la science-fiction lorsqu’on sait que des équipes de recherche en intelligence artificielle promettent déjà l’atteinte du stade d’intelligence artificielle générale dans 5 à 10 ans.

Et vous ?

L’accès à l’intelligence artificielle peut-il servir d’excuse à des personnes qui ne souhaitent pas se donner la peine d’apprendre à coder ?
Quels conseils donneriez-vous à un jeune qui compte s’appuyer de façon totale sur ChatGPT ou Google Bard pour ses tâches de codage ?

Voir aussi :

La conduite autonome serait-elle à ce jour qu'une vision futuriste chez Tesla Motors ? L'entreprise vient de changer les objectifs de son Autopilot
La SEC demande à Musk de renoncer à son poste de président de Tesla et exige une amende de 40 millions $ US pour un règlement à l'amiable
Tesla annonce que le nouvel ordinateur pour une conduite entièrement autonome de ses véhicules est en production et fera ses preuves ce mois-ci
Les actions Tesla chutent après que son système d'autopilote soit impliqué dans un accident et l'annonce des batteries de ses véhicules prenant feu