Trouvez votre emploi idéal
Espace Recruteurs

L’un des meilleurs technologues de Jane Street démystifie la programmation ChatGPT

‘L’IA va vous prendre votre boulot’ est peut-être la phrase la plus prononcée de 2023. Tout le monde se trouve sous la menace hypothétique de l’IA générative, et les ingénieurs logiciels ne font pas exception à la règle.

Les outils tels que Copilot chez Microsoft travaillent déjà avec les développeurs, rendant les ‘développeurs citoyens’ d’autant plus efficaces. D’aucuns laissent entendre que nous aurons bientôt tous accès à quelque chose de similaire, mais un technologue senior en finance, par ailleurs contributeur open-source et titulaire d’un doctorat, affiche son désaccord avec cette analyse.

Richard Eisenberg, concepteur en langages fonctionnels chez Jane Street, s’est exprimé récemment dans un podcast de l’établissement de prop trading sur ‘L’avenir de la programmation’. Avec pour objet de la discussion – qu’est-ce qui permet à la programmation alimentée par ChatGPT de fonctionner, et quels obstacles sont susceptibles de se mettre en travers de sa route ?

« Cette évolution de la programmation assistée par IA ne correspond pas vraiment à la transformation profonde que beaucoup ont cru y voir, » explique Richard Eisenberg. « C’est certes un grand pas, mais cela n’élimine en rien la nécessité de communiquer précisément. »

Les complications sont inhérentes à la nature des langages de programmation. Richard Eisenberg les définit en gros comme « un mode de communication précis. Il y a une sémantique précise pour tout ce qui est dit dans un langage donné. » À l’inverse, dit-il, « le langage naturel est très, très imprécis. »

Ce qui ne veut pas dire que l’IA est incapable de convertir des prompts en code. Richard Eisenberg explique que les assistants utilisés de nos jours sont « étonnamment puissants et peuvent être très performants pour prendre une requête, la comprendre et fournir un morceau de code. » Toutefois, compte tenu de l’interprétabilité innée du langage naturel, « il est frappant de voir à quel point ils sont faillibles, ils font beaucoup d’erreurs. »

Alors que faire pour s’assurer que Chat GPT écrive le code que nous voulons de la façon que nous voulons ?

La technique secrète qui pourrait révolutionner le codage IA

Avant de rejoindre Jane Street, Richard Eisenberg était l’un des principaux contributeurs open source du langage Haskell. Son apport le plus notable a été la mise en œuvre des types dépendants, une technique innovante capable de changer le process de codage complet, qu’il soit ou non assisté par l’IA.

Pour l’essentiel, Richard Eisenberg indique que les types dépendants « permettent d’encoder dans un programme la preuve que tout est correct, » qui détermine les paramètres définitifs afin d’assurer que « votre programme fait ce que vous pensez qu’il fait. »

Voilà qui pourrait s’avérer pertinent lors de l’écriture de prompts pour générer du code ChatGPT.

À titre d’exemple, Richard Eisenberg ajoute une fonction simple permettant de trier une liste d’entiers par taille ascendante. L’un des types dépendants utilisables consiste à demander d’afficher une sortie en ordre non-descendant, et de spécifier que la fonction ne s’exécute pas si la sortie ne correspond pas à la description.

Il y a là une certaine latitude. L’ordinateur peut ne rien remonter, ce qui techniquement correspond bien à un ordre non-descendant. Les types dépendants finaux, spécifiés par Richard Eisenberg dans cet exemple sont les suivants : le programme « intègre une liste d’entiers et donne un résultat en ordre non-descendant et est une permutation de la liste d’entrée. »

Pour lui, en utilisation avec l’IA, « cela peut correspondre à votre entrée dans le modèle de langage de grande taille, » une méthode pour resserrer le contrôle et s’assurer que le code écrit par la machine correspond à vos objectifs. L’utilisation de ces fonctions dépendantes précises dans votre prompt assure que le résultat se trouve bien dans les limites des spécifications visées.

Ne peut-on pas simplement demander à Chat GPT d’écrire aussi la fonction ? Richard Eisenberg le déconseille, ou répond que si vous le faites, il vous faut au moins comprendre parfaitement les fonctions avant de le faire. « Si l’humain n’est pas suffisamment expert pour lire la spécification et savoir qu’elle est juste, alors on a perdu, » dit-il. « L’ordinateur peut s’emballer et faire ce qu’il veut, et on n’a aucun moyen de savoir si c’est juste ou non. »

Les types dépendants ne sont pas la panacée. Ils peuvent très facilement impacter la vitesse, ce qui dans un établissement comme Jane Street où la vitesse du code est essentielle, peut constituer un inconvénient de taille.

Tous les langages ne prennent pas entièrement en charge les types dépendants. Pour Richard Eisenberg, « Coq, ACTA, Idris et Lean sont ceux qui y sont vraiment parvenus. » Coq et ACTA existent depuis les années 80, ce qui en fait un autre exemple des anciennes techniques de codage ressuscitées avec une nouvelle technologie.

Cliquez ici pour créer votre profil eFinancialCareers. Soyez visible auprès des recruteurs qui cherchent à pourvoir des postes de premier plan en technologie et finance.

 

Have a confidential story, tip, or comment you’d like to share? Contact: editortips@efinancialcareers.com in the first instance. 

Bear with us if you leave a comment at the bottom of this article: all our comments are moderated by human beings. Sometimes these humans might be asleep, or away from their desks, so it may take a while for your comment to appear. Eventually it will – unless it’s offensive or libelous (in which case it won’t.)

author-card-avatar
AUTEURAlex McMurray

Abonnement newsletter

Recevez les derniers conseils carrière et toute l'actu emploi finance directement dans votre boîte mail

Donnez un nouvel élan à votre carrière

Trouvez des milliers d'opportunités emploi en vous inscrivant sur eFinancialCareers dès aujourd'hui.
À lire aussi
Offres recommandées

Abonnement newsletter

Recevez les derniers conseils carrière et toute l'actu emploi finance directement dans votre boîte mail