Maison > web3.0 > Travailler avec l'IA : conversion de code

Travailler avec l'IA : conversion de code

Mary-Kate Olsen
Libérer: 2024-11-06 21:12:17
original
699 Les gens l'ont consulté

Il n'y a pas si longtemps, il n'était pas possible pour les LLM (Large Language Models) de réécrire du code. Chaque LLM a une limite de jetons, qui établit le nombre de mots qu'il peut absorber et appliquer. Avec des limites de jetons inférieures, les modèles sont incapables d'absorber la quantité d'informations nécessaire pour effectuer des tâches complexes telles que les conversions de code.

Travailler avec l'IA : conversion de code

La société de développement de logiciels Mantle a récemment été confrontée à un défi commun : elle a construit un prototype de plateforme de gestion d'actions de nouvelle génération dans un langage de codage spécifique, parfait pour une interaction rapide en réponse aux commentaires des clients.

Cependant, le code utilisé dans leur pile technologique de production était différent et pour expédier le produit, Mantle devrait convertir la base de code d'une langue à une autre. Il s'agit d'une tâche notoirement onéreuse à laquelle sont régulièrement confrontées les équipes logicielles et les entreprises.

« L'effort est justifié, mais le processus est douloureux », a déclaré Dwayne Forde, co-fondateur et directeur technique de Mantle. « Au lieu de faire avancer une feuille de route orientée client, vous allez désormais consacrer une partie importante de votre temps d'ingénierie précieux à recréer des fonctionnalités existantes. »

Se demandant si l'IA pourrait aider, Forde, un leader de confiance du secteur avec plus de 20 ans d'expérience en ingénierie dans des rôles au sein de sociétés telles que VMware et Xtreme Labs, a récemment décrit le processus dans un article de blog sur Mantle intitulé « Travailler avec l'IA : coder ». Conversion. »

Il espère que l'étude de cas servira de ressource utile aux autres équipes techniques, les aidant à économiser du temps et des efforts.

Il s'agit du deuxième d'une série de guides pédagogiques que Forde a rédigés pour les équipes techniques, dans le cadre d'un effort visant à faire progresser les intérêts collectifs du secteur en montrant comment l'IA peut accélérer et améliorer leur travail.

« Notre objectif n’était pas d’obtenir un code parfaitement conçu à 100 % », a noté Forde. "L'objectif était d'éliminer 80 % des modèles passe-partout et répétés afin que les ingénieurs puissent se concentrer sur la validation et la vérification de grande valeur et que nous puissions expédier le produit."

Il n’y a pas si longtemps, il n’était pas possible pour les LLM (Large Language Models) de réécrire du code. Chaque LLM a une limite de jetons, qui établit le nombre de mots qu'il peut absorber et appliquer. Avec des limites de jetons inférieures, les modèles sont incapables d'absorber la quantité d'informations nécessaire pour effectuer des tâches complexes telles que les conversions de code.

Mais avec les progrès rapides du logiciel LLM, les limites de jetons ont été plus élevées, et Forde a réalisé que son équipe avait devant elle de nouvelles options passionnantes. Des limites plus élevées signifiaient que les modèles pouvaient augmenter leur raisonnement, effectuer des mathématiques et des inférences plus complexes, ainsi qu'un contexte d'entrée et de sortie dans des tailles considérablement plus grandes.

Un million de jetons signifie, selon Medium, qu'un modèle peut faire l'équivalent de lire 20 romans ou 1000 mémoires juridiques.

Forde et son équipe ont compris que cette limite de jetons considérablement plus grande leur permettrait d'introduire des langages de codage entiers dans un LLM, lui apprenant essentiellement à être bilingue.

La conversion de code étant extrêmement exigeante en main-d'œuvre, Mantle savait que demander à un LLM de convertir même de petites quantités de code d'une langue à une autre serait extrêmement bénéfique pour le délai de livraison du projet d'ingénierie.

«Nous avons développé une approche qui a réduit la portée du travail des deux tiers et a permis d'économiser des mois de temps aux développeurs», a écrit Forde dans son message.

La conversion du projet prototype Mantle dans un nouveau langage de code aurait normalement pris des mois de travail manuel.

Au lieu de cela, Forde a déclaré que ses ingénieurs consacraient leur temps à expérimenter la meilleure façon d'inciter un LLM à faire une grande partie du travail à leur place.

Ce n'était pas aussi simple que d'introduire les langages de code dans le LLM et de lui demander de traduire.

Sous la direction de Forde, l'équipe Mantle a suivi un processus d'innovation et de découverte pour trouver les meilleures instructions, contextes et conseils pour fournir le LLM dans son travail.

Ils ont alimenté les extraits de code du modèle à partir de leur langage source prototype, ainsi que les modèles de code de production existants, les descriptions de leur architecture cible, et ont fourni au LLM un contexte sur les bibliothèques et utilitaires spécifiques utilisés dans la propre pile technologique de Mantle.

«Nous préférons certaines bibliothèques, donc l'ajout d'une section de contexte a été très utile pour nous assurer que le code de sortie LLM était compatible avec ce que nous utilisons», a déclaré Forde.

L'équipe a même alimenté les captures d'écran du LLM pour démontrer comment elle souhaitait que les informations soient présentées, ce qui ne serait pas évident pour l'IA à partir du seul langage de code.

« Les captures d'écran de l'application existante donnent au LLM une présentation visuelle de l'application », a déclaré Forde. « Le contexte et l’orientation que vous fournissez ne doivent pas nécessairement être entièrement verbaux. Vous pouvez également utiliser des points de référence visuels pour obtenir le résultat que vous recherchez. »

Dans son article de blog, Forde détaille le processus étape par étape utilisé par Mantle pour convertir son code. Le processus est innovant, itératif et – parfois – ludique.

À un moment donné, l'équipe Mantle a demandé au LLM d'« agir comme un ingénieur logiciel qui ne pouvait répondre qu'en code source ».

L'équipe Mantle a demandé au LLM de convertir uniquement de petites sections de code à la fois, a vérifié son travail, corrigé toute interprétation erronée, puis est passée à autre chose.

L'expérimentation étape par étape a permis à l'équipe Mantle d'affiner et d'améliorer son travail au fil du temps, et de créer un processus efficace qui peut désormais être reproduit dans de futurs projets.

« Une fois le fichier généré, notre équipe a soit examiné et ajusté la sortie manuellement, soit ajusté la

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal