Avec un taux de croissance annuel projeté de 36,2 % jusqu'en 2030, l'intelligence artificielle continuera d'imprégner notre société à un rythme sans précédent. Un programme d'IA peut être utilisé pour s'exécuter lui-même ou pour exécuter son propre code. Il s'agit là d'un mode de fonctionnement courant des programmes d'IA. Toutefois, si les systèmes d'IA peuvent effectuer de nombreuses tâches de manière autonome, ils nécessitent toujours une intervention humaine à un certain niveau, car ils ne peuvent pas encore remplacer totalement la prise de décision humaine dans tous les contextes.
L’IA n’a pas intérêt à écrire du code binaire, car cela serait trop limité et spécifique. Le code binaire dépend du matériel exact utilisé dans un appareil, et il doit être compilé sur la machine elle-même au moment de l’installation. Si une IA se contentait d’écrire du code binaire, elle ne pourrait le faire que pour elle-même ou pour des machines identiques, ou bien elle devrait avoir accès à des informations sur le matériel qui ne sont pas toujours disponibles. Il n’y a pas de raison pour qu’une IA écrive en binaire alors qu’elle peut obtenir le même résultat plus rapidement, avec plus de raisonnement et plus d’adaptabilité en écrivant en c++ ou en python, selon l’application souhaitée.
L’IA devrait produire du code dans un langage de haut niveau, compréhensible par les humains, pour plusieurs raisons. D’abord, cela permettrait de vérifier, de déboguer, d’optimiser et de certifier le code produit par l’IA, ce qui est essentiel pour garantir sa qualité et sa sécurité. Ensuite, cela éviterait de perdre du temps à réinventer la roue, car les langages de haut niveau disposent déjà de cadres et de bibliothèques qui facilitent le développement de nombreuses fonctionnalités.
Enfin, cela correspondrait mieux au type de données sur lesquelles l’IA a été entraînée, c’est-à-dire des données lisibles par l’homme, et non des données binaires. L’IA ne connaît pas la correspondance entre les concepts abstraits des langages de haut niveau et les instructions binaires qui les implémentent. Elle ne fait que manipuler des mots en fonction de leur relation avec d’autres mots.
L’IA pourrait ne pas produire du code en 0 et 1, ni en avoir besoin. Nous utilisons des langages de programmation parce qu’ils nous facilitent la tâche, en nous permettant de concevoir le plan de haut niveau et en laissant les détails techniques au compilateur ou à l’interprète. Peut-être qu’une IA basée sur un réseau neuronal préférerait aussi utiliser un langage de programmation pour la même raison. Le débogage d’un code binaire serait trop fastidieux et inefficace, car il nécessiterait un examen trop minutieux.
L’IA devrait utiliser des langages de haut niveau qui facilitent les abstractions, les traductions et les inférences. Certains langages permettent de créer des représentations mathématiques qui peuvent être manipulées, optimisées, etc.
Codex génère des programmes dans 12 langages de codage et traduit même entre eux
Tom Smith, un programmeur expérimenté, a testé Codex, une nouvelle technologie d’intelligence artificielle qui écrit ses propres programmes informatiques. Il a été impressionné par sa capacité à résoudre des problèmes de codage complexes et à traduire entre différents langages de programmation. Cependant, il ne pense pas que Codex va remplacer les codeurs humains, mais plutôt les aider à être plus productifs et à apprendre l’informatique.
OpenAI Codex est un descendant du modèle de génération de texte GPT-3 d'OpenAI. Mais alors que GPT-3 a été entrainé sur une énorme quantité de données de langage naturel extraites d'Internet, Codex a été entrainé à la fois avec des données de langage naturel et des milliards de lignes de code source provenant de sources accessibles au public. Cela inclut le code des référentiels publics GitHub. En conséquence, les utilisateurs peuvent seulement émettre des commandes en anglais, et Codex va les exécuter en générant un code informatique fonctionnel. OpenAI Codex est plus performant en Python, mais il maîtrise également plus d'une dizaine de langages de programmation, notamment JavaScript, Go, Perl, PHP, Ruby, Swift et TypeScript, et même Shell.
Les modèles d'IA régénérative sont des programmes logiciels conçus et créés par des humains, qui font fureur aujourd'hui dans des programmes tels que Open AIs Chat GPT. Cela signifie qu'ils dépendent des humains pour concevoir et construire leur programmation initiale et pour effectuer toutes les mises à jour ou modifications nécessaires.
Une fois qu'un système d'IA a été programmé et mis en place, il peut fonctionner sans intervention humaine. Il traitera des données, exécutera des tâches et prendra des décisions sur la base de la programmation qui lui a été donnée. Ce processus ne cessera d'évoluer. Dans certains cas, un système d'IA peut s'adapter et apprendre au fil du temps sur la base des données auxquelles il est exposé, ce qui lui permet d'améliorer ses performances et de prendre des décisions plus précises.
Pour l'instant, les systèmes d'IA ne peuvent pas fonctionner de manière autonome sans un certain degré d'intervention ou de supervision humaine, mais cela pourrait bientôt changer. Ils dépendent de l'homme pour concevoir et créer leurs modèles de programmation d'origine, pour leur fournir les données à traiter et pour effectuer toutes les mises à jour ou modifications nécessaires.
Tom Smith a voulu tester les capacités de Codex en lui faisant passer un entretien d’embauche pour codeur. Il lui a posé des questions sur des problèmes de codage courants, tels que remplacer les espaces par des tirets dans une phrase ou vérifier la validité des codes postaux. Codex a répondu instantanément et correctement à toutes les questions, en écrivant le code correspondant. Tom Smith a été étonné par la rapidité et la précision de Codex, qui pouvait même traduire d’un langage de programmation à un autre.
Cependant, après avoir utilisé Codex pendant plusieurs semaines, Tom Smith a changé d’avis sur la menace que cette technologie pourrait représenter pour les programmeurs humains. Il a réalisé que Codex n’était pas parfait et qu’il avait parfois besoin de l’aide ou de la correction des humains. Il a aussi constaté que Codex pouvait être un outil utile pour les codeurs, en leur facilitant la tâche et en leur faisant gagner du temps. Il a même pensé que Codex pouvait être un bon moyen d’apprendre l’informatique, en montrant aux débutants comment écrire des morceaux de code simples.
Tom Smith a donc conclu que Codex n’était pas un problème, mais un atout pour les programmeurs humains. Il a estimé que cette technologie pouvait stimuler la créativité et la productivité humaines, plutôt que les remplacer.
Codex : une révolution pour l’analyse de données ou un danger pour l’emploi ?
Smith et d’autres experts affirment que Codex est un outil qui va augmenter la productivité humaine. Mais est-ce vraiment le cas ? L’expérience nous a appris que les firmes américaines utilisent la productivité et l’automatisation pour diminuer les dépenses et se débarrasser des employés. Les travailleurs manuels ont déjà souffert de cette stratégie dans plusieurs secteurs industriels.
Aujourd’hui, les employés de bureau de bas niveau sont aussi en danger à cause de l’IA. L’avenir des travailleurs s’annonce sombre avec la productivité, l’automatisation et la délocalisation. Si nos entreprises continuent à privilégier les profits au lieu des personnes, la situation des travailleurs va empirer.
De l'avis de certains analystes, l’IA ne pourra pas éliminer les programmeurs humains. Ils disent que cette idée est basée sur des hypothèses trop favorables à l’IA et trop défavorables aux humains. L’IA ne pourra pas devenir un programmeur universel, apte à gérer tous les logiciels et tous les langages. Il y aura toujours des cas où l’IA sera insuffisante, soit par manque d’expérience, soit par manque de créativité ou de souplesse pour résoudre des problèmes complexes.
Dans ces situations, les programmeurs humains seront toujours nécessaires pour compléter ou corriger le travail de l’IA. Cependant, cette IA pourrait être très utile et prometteuse. Elle pourrait par exemple permettre à beaucoup de personnes qui ne connaissent pas le code de bénéficier de l’analyse de données sans se noyer dans les aspects techniques. Cela pourrait les rendre plus efficaces dans leur travail et leur ouvrir de nouvelles perspectives professionnelles.
Source : Nytimes
Et vous ?
À votre avis, qu’est-ce qui motive l’IA à choisir un langage de programmation pour créer du code ?
Quels sont les risques de laisser l’IA produire du code sans supervision humaine ?
Quels seraient selon vous, les défis techniques et éthiques liés à la production de code par l’IA ?
Existe-t-il des inconvénients à produire du code dans différents langages de haut niveau ?
Voir aussi :
L'IA Codex d'OpenAI fait ses débuts en programmation et peut déjà coder dans une dizaine de langages, l'IA pourra-t-elle bientôt décharger les développeurs de certaines tâches, voire les remplacer ?
GitHub Copilot, l'assistant de programmation basé sur l'IA, sous le feu des critiques, un développeur affirme qu'il émet de nombreux bouts de son code protégé par le droit d'auteur
Le code source d'une « intelligence artificielle » qui joue au titre Fruit Ninja pour Android, IOS et Windows est disponible, mais divise quant à l'utilisation du terme IA pour sa désignation
Lorsque l'IA crée son propre code, pourquoi utiliserait-elle un langage de programmation ?
Codex génère des programmes dans 12 langages de codage
Lorsque l'IA crée son propre code, pourquoi utiliserait-elle un langage de programmation ?
Codex génère des programmes dans 12 langages de codage
Le , par Bruno
Une erreur dans cette actualité ? Signalez-nous-la !