IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Intelligence artificielle Discussion :

Les assistants d'IA de codage font-ils vraiment gagner du temps aux développeurs ?


Sujet :

Intelligence artificielle

  1. #21
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 81
    Points : 143
    Points
    143
    Par défaut
    GitHub Copilot, que j'utilise (à ne pas confondre avec le Copilot de Bing), m'aide énormément à gagner du temps, notamment pour rédiger des commentaires. Il est aussi très utile lorsque j'ai besoin d'écrire du code dans un langage dont j'ai oublié la syntaxe. Pour la rédaction d'aides, il s'avère également très pratique.

    Cela dit, ce ne sont que des exemples. Je ne demande jamais à l'IA d'écrire des blocs de code complets pour moi. Je la considère plutôt comme une extension de mon esprit, ce qui me permet d'être bien plus efficace, au point de difficilement m'en passer.

  2. #22
    Chroniqueur Actualités

    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Juin 2023
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2023
    Messages : 834
    Points : 14 861
    Points
    14 861
    Par défaut Les assistants d'IA de codage font-ils vraiment gagner du temps aux développeurs ?
    Les assistants d'IA de codage font-ils vraiment gagner du temps aux développeurs ? Une étude suggère que ces outils n'augmentent pas la vitesse de codage
    mais augmentent significativement le taux de bogues

    Une étude remet en cause les affirmations selon lesquelles les outils d'IA de codage améliorent la productivité des développeurs. Elle révèle que l'utilisation de GitHub Copilot a entraîné une augmentation de 41 % des bogues, soulevant des inquiétudes quant à la qualité du code. Malgré la diminution des heures de travail pour les groupes de contrôle et de test, ceux qui ont utilisé GitHub Copilot n'ont pas été soulagés de l'épuisement professionnel, ce qui indique l'efficacité limitée de l'outil dans la réduction du stress lié au travail. Les développeurs passent désormais plus de temps à examiner le code généré par l'IA, ce qui pourrait contrebalancer tout gain de temps.

    Les outils d'IA de codage ont un faible impact sur la productivité des développeurs

    Le débat se poursuit au sein de la communauté des développeurs, avec des opinions divergentes sur les véritables avantages en matière de productivité des assistants d'IA de codage, soulignant la nécessité d'une évaluation minutieuse de leur impact dans le monde réel. Si certaines entreprises ont fait état de gains de productivité significatifs grâce aux outils d'IA, d'autres ont constaté qu'ils introduisaient des erreurs et compliquaient également les processus de débogage. Les développeurs débutants ont souvent du mal à égaler l'efficacité des développeurs confirmés, même lorsqu'ils se font aider par les assistants d'IA.

    Nom : Capture d'écran 2024-09-30 100230.png
Affichages : 7813
Taille : 201,3 Ko

    Les outils de codage ont été un cas d'utilisation précoce évident dans la ruée vers l'IA générative. Cependant, une étude publiée récemment par la société d'analyse Uplevel indique que les améliorations de productivité promises sont loin d'être au rendez-vous, si tant est qu'elles existent. Uplevel, qui fournit des informations sur les données de codage et de collaboration, rapporte que l'utilisation de GitHub Copilot a également introduit 41 % de bogues supplémentaires.

    « Cela suggère que Copilot peut avoir un impact négatif sur la qualité du code. Les responsables de l'ingénierie peuvent souhaiter creuser davantage pour trouver les PR avec des bogues et mettre en place des garde-fous pour l'utilisation responsable de l'IA générative », indique le rapport intitulé "Can Generative AI Improve Developer Productivity".

    L'étude a mesuré le temps de cycle des demandes de fusion (pull request - PR), c'est-à-dire le temps nécessaire pour fusionner le code dans un dépôt, et le débit des PR, c'est-à-dire le nombre de demandes de fusion fusionnées. Elle n'a révélé aucune amélioration significative pour les développeurs utilisant GitHub Copilot. Ce résultat est l'un des trois énumérés par l'entreprise, qui a déclaré avoir mené la recherche pour répondre à trois questions :

    • l'accès à GitHub Copilot aide-t-il les développeurs à produire du code plus rapidement ?
    • GitHub Copilot aide-t-il les développeurs à produire un code de meilleure qualité ?
    • GitHub Copilot atténue-t-il l'impact de l'épuisement des développeurs ?


    Dans le cadre de l'étude, Uplevel a utilisé les données générées par ses clients et a comparé la production d'environ 800 développeurs utilisant GitHub Copilot sur une période de trois mois à leur production sur une période de trois mois avant l'adoption. Les deux autres conclusions d'Uplevel sont les suivantes :

    Pas de changement significatif dans les mesures d'efficacité

    « En comparant le temps de cycle, le débit et la complexité des RP avec les RP avec tests, GitHub Copilot n'a ni aidé ni nui aux développeurs de l'échantillon, et n'a pas non plus augmenté la vitesse de codage. Bien que certaines de ces mesures soient statistiquement significatives, le changement réel n'a pas eu d'incidence sur les résultats techniques, par exemple le temps de cycle a diminué de 1,7 minute », indique le rapport d'Uplevel.

    Atténuation du risque d'épuisement professionnel

    L'indicateur « Sustained Always On » d'Uplevel (temps de travail prolongé en dehors des heures normales et indicateur avancé d'épuisement professionnel) a diminué dans les deux groupes. Mais il a diminué de 17 % pour ceux qui avaient accès à GitHub Copilot et de près de 28 % pour ceux qui n'y avaient pas accès.

    Une étude publiée par GitHub a abouti à des conclusions différentes

    « L'étude d'Uplevel a été motivée par la curiosité suscitée par les affirmations selon lesquelles les assistants d'IA de codage deviendraient omniprésents », affirme Matt Hoffman, chef de produit et analyste de données au sein de l'entreprise. Une étude de GitHub publiée en août 2024 a révélé que 97 % des ingénieurs logiciels, des développeurs et des programmeurs déclaraient utiliser des assistants de codage IA. D'autres études ont également donné des résultats similaires.

    Nom : zsezr.png
Affichages : 2937
Taille : 143,2 Ko

    Dans le cadre de son étude, GitHub rapporte que plus de 97 % des personnes interrogées ont déclaré avoir utilisé des outils d'IA de codage au travail à un moment ou à un autre, un résultat qui se vérifie dans les quatre pays. Toutefois, un pourcentage plus faible de répondants ont déclaré que leur entreprise encourageait activement l'adoption d'outils d'IA ou en autorisait l'utilisation, ce qui varie d'une région à l'autre. Voici les principales conclusions de l'enquête :

    • la vague d'IA générative dans le développement de logiciels continue de croître. L'enquête a été élargie à 2 000 répondants et presque tous (plus de 97 %) ont déclaré avoir utilisé ces outils à un moment ou à un autre, que ce soit au travail ou en dehors. (Ce qui ne veut pas dire que toutes les entreprises ont approuvé l'utilisation de ces outils) ;
    • bien que les répondants à l'enquête affirment que leur entreprise accueille favorablement l'IA, des progrès restent à faire. Les données de l'enquête indiquent qu'une forte majorité (59 - 88 %) des répondants, tous marchés confondus, ont déclaré que « leur entreprise encourage activement ou autorise l'utilisation de ces outils ».
    • les équipes de développement logiciel reconnaissent plus d'avantages aux outils d'IA de codage qu'on ne l'a dit. Il s'agit notamment de la création de logiciels plus sûrs, de l'amélioration de la qualité du code, d'une meilleure génération de cas de test et d'une adoption plus rapide des langages de programmation. En fin de compte, cela s'est traduit par un gain de temps qu'elles ont pu consacrer à des tâches plus stratégiques.


    « Les personnes interrogées dans le cadre de notre enquête ont déclaré que l'IA les aidait à travailler de manière plus productive, en utilisant le temps gagné pour concevoir des systèmes, collaborer davantage et mieux répondre aux exigences des clients. L'IA ne remplace pas les emplois humains, elle libère du temps pour la créativité humaine. Passons maintenant à la recherche », a déclaré que Kyle Daigle, directeur des opérations de GitHub, dans un billet de blogue.

    Cependant, l'étude publiée par Uplevel suggère, quant à elle, que si les mesures de productivité sont solides, les développeurs passent désormais plus de temps à examiner le code généré par l'IA, ce qui pourrait contrebalancer tout gain de temps. Avant Uplevel, GitClear avait rapporté au début de l'année que l'utilisation des assistants d'IA pour la programmation ne contribue pas toujours à la qualité du code produit. Au lieu de cela, ils introduisent plus de bogues.

    Nom : Capture d'écran 2024-01-26 011715.png
Affichages : 2926
Taille : 111,3 Ko

    Les chercheurs de GitClear ont constaté que les outils d'IA comme GitHub Copilot ne donnent en fait que des suggestions pour ajouter du code. Aucune suggestion n'est faite pour la mise à jour ou la suppression de code. Il en résulte notamment une quantité importante de code redondant. Ils ont également constaté une forte augmentation du "code churn". Cela signifie que le code est fréquemment modifié, ce qui est généralement un mauvais signe pour la qualité.

    « Chaque nouvelle itération du code généré par l'IA finit par être moins cohérente lorsque différentes parties du code sont développées à l'aide d'invites différentes. Il devient de plus en plus difficile de comprendre et de déboguer le code généré par l'IA, et le dépannage devient si gourmand en ressources qu'il est plus facile de réécrire le code à partir de zéro que de le réparer », explique un utilisateur qui affirme que l'IA n'améliore pas pour l'instant la productivité.

    Une stratégie prudente d'adoption des assistants d'IA de codage

    L'accès à des outils d'IA comme GitHub Copilot a soulevé un certain nombre de questions importantes. L'IA aidera-t-elle les développeurs à livrer plus rapidement ? Peut-elle les aider à écrire un meilleur code et à éviter l'épuisement professionnel ? « Pas encore pour cette population. Cependant, l'innovation évolue rapidement, et GitHub a constaté que Copilot améliore la satisfaction des développeurs », a répondu Uplevel dans son rapport. Les responsables de l'ingénierie pourraient avoir intérêt à adopter une stratégie prudente d'adoption de Copilot afin de se préparer à de nouvelles avancées de l'outil :

    • fixez des objectifs précis : quels sont les résultats précis que vous souhaitez obtenir en intégrant GitHub Copilot dans le flux de travail de votre équipe ?
    • proposez une formation à vos équipes : la formation initiale peut être un bon moyen d'expliquer où GitHub Copilot doit être utilisé et où il ne doit pas l'être, et quelles sont les mesures de protection mises en place en tant qu'organisation ;
    • continuez à expérimenter l'IA générative : recherchez les cas d'utilisation spécifiques dans lesquels Copilot peut être utile et les messages-guides qui donnent les meilleurs résultats. Partagez ces résultats avec l'ensemble de votre organisation afin que les succès puissent être reproduits ;
    • surveillez les mesures d'efficacité technique sur lesquelles GitHub Copilot pourrait avoir un impact : commencez à effectuer des tests A/B de votre côté afin d'obtenir des informations objectives et quantitatives permettant de déterminer si l'IA améliore réellement la productivité des développeurs et/ou vous aide à atteindre vos objectifs opérationnels.


    Sources : Uplevel, GitHub

    Et vous ?

    Quel est votre avis sur le sujet ?
    Que pensez-vous des assistants d'IA de codage ? Ces assistants sont-ils utiles ? Sont-ils fiables ?
    Utilisez-vous l'un de ces outils d'IA pour écrire du code ? Si oui, quel impact cet outil a-t-il sur votre productivité ?
    Que pensez-vous des divergences relevées par les études sur l'impact des assistants d'IA sur la productivité des développeurs ?

    Voir aussi

    L'utilisation de l'assistant d'IA GitHub Copilot pour la programmation entraîne une baisse de la qualité globale du code et une quantité importante de code redondant, selon une étude

    92 % des développeurs utiliseraient des outils d'intelligence artificielle, selon une enquête de GitHub auprès des développeurs

    Les défis croissants du code généré par l'IA : le code généré par l'IA pourrait augmenter la charge de travail des développeurs et accroître les risques, selon Harness

  3. #23
    Membre éclairé
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Mai 2015
    Messages
    232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Mai 2015
    Messages : 232
    Points : 844
    Points
    844
    Par défaut To IA or not to IA. La vérité est peut-être au milieu...
    et bonjour à tous.

    Depuis que l'IA est sur toutes les lèvres, on a droit à un article qui nous dit que c'est la panacée, suivit d'un article disant excatement le contraire.

    Soit, il faut bien nourrir le site, ce qui succite le débat. Mais devant toute cette frénésie autours de l'IA, ne serait-il pas temps de faire une pause et de débattre du fond des problèmes ou des avantages de ce que propose l'IA, et plus particulièrement de l'IAG ?

    L'IA est utilisée dans plusieurs domaines, qui ont des "spécificités" qui lui sont propre. Je vais prendre 4 domaines.

    • Dans l'imagerie médicale, l'IA peut comparer des milliers de radiographies pour assister un docteur spécialisé dans ce domaine, et l'aider a voir ce qu'il n'aurait pas vu, et permettre de poser un diagnostique plus affiné, permettant d'en déduire le meilleur traitement a effectuer par la suite. C'est une bonne chose, tant pour le patient, le docteur et le budget nécessaire. Cette IA peut faire un travail correct, car les radio qu'on lui a soumise on été préalablement "validée" et lui sont fournies avec le diagnostique donné suite à cette radio. Il y a donc une certaine "fiabilité" des données en entrée. Et dans ce domaine qui se nomme "imagerie médical", cela existait déjà bien avant la frénésie autours de l'IA.
    • Dans la production de texte, le principe de l'IAG, est de fournir/déduire, mot après mot, et en se basant sur la suite des mots précédents, le mot suivant du texte en question. Là aussi il y a un "domaine" et une expertise qui est nécessaire. Si le texte qu'on veut générer est de l'ordre d'un roman de science-fiction, les entrées donnée à l'IA devrait, éviter de se baser sur des recettes de cuisine française, chinoise ou arabe. Ici aussi, l'importance de sur quoi a été fournie l'IA est primordiale. Mais c'est déjà plus vaste et donc plus difficile a contrôler. Le danger étant de 2 natures. Soit les données en entrée sont bien filtrées, et ce qui en ressortira manquera fortement d'imagination, soit, si elles mal filtrées, des absurdités (ou Hallucination) seront fortement présente en sortie. Il n'y a donc pas vraiment d'intérêt à l'utilisation d'une IA.
    • Pour un documentaire sur un sujet précis, l'IA qui aide a produire ce documentaire, ne devrait être alimentée que par données précises est validées existante sur le sujet du documentaire. Ici aussi, une recette de choucroute alsacienne ne peut pas apporter à l'IA de quoi sortir un texte pertinent sur le sujet/domaine d'un documentaire. Comme dans le point précédent, l'IA produira un documentaire ressemblant très fortement à d'autres, où sera plus ou moins "farfelu". Quelle est l'avantage de l'IA ?
    • De la cas d'une aide au "codage", l'IA ne devrait également qu'être alimentée par des codes sources validés, exempts de bug, et ne portant que sur le problème que le code doit résoudre. Ce qui est humainement impossible. On utilise des techniques très différente pour construire un site Web ou un compilateur.


    Il me semble dont, que pour qu'une IAG soit fiable, qu'il lui faut un entrainement de qualité, et qu'à de rares execptions près, cette "qualité" est difficilement réalisable, pour ne pas dire humainement impossible. C'est certainement la cause des fameuses Hallucinations, car une IAG qui a pour entrée tout ce qui est disponible sur internet, n'est pas capable de connaitre le vrai du faux des informations collectées.

    Dans notre domaine, le développement, l'aide d'une IAG pour aider au développement d'un site web, ou du guidage précis d'un missile, semble donc une mauvaise bonne idée. Le code générer par une IAG doit donc être scupuleusement inspecté, ce qui demande certainement autant de temps qu'une solution, écrite à la main par un humain ayant concience de la nature complète du problème a réssoudre.

    Dans le développement, comme dans d'autres domaines, avoir une connaissance "métier" du domaine spécifique dans lequel on travail est donc également très importante. Ce "domaine/métier" semble difficile a spécifier pour une IAG. Il est déjà assez difficile pour un humain de comprendre la demande d'un client, d'en faire une spécification, puis de générer du code pour cette spécification. Cela demande souvant des aller-retour entre ce que veut le client, la maise à jour de la spécification, et donc de comment implémenter cette spécification.

    Si l'IA peut aider, dans le domaine du développement, ce ne peut-être fait relativement sereinement, que sur des petits bouts de code que le développeur doit ensuite intégré dans son propre code. Si l'architecture du code a été founie par l'IA, il faut à ce dévoloppeur comprendre cette dernière pour pouvoir y insérer du code générer par l'IAG.

    Dans la balance productivité/qualité, le rôle d'un bon développeur est donc primordiale. Il est facile d'en déduire qu'au fur et à mesure que disparaîtront ces développeurs compétants, la qualité ne pourra que se dégrader.

    D'une manière générale, l'IA nous fait entrer petit à petit dans un cercle vicieux, où l'IA sera de plus en plus présente, et les moyens de contrôler son travail de moins en moins présents.

    Ceci tout simplement parce que ce qui fait la "nature" même d'un bon développeur, c'est sa créativité, sa profondeur d'analyse, sa réfexion, sa compétence, son expérience. Et je connais peu de développeurs qui seraient attirés par faire une maintenance permanente d'un code générer par une IA.

    Un développeur aime créer, ce qui lui sera enlever par l'IA. Tout comme d'en d'autres domaines, la créativité s'éteindra petit à petit, jusqu'à un point de non retour. Il me semble donc urgent d'attendre avant qu'il ne soit trop tard.

    BàV et Peace & Love.

  4. #24
    Expert éminent sénior

    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Avril 2002
    Messages
    2 836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 836
    Points : 19 214
    Points
    19 214
    Par défaut
    Le fait de pouvoir lire sur developpez.com des études qui disent le contraire c'est un plus, contrairement aux médias d'opinion qui ne vont s'appesantir que sur un seul coté de l'histoire.
    Encore plus utile que les études, c'est de pouvoir lire ici sur le forum du club les témoignages des vrais professionnels, c'est bien plus intéressant que de lire des articles moisis publiés dans les médias génériques écris n'importe comment par des journalistes qui n'y connaissent rien.

    A titre personnel, je suis témoin du fait qu'en entreprise le code généré par l'IA est une plaie, c'est bourré de failles, mal écrit, et c'est suffisamment illisible pour être presque impossible à corriger et à faire évoluer, c'est donc un désastre.

    Donc après le junior imposteur qui copie du code merdique trouvé sur stackoverflow, voila le baltringue qui colle en entreprises du code donné par chatgpt, qui lui même à pompé un code merdique trouvé sur stackoverflow, quel progrès !
    Après l'IA peut être utile dans certains cas, comme par exemple aider à trouver des bugs, mais ensuite c'est au développeur de corriger et de fournir un code fiable, bien écris et lisible.

    Du coup les entreprises ne veulent plus embaucher de juniors biberonnés à l'IA, ils préfèrent garder leur vieux développeurs qui codent encore à la main à l'ancienne, avec un cerveau et un clavier
    Ne prenez pas la vie au sérieux, vous n'en sortirez pas vivant ...

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/09/2021, 17h47
  2. Il existe une grande lacune dans la chaîne d'approvisionnement des données, selon une enquête d'Immuta
    Par Sandra Coret dans le forum Statistiques, Data Mining et Data Science
    Réponses: 0
    Dernier message: 17/08/2021, 13h34
  3. Réponses: 1
    Dernier message: 15/07/2021, 14h55
  4. Réponses: 146
    Dernier message: 16/10/2020, 13h17
  5. Réponses: 0
    Dernier message: 08/03/2012, 12h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo