Maison  >  Article  >  Périphériques technologiques  >  Dix façons dont l’IA générative va changer le développement logiciel

Dix façons dont l’IA générative va changer le développement logiciel

WBOY
WBOYavant
2024-03-11 12:10:02716parcourir

Traducteur | Chen Jun

Chonglou

Au siècle dernier90, cela signifiait généralement choisir un éditeur. le référentiel de code CVS ou SVN et compilez le code dans un fichier exécutable. Les environnements de développement intégrés correspondants (IDE) tels que Eclipse et Visual Studio peuvent intégrer la programmation, le développement, la documentation, la construction, les tests, le déploiement et d'autres étapes dans un cycle de vie complet de développement logiciel ( SDLC), améliorant ainsi la productivité des développeurs.

Dix façons dont l’IA générative va changer le développement logiciel

Ces dernières années, le cloud computing populaire et les outils d'automatisation DevSecOps ont amélioré les capacités globales des développeurs, permettant à un plus grand nombre d'entreprises de développer, de déployer et de maintenir plus facilement des applications logicielles.

Aujourd'hui, l'IA générative sert de catalyseur au changement de paradigme de développement de nouvelle génération, qui devrait changer la façon dont les entreprises créent et maintiennent leurs logiciels, et apporter de nouveaux outils et paradigmes de développement. En réponse, de nombreux développeurs commencent à se demander si l'IA entraînera la disparition des compétences en programmation telles que nous les connaissons. Dans le même temps, les dirigeants IT de diverses entreprises réfléchissent également : comment l'IA affectera-t-elle le développement de SDLC et DevSecOps au cours des dix prochaines années. Avec ces deux questions, je travaillerai avec vous pour trouver les réponses ci-dessous.

L'IA générative est-elle un nouvel outil ou une nouvelle voie de développement ? Le

Pulumi's PDG Joe Duffy estime : « L'IA améliorera l'automatisation de la programmation, améliorera considérablement la productivité et le rendement des entreprises, améliorant ainsi le niveau d'abstraction des opérations humaines. . , et ne remplacera pas vraiment la programmation. Principal de Thomvest VenturesAshish Kakran estime : "L'IA générative bouleverse le cycle de vie de la livraison des logiciels. "Les équipes de développement et DevOps deviendront plus sophistiquées.

Dans le même temps, à mesure que les fonctions de l'IA générative continuent de s'améliorer, les responsabilités des développeurs seront ajustées en conséquence.

MatillionLe CTO de l'entreprise Ed Thompson estime : « Copilots dans sa forme actuelle rend en fait les développeurs plus productifs et élimine le travail qu'ils avaient auparavant. a fondamentalement changé le paysage de la programmation parce que les gens supposent à tort que le travail d'un développeur consiste simplement à écrire du code, et non à résoudre des problèmes du monde réel. monde du développement ? 1.Générer un code standard basé sur des invites en langage naturelAstronome

's AirflowDirecteur de l'ingénierie Kaxil Naik

pense : " Modèles de code générés par l'IA , et Copilot assisté par l'IA traduit le langage naturel en code fonctionnel, simplifiant la compréhension des bases de code complexes et garantissant le respect des meilleures pratiques de développement, rendra le travail de programmation plus facile. L'enquête auprès des développeurs 2023année de StackOverflow montre que 70 % des développeurs utilisent ou prévoient d'utiliser des outils d'IA dans le processus de développement. Parmi ceux qui ont utilisé l’IA pour le développement, plus de 82 % l’ont utilisé pour écrire du code logiciel. Ces chiffres suffisent à montrer que la manière traditionnelle dont les développeurs écrivent du code, réutilisent le code existant et construisent des composants subit un changement de paradigme.

2.

La vérification du code est une responsabilité importante des développeursEn plus de rendre la programmation plus facile et plus efficace, les développeurs doivent assumer une responsabilité importante en y consacrant beaucoup de temps et en l'utilisant efficacement. Outils pour vérifier le code afin d'éviter les problèmes de sécurité ou les défauts de performances dans le code généré. Peter McKee

, responsable des relations avec les développeurs de Sonar, estime : « Alors que les développeurs adoptent de plus en plus l’IA pour améliorer la productivité, ils ont la responsabilité de procéder à un examen complet du contenu généré par l’IA en général. » Le nettoyage au fur et à mesure de votre programme garantit une inspection et une surveillance continues pendant la livraison. En conséquence, les développeurs peuvent consacrer plus de temps à de nouvelles tâches au lieu de corriger les erreurs et vulnérabilités potentielles dans le code créé manuellement ou généré par l’IA. McKee a ajouté : « Si les développeurs ne parviennent pas à utiliser l'automatisation pour analyser et surveiller le code généré par l'IA, cela signifie que le code qui doit être corrigé et la dette technique augmenteront de façon exponentielle

3.

Devenir. un nouveau modèle de développement pour les grandes entreprises

Comment l'utilisation d'outils

IA génératifs pour développer du code peut affecter diverses équipes de développement Dans les grandes entreprises, des milliers d'outils et de normes d'application sont pris en charge uniquement par les développeurs disposant de moins de code. écrire et plus d'intégration avec le code développé par générative AI, à quoi ressemblera le développement pour les grandes entreprises

Développé par Red Hat Markus Eisele du département de promotion des outils et de la stratégie estime : « Différentes combinaisons d'outils pour différentes équipes entraîneront un manque de standardisation et de pratiques de développement unifiées, sans parler des différences cognitives accrues entre les développeurs. « Le portail de développement centralisé construit par l'IA peut faciliter l'accès de l'équipe de développement et mettre en œuvre les meilleures pratiques dans les applications inter-équipes en éliminant les frictions dans le processus de collaboration. Cela signifie que l'environnement de développement intégré peut se transformer en plates-formes d'assemblage, similaires à celles d'un ordinateur. -conception assistée dans la fabrication (CAD) ou modélisation des informations du bâtiment dans la construction (BIM) où l'accent sera mis sur la construction de composants personnalisés vers l'assemblage de composants préexistants. Utiliser des outils intégrés pour valider les conceptions.

4.

Réduction de la programmation, risque accru de chaîne d'approvisionnement du code

Un autre impact de l'utilisation du code développé avec

IA générative concerne la manière dont les dirigeants d'entreprise élaboreront des politiques pertinentes et surveilleront l'approvisionnement. le code de la chaîne est intégré dans les applications d'entreprise, ce que les entreprises doivent continuer à suivre, ce sont les composants logiciels open source et commerciaux. À l'avenir, elles devront ajouter IA générativeCette nouvelle dimension de sortie . Ilkka Turunen

, CTO de terrain de Sonatype, estime : « Les développeurs doivent jouer un rôle important dans le maintien et la gestion de la chaîne d'approvisionnement de l'IA. Ils procéderont à des examens plus rigoureux de la sécurité, de l’authenticité et de l’origine des modèles d’IA dans leurs opérations quotidiennes. En mettant en œuvre une évaluation des risques liés à l'IA et en gérant correctement la nomenclature du modèle d'IA, les entreprises doivent garantir que l'infrastructure de développement dispose d'une sécurité et d'une gestion appropriées de l'IA. « En pratique,

SAST

, DAST et d'autres outils de sécurité et de gestion de code peuvent améliorer l'automatisation de l'analyse de code et permettre aux développeurs d'intégrer du code dans les référentiels d'entreprise, pour aider à vérifier si. Le code de sortie de Generative Ai est conforme aux politiques de sécurité. ), la plateforme d'intégration SaaS de IFTTT

, la plateforme d'intégration en tant que service (iPaaS) et d'autres technologies de l'écosystème, les capacités d'intégration de code des développeurs se sont néanmoins améliorées de plusieurs ordres de grandeur. les développeurs doivent encore effectuer beaucoup de travail de base pour cartographier les champs de données et programmer des transformations logiques afin de garantir la fiabilité et les performances. Avec IA générative

, les développeurs peuvent créer des produits avec des exigences en langage naturel et une intégration sans code des processus visuels. Emmanuel Cassimatis, qui travaille dans l'équipe SAP IA et innovation, estime : « Dans le passé, toute la vie du développement depuis la conception, la construction, le test, l'intégration, le déploiement, la livraison pour passer en revue les différentes étapes de le cycle a toujours été dispersé. L'IA peut extraire des données de différentes applications et atteindre un niveau d'intégration unifié, renforçant ainsi la collaboration entre les développeurs. »

6. Les développeurs seront les gestionnaires des agents de l'IA Agents

honeycomb chef de produit Phillip Carter estime que Generative Ai transformera les développeurs et l'assurance qualité (QA ) les futures tâches professionnelles des ingénieurs. « À l'avenir, le langage naturel guidera probablement davantage la génération de code et les tests pour vérifier le code généré. Les agents d'IA feront l'essentiel du travail, et les développeurs devront définir des objectifs et des contraintes de programmation que ces agents devront suivre »

.

Carter a ensuite prédit avec audace : "Les agents d'IA peuvent effectuer des tâches d'assurance qualité, d'observabilité et de sécurité qui étaient hors de portée des développeurs dans le passé en analysant le comportement des programmes au moment de l'exécution et en examinant les facteurs inconnus." , les développeurs peuvent définir l'architecture du système, les non-fonctionnalités et les exigences opérationnelles dans une perspective de haut niveau, guidant ainsi Generative AI pour effectuer le développement de code et les tests automatiques au lieu de le faire eux-mêmes.

7.L'IA est introduite à plusieurs étapes de SDLC

Alors qu'actuellement Copilots et de nombreux IA générativeLes outils se concentrent principalement activé pour la programmation, mais ses nouvelles fonctionnalités modifieront également d'autres étapes dans SDLC. Humberto Moreira, ingénieur en chef des solutions chez Gigster, estime : « À mesure que l'IA générative est intégrée au SDLC, différents modèles auront des étapes de cycle spécifiques pour lesquelles ils sont les plus adaptés. Par exemple, le modèle A peut être optimisé en fonction des besoins ; Le modèle B est destiné au développement de code, tandis que le modèle C est destiné au contrôle qualité. "

En fait, parce que divers outils fournissent des cas de test plus puissants et peuvent fournir des changements de code plus rapides. Retour d'information, donc le passage au génératif. Le modèle d’IA a eu un certain impact sur l’assurance qualité. Gilad Shriki, co-fondateur de Descope, a déclaré : « Avec l'essor de l'IA, du SDK aux tests en passant par la documentation, tous les aspects entourant l'ingénierie logicielle seront assistés par l'IA générative. Les développeurs devront même utiliser des formats spécifiques d'utilisation de l'IA pour enregistrer. leur travail. »

8.

Segmentation des rôles de développementLe rôle de l'IA générative

dans le développement de logiciels peut changer par rapport à la séparation traditionnelle actuelle des fonctions de développement humain. En d’autres termes, différents générateurs de code, compilateurs et autres rôles de développement joués par les machines émergeront progressivement.

Chainguard

Vice-président de l'ingénierie

Dustin Kirkland estime : « En plus de la perspective traditionnelle de développement de code avec laquelle les développeurs humains sont familiers, une autre perspective cachée émergera. Bien que cette perspective soit destinée aux humains, Il est moins lisible, mais peut être entièrement compris par le compilateur et l'interpréteur joué par l'IA. Il servira de couche intermédiaire pour un autre code, fournissant une vision défensive de ce qu'on appelle l'optimisation de la sécurité de l'IA. "Cependant, certaines personnes s'interrogent : l'IA. lui-même. Si la capacité d’identification de sécurité est précise et efficace.高9.iAI pour améliorer le processus de développement du développement

Launchdarkly

Directeur de l'expérience développeur Cody de Arkland a proposé l'utilisation de

génération AI

, formule interactive et formule interactive Apprendre les cas d'utilisation qui contribuent à améliorer la fiabilité et l’opérabilité des applications logicielles. Ceux-ci incluent : Développer et générer des composants d'application Web conformes aux normes de conception apprises et satisfaitesCréer des balises de fonctionnalité correspondantes lors de la détection que les développeurs ont créé de nouvelles fonctionnalités

  • Démarrer nouveau déploiements de logiciels (
  • CI/CD
  • ) avec la possibilité de les annuler si des problèmes sont découverts
  • Fournir au contrôle qualité une visibilité en temps réel via des exécutions personnalisées plutôt que des exécutions post-déploiement Boucle de rétroaction Bien sûr, ces cas d'utilisation s'accompagnent également de la question suivante : quels développements de nouvelle génération et quelles capacités
  • SRE l'IA générative
permettra-t-elle ou améliorera-t-elle. 10. Les risques liés à l'IA contre lesquels les entreprises doivent se prémunir nce, à savoir :

IA générativeRisques tels que les droits de propriété intellectuelle (y compris le code et les données) qui peuvent survenir. Pour ce faire, les entreprises doivent évaluer si les avantages l’emportent sur les risques.

TabnineEcosystemVice-président du développement système et commercialBrandon Jung estime : Nous devons prêter une attention particulière aux données entrant dans le modèle, en particulier aux données de l'ensemble de formation, et consacrer du temps et de l'énergie à évaluer et sélectionnez des modèles d'IA pour protéger les actifs les plus précieux d'une entreprise--code et données.

Bien que nous soyons encore aux premiers stades du développement de logiciels avec Generative AI, il reste à voir si les Generative AIalgorithmes et les outils qui les prennent en charge peuvent établir des garanties pour protéger l'entreprise. Dans une large mesure, cela dépend de la propre capacité de l’IA générative à contrôler le développement, les tests, le déploiement et la maintenance des logiciels. Introduction du traducteur

Julian Chen, 51 ans, rédacteur en chef de la communauté CTO, a plus de dix ans d'expérience dans la mise en œuvre de projets informatiques, est doué pour contrôler les ressources et les risques internes et externes et se concentre sur la diffusion du réseau et Connaissances et expérience en matière de sécurité de l'information.

Titre original :

10 façons dont l'IA générative transformera le développement logiciel, auteur : Isaac Sacolick

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer