IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

78PARTAGES

6  0 
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...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de floyer
Membre éclairé https://www.developpez.com
Le 01/09/2023 à 17:23
Les LLM ont eu leur apprentissage en parcourant du code en langage de haut niveau. Ils sont donc logiquement adaptés à la production de code de haut niveau.

Ainsi, si on demande à un LLM un code envoyant un mail, préciser le langage lui permettra de cibler une bibliothèque usuelle dans cet écosystème et produire le code adéquat. (La plupart des programmes intéressant ont des dépendances envers de bibliothèques diverses et ne se limitent pas à la libc standard, et chaque langage a son ecosystème de bibliothèques).

Par ailleurs, si le code doit être repris par l'utilisateur, il vaudrait mieux qu'il soit dans un langage de haut niveau !

De plus, il y a le cas d'usage de la génération de code pour une partie d'un projet. Il est souvent préférable d'utiliser le même langage que le projet pour simplifier l'intégration.
0  0 
Avatar de TotoParis
Membre expérimenté https://www.developpez.com
Le 02/09/2023 à 21:02
Rien pour le COBOL ?
0  0 
Avatar de floyer
Membre éclairé https://www.developpez.com
Le 02/09/2023 à 23:08
@TotoParis… produit par ChatGPT :

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
IDENTIFICATION DIVISION.
PROGRAM-ID. Fibonacci-Numbers.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 Count PIC 9(2) VALUE 10.
01 Fibonacci-Prev PIC 9(10) VALUE 0.
01 Fibonacci-Current PIC 9(10) VALUE 1.
01 Fibonacci-Next PIC 9(10).

PROCEDURE DIVISION.
    PERFORM VARYING Count FROM 1 BY 1 UNTIL Count > 10
        DISPLAY 'Fibonacci(' Count ') = ' Fibonacci-Current
        COMPUTE Fibonacci-Next = Fibonacci-Current + Fibonacci-Prev
        MOVE Fibonacci-Current TO Fibonacci-Prev
        MOVE Fibonacci-Next TO Fibonacci-Current
    END-PERFORM.

STOP RUN.
0  0