mercredi, 24 avril 2024

L’IA donne un coup de pouce aux outils de développement

L’accélération inattendue de l’amélioration numérique déclenchée par la pandémie de COVID-19 a révélé à quel point la plupart des entreprises n’étaient pas préparées. L’un des plus gros problèmes auxquels ils sont encore confrontés est le « lacune des applications », l’absence d’applications dont les utilisateurs finaux ont besoin pour effectuer leurs tâches efficacement. Les outils low-code et no-code sont quelques-uns des moyens de remplir l’espace, avec les constructeurs de maisons d’interface utilisateur et l’automatisation des procédures robotiques, mais il reste encore beaucoup à faire.

Un choix est d’utiliser la découverte du fabricant pour améliorer les performances des concepteurs. Nous utilisons déjà des outils de base basés sur des règles pour fournir une conclusion de code et aider à exposer des approches, alors pourquoi ne pas aller plus loin et construire sur un énorme ensemble de données de code public pour partager comment les modèles de style communs sont utilisés, quels algorithmes sont utilisés dans quels contextes , et comment les concepteurs bénéficient des API publiques ?

Sur L’Entrepreneur : 8 bases de données prenant en charge la découverte de périphériques dans la base de données]

  • GitHub Copilot : assistant de codage AI
  • DeepDev : nouvelles conceptions d’IA pour les concepteurs
  • D’IntelliSense à IntelliCode
  • Génération de code pour les modifications de données

GitHub Copilot : Assistant de codage AI

C’est ce que GitHub a fait, en travaillant avec le créateur de codex d’OpenAI pour découvrir la conception (un modèle de langage axé sur le code comme le GPT-3) pour développer et former un service qui fonctionne avec votre éditeur de code pour recommander les prochaines étapes pendant que vous travaillez. L’appelant Copilot, GitHub le décrit comme un « développeur d’ensembles d’IA ». C’est une façon fascinante de voir les choses, en recommandant que Copilot soit un outil collaboratif plutôt qu’un outil normatif.

Copilot a en fait été formé sur les millions de lignes de code dans les référentiels publics. Mis en place en tant qu’extension Visual Studio Code, Copilot fonctionne dans le contexte de votre fenêtre d’éditeur actuelle, fournissant des idées basées sur ce que vous tapez et renvoyant des informations sur ce que vous utilisez. Votre code personnel n’est pas utilisé pour former le service avec de nouveaux exemples de code. Les seuls signaux sont le code que vous utilisez.

Vous ne devez pas vous attendre à ce que le code produit par Copilot soit correct. D’une part, il est encore tôt pour ce type d’application, avec peu de formation au-delà de l’ensemble d’informations préliminaires. Comme de plus en plus d’individus utilisent Copilot et qu’il s’appuie sur la façon dont ils utilisent ses recommandations pour soutenir l’apprentissage, ses recommandations doivent s’améliorer. Néanmoins, vous devrez toujours prendre des décisions concernant les extraits que vous utilisez et la manière dont vous les utilisez. Vous devez également être prudent avec le code généré par Copilot pour les facteurs de sécurité. Il est impossible pour GitHub d’examiner tout le code qu’il utilise pour former Copilot. Même avec des outils comme Dependabot et le scanner de sécurité CodeQL, il y a beaucoup de code de mauvaise qualité présentant de mauvais modèles et des bogues typiques.

Malgré les risques, il y a des idées fascinantes dans Copilot : comment cela prend vos remarques et les transforme en code, ou comment il recommande les tests qui peuvent être utilisés dans le cadre d’une procédure d’intégration constante/libération continue (CI/CD). Structurer l’IA dans les parties de développement et de test d’un modèle de devops CI/CD est très logique, car cela peut aider à réduire la charge des développeurs, en leur permettant de se concentrer sur le code. Mais encore une fois, vous devez toujours vous assurer que ces tests sont appropriés et qu’ils offrent le niveau idéal de protection du code. Vous n’êtes pas limité à une solution à la fois, car vous pouvez parcourir le fil conducteur vers votre éditeur, voir ce qui vous convient le mieux avant de l’accepter.

avec une liste d’attente ici.

DeepDev : nouvelles conceptions d’IA pour les concepteurs

Microsoft gère son propre ensemble de modèles d’intelligence artificielle pour soutenir les concepteurs d’applications. Son modèle de service DeepDev n’est pas encore ouvertement disponible, mais certains documents s’affichent. D’après ce qui a été publié, il semble que DeepDev utilise des techniques similaires à celles du copilote de GitHub, mais peut-être avec un ensemble plus large de conceptions.

Restez au courant des développements les plus récents en matière d’analyse de données et d’intelligence artificielle. Abonnez-vous à la newsletter L’Entrepreneur First Look]

Vous avez besoin d’un secret API approprié pour accéder à DeepDev, qui comprend un terrain de jeu où vous pouvez explorer les outils avant de les construire dans votre propre code. DeepDev semble être un moyen d’étendre vos propres outils avec les conceptions d’apprentissage automatique de Microsoft, vous permettant de construire ces conceptions dans un pipeline CI/CD pour générer des tests lorsque le code est connecté.

D’IntelliSense à IntelliCode

Le codage aidé par l’intelligence artificielle est une avancée fascinante qui devrait permettre de bien meilleurs outils d’avancement. Des technologies telles que IntelliSense et IntelliCode de Visual Studio fonctionnent déjà pour rendre le développement plus efficace à l’aide d’outils de conclusion de code et de collecte en temps réel pour déboguer le code au fur et à mesure que vous le composez. IntelliCode utilise les référentiels publics GitHub pour développer des conceptions de complétion de code, en utilisant les notes GitHub comme indicateur de la qualité du code.

Le contexte est essentiel pour tout outil de codage de découverte de machine. Si vous utilisez un ensemble d’API, l’outil doit répondre à la façon dont vous utilisez ces API, pas à la façon dont tout le monde les utilise. L’outil nécessite de fournir des surcharges appropriées pour une approche basée sur le code que vous avez réellement écrit. Il est important de disposer d’un ensemble suffisamment important d’informations sur la formation et d’un modèle réactif. Ce qu’il faut, c’est un outil qui vous aide à livrer ce que vous souhaitez livrer plus rapidement, pas un moyen de répéter exactement les mêmes erreurs dans un millier d’autres tâches.

il est également disponible en tant qu’extension Visual Studio Code, donc vous pouvez l’utiliser dans le cadre de votre choix d’environnements de développement quotidiens. Avec la version de base, Microsoft propose un développement expert qui vous permet d’explorer les fonctions à venir. Les exemples d’API pour Python sont un outil utile dans la version Expert actuelle. L’affichage d’échantillons nécessite des API reconnues. Vous les trouverez regroupés par appel dans une fenêtre d’éditeur distincte, vous pouvez donc copier et coller dans votre code ou simplement les utiliser comme guide sur la façon dont vous utilisez l’API, en traitant avec le REPL intégré de Visual Studio Code pour découvrir les appels qui fournissent vous les actions dont vous avez besoin. D’autres outils Expert incluent un moyen de produire des formats de date/heure pour les bibliothèques JavaScript typiques en donnant des exemples de la façon dont vous souhaitez les voir affichés.

Générer du code pour les changements d’informations

Programmation par exemple comme celui-ci est un autre moyen utile d’inclure l’assistance de l’IA à votre procédure d’avancement. PROSE (Synthèse de programme à l’aide d’exemples) de Microsoft Research est actuellement utilisé dans Excel et dans de nombreux outils Azure et Power Platform, en plus de SQL Server. Visual Studio l’utilise dans le cadre des outils de refactorisation d’IntelliCode, essayant de trouver des modèles dans votre code et recommandant où ils peuvent être réutilisés. C’est également un moyen utile d’extraire des informations et de les modifier de manière cohérente, en produisant du code qui prend une entrée et la délivre dans le format de sortie attendu.

Les outils d’avancement assistés par IA peuvent être considérés comme un programmeur en binôme intégré. votre éditeur. Ce ne sont pas des appareils qui créent du code pour vous (bien que cela puisse être le cas si vous le souhaitez). Au lieu de cela, traitez-le comme des suggestions qui peuvent accélérer votre procédure de développement, réduire les bogues et automatiser les tâches récurrentes. Le fait que votre éditeur vous recommande des tests vous aide à adopter un développement piloté par les tests, et là où il peut produire des expressions de routine et des améliorations basées sur les résultats attendus, il rationalise les contrôles de chaîne et d’information.

Restez au courant des dernières avancées en matière de développement de logiciels. Inscrivez-vous à la newsletter L’Entrepreneur First Look]

Si nous voulons combler cette lacune d’application, nous devons fournir du code plus rapidement et plus régulièrement. Y compris l’apprentissage de l’appareil à la procédure de développement vous permet de choisir le cerveau d’innombrables autres concepteurs, sans interrompre votre circulation ou la leur. Des outils tels que l’assistance Stack Overflow en fournissant des exemples de la façon dont d’autres concepteurs ont résolu exactement les mêmes problèmes ou des problèmes comparables.

Ces nouveaux outils basés sur l’IA vont encore plus loin, en analysant et en comprenant toutes ces innombrables lignes de code non documenté et découvrir des éléments pratiques au fur et à mesure de vos besoins, sans avoir besoin de les rechercher. Tout ce que vous avez à faire est de vous asseoir et de coder et de rechercher des astuces au fur et à mesure qu’elles se présentent.

.

Toute l’actualité en temps réel, est sur L’Entrepreneur

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici