Leçons du terrain : comment l’IA générative façonne le développement de logiciels en 2023
Depuis la sortie de ChatGPT en novembre 2022, d’innombrables conversations ont eu lieu sur l’impact de grands modèles de langage similaires. L’IA générative a obligé les organisations à repenser leur façon de travailler et ce qui peut et doit être ajusté. Plus précisément, les organisations envisagent l’impact de l’IA générative sur le développement de logiciels. Bien que le potentiel de l’IA générative dans le développement de logiciels soit passionnant, il existe encore des risques et des garde-fous à prendre en compte.
Les membres de la communauté VMware Tanzu Vanguard, qui sont des praticiens experts dans des entreprises de différents secteurs, ont donné leur point de vue sur l’impact de technologies telles que l’IA générative sur le développement de logiciels et les décisions technologiques. Leurs connaissances aident à répondre aux questions et à poser de nouvelles questions que les entreprises doivent prendre en compte lors de l’évaluation de leurs investissements en IA.
L’IA ne remplacera pas les développeurs
L’IA générative a introduit un niveau de vitesse de développement logiciel qui n’existait pas auparavant. Il contribue à augmenter la productivité et l’efficacité des développeurs en aidant les développeurs à créer des raccourcis dans le code. Des solutions, comme le chatbot ChatGPT, ainsi que des outils tels que Github Co-Pilot, peuvent aider les développeurs à se concentrer sur la génération de valeur plutôt que sur l’écriture de code passe-partout. En agissant comme un effet multiplicateur de la productivité des développeurs, cela ouvre de nouvelles possibilités dans ce que les développeurs peuvent faire avec le temps qu’ils gagnent. Cependant, malgré son intelligence et ses avantages en matière d’automatisation des pipelines, la technologie est encore loin de remplacer complètement les développeurs humains.
L’IA générative ne doit pas être considérée comme capable de travailler de manière indépendante et doit néanmoins être supervisée à la fois pour garantir l’exactitude du code et pour la sécurité. Les développeurs doivent encore être capables de comprendre le contexte et la signification des réponses de l’IA, car parfois elles ne sont pas entièrement correctes, explique Thomas Rudrof, ingénieur DevOps chez DATEV eG. Rudrof estime que l’IA est meilleure pour faciliter des tâches simples et répétitives et agit comme un assistant plutôt que de remplacer le rôle de développeur.
Risques de l’IA dans le développement de logiciels
Malgré la capacité de l’IA générative à rendre les développeurs plus efficaces, elle n’est pas sans erreurs. Trouver des bogues et les corriger peut être plus difficile avec l’IA, car les développeurs doivent toujours examiner attentivement tout code produit par l’IA. Il existe également plus de risques liés au développement du logiciel lui-même, car il suit la logique définie par quelqu’un ainsi que l’ensemble de données disponible, explique Lukasz Piotrowski, développeur chez Atos Global Services. Par conséquent, la technologie ne sera aussi efficace que les données fournies.
Au niveau individuel, l’IA crée des problèmes de sécurité, car les attaquants tenteront d’exploiter les capacités des outils d’IA tandis que les professionnels de la sécurité emploieront également la même technologie pour se défendre contre de telles attaques. Les développeurs doivent être extrêmement prudents pour suivre les meilleures pratiques et ne pas inclure directement les informations d’identification et les jetons dans leur code. Tout élément sécurisé ou contenant une adresse IP pouvant être révélé à d’autres utilisateurs ne doit pas être téléchargé. Même avec des garanties en place, l’IA pourrait être capable de briser la sécurité. Si des précautions ne sont pas prises lors du processus d’admission, il pourrait y avoir d’énormes risques si ce système de sécurité ou d’autres informations étaient par inadvertance transférés vers l’IA générative, déclare Jim Kohl, consultant Devops chez GAIG.
Meilleures pratiques et éducation
Il n’existe actuellement aucune bonne pratique établie pour tirer parti de l’IA dans le développement de logiciels. L’utilisation du code généré par l’IA est encore en phase expérimentale pour de nombreuses organisations en raison de nombreuses incertitudes telles que son impact sur la sécurité, la confidentialité des données, les droits d’auteur, etc.
Cependant, les organisations qui utilisent déjà l’IA doivent l’utiliser à bon escient et ne doivent pas faire librement confiance à la technologie. Juergen Sussner, ingénieur principal de la plateforme cloud chez DATEV eG, conseille aux organisations d’essayer de mettre en œuvre de petits cas d’utilisation et de bien les tester, s’ils fonctionnent, de les faire évoluer, sinon d’essayer un autre cas d’utilisation. Grâce à de petites expériences, les organisations peuvent déterminer elles-mêmes les risques et les limites des technologies.
Des garde-fous sont nécessaires lorsqu’il s’agit d’utiliser l’IA et peuvent aider les individus à utiliser efficacement la technologie en toute sécurité. Ne pas traiter l’utilisation de l’IA dans votre organisation peut entraîner des problèmes de sécurité, d’éthique et de droit. Certaines entreprises ont déjà été confrontées à des sanctions sévères liées à l’utilisation d’outils d’IA pour la recherche et le code. Il est donc nécessaire d’agir rapidement. Par exemple, des litiges ont éclaté contre des entreprises pour avoir formé des outils d’IA à l’aide de lacs de données contenant des milliers d’œuvres sans licence.
Faire en sorte qu’une IA comprenne le contexte est l’un des problèmes les plus importants liés à l’exploitation de l’IA dans le développement de logiciels, déclare Scot Kreienkamp, ingénieur système senior chez La-Z-Boy. Les ingénieurs doivent comprendre comment formuler les invites pour les IA. Les programmes éducatifs et les cours de formation peuvent aider à enseigner cet ensemble de compétences. Les organisations qui s’intéressent sérieusement aux technologies de l’IA devraient perfectionner le personnel approprié pour le rendre capable d’une ingénierie rapide.
Alors que les organisations sont aux prises avec les implications de l’IA générative, un changement de paradigme est en cours dans le développement de logiciels. L’IA va changer la façon dont les développeurs travaillent. Au minimum, les développeurs qui exploitent cette technologie deviendront plus efficaces dans le codage et la création des bases de la plate-forme logicielle. Cependant, l’IA aura besoin d’un opérateur pour travailler avec elle et il ne faut pas lui faire confiance de manière indépendante. Les informations partagées par VMwares Vanguards soulignent la nécessité d’une intégration prudente et la nécessité de maintenir des garde-fous pour atténuer les risques liés au développement de logiciels.
Pour en savoir plus, visitez-nous ici.