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

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

87 % des organisations envisagent d'investir dans des outils de codage Gen AI, et 71 % des développeurs sont actuellement à divers stades d'adoption,
Allant des essais au déploiement complet

Le , par Bruno

18PARTAGES

3  0 
Un rapport d'étude publié par LinearB révèle que 87 % des organisations envisagent d'investir dans des outils de codage Gen AI en 2024, et 71 % sont actuellement engagées dans l'adoption de cette technologie, allant des essais au déploiement complet. Basé sur les données recueillies auprès de plus de 150 directeurs techniques et vice-présidents de l'ingénierie, le rapport explore l'impact potentiel du code d'IA générative sur l'ensemble du cycle de livraison du logiciel. L'IA générative devrait être responsable d'environ 20 % du code d'ici à la fin de 2024.

La plupart des développeurs explorent l'intégration de la GenAI dans leurs processus, avec une majorité ayant déjà investi dans des outils tels que GitHub Copilot, Amazon CodeWhisperer, Codium.ai, Tabnine, etc. Le rapport aborde la question cruciale de mesurer l'impact de cette initiative. LinearB décompose l'évaluation en trois catégories principales : l'adoption, les avantages et les risques. Pour évaluer l'adoption, le suivi du nombre de Pull Requests générées par GenAI est suggéré comme point de départ, tandis que les avantages peuvent être mesurés en évaluant le temps de codage, la fréquence de fusion, les histoires terminées, et la précision de la planification.

Presque toutes les équipes d'ingénieurs se penchent sur l'intégration de la GenAI dans leurs processus, et un grand nombre d'entre elles ont déjà franchi le pas. Elles ont investi dans des outils tels que GitHub Copilot, Amazon CodeWhisperer, Codium.ai, Tabnine, et d'autres outils similaires pour concrétiser cette initiative. En effet, l'enquête menée par LinearB a révélé qu'un pourcentage significatif, soit 87%, des participants sont susceptibles ou très susceptibles d'investir dans un outil de codage GenAI d'ici 2024.

Quelle est la probabilité que votre organisation investisse dans un outil de codage de l'IA générative en 2024 ?

Note moyenne 3.8/5


L'IA générative ou l'intelligence artificielle générative fait référence à l'utilisation de l'IA pour créer de nouveaux contenus, comme du texte, des images, de la musique, de l'audio et des vidéos. L'IA générative s'appuie sur des modèles de base (grands modèles d'IA) qui peuvent effectuer plusieurs opérations en même temps et réaliser des tâches prêtes à l'emploi, telles que la synthèse, les questions/réponses, la classification, etc. De plus, les modèles de base ne nécessitent qu'un entraînement minimal et peuvent être adaptés à des cas d'utilisation ciblés avec très peu d'exemples de données.

L'IA générative s'appuie sur un modèle de ML pour apprendre les schémas et les relations dans un ensemble de données de contenus créés manuellement. Elle utilise ensuite les schémas appris pour générer de nouveaux contenus. La méthode la plus courante pour entraîner un modèle d'IA générative consiste à utiliser l'apprentissage supervisé. Le modèle se voit attribuer un ensemble de contenus créés manuellement et des étiquettes correspondantes. Il apprend ensuite à générer du contenu semblable au contenu créé par un humain et doté des mêmes étiquettes.

L'IA générative traite un grand volume de contenus, générant des insights et des réponses sous forme de texte, d'images et de formats conviviaux. Voici des exemple d'utilisations de l'IA générative :

  • Améliorer les interactions client grâce à des fonctionnalités optimisées de chat et de recherche ;
  • Explorer de grandes quantités de données non structurées via des interfaces de conversation et des résumés ;
  • Faciliter les tâches répétitives en répondant aux appels d'offres, en localisant le contenu marketing dans cinq langues et en vérifiant la conformité des contrats client, etc.

Le rapport de LinearB souligne également les risques associés à l'adoption de la GenAI, tels que la taille des Pull Requests, le taux de reprise, la profondeur de révision, et d'autres indicateurs. Il met en lumière l'importance d'évaluer comment les processus des équipes sont impactés pour prévenir les risques avant qu'ils n'affectent la livraison.

En parallèle à l'adoption et aux avantages de la GenAI, il existe des risques significatifs à prendre en considération. Outre les préoccupations liées à la sécurité, à la conformité et à la propriété intellectuelle, l'adoption de la GenAI pour le codage annonce un changement fondamental dans la « forme » de la base de code et dans la manière dont elle est mise à jour.


Le rapport propose également une approche pratique pour mesurer l'adoption, les avantages, et les risques du code GenAI en utilisant des métriques spécifiques telles que les demandes d'extraction ouvertes, les demandes de retrait fusionnées, la fréquence de fusion, le temps de codage, les histoires terminées, la précision de la planification, la taille des Pull Requests, le taux de reprise, la profondeur de révision, et d'autres.

De nombreux responsables de l'ingénierie sont chargés de superviser des dizaines, voire des centaines de développeurs, ce qui rend pratiquement impossible le contrôle manuel de l'utilisation d'un nouvel outil, en particulier un outil aussi complet que la GenAI.

Selon LinearB, une fois que vous avez entamé l'utilisation d'un produit tel que Copilot, ou même si vous envisagez encore de le déployer, trois questions principales doivent être abordées :

  • Quels sont les cas d'utilisation que nous résolvons avec la GenAI ?
  • Quelles parties de ma base de code sont écrites par une machine ? Le nouveau code ? Les tests ?
  • Mon équipe utilise-t-elle effectivement cet outil ? Si oui, dans quelle mesure ? Et comment évolue notre utilisation au fil du temps ?

À titre de référence, le suivi du nombre de Pull Requests (PR) ouvertes dont le code est généré par la GenAI constitue un bon point de départ pour évaluer l'adoption de cette technologie.

Risques et stratégies pour utiliser l'IA générative dans le développement de logiciels

En parallèle de l'adoption et des avantages liés à la GenAI, il existe des risques significatifs à prendre en compte. Outre les préoccupations relatives à la sécurité, à la conformité et à la propriété intellectuelle, l'adoption de la GenAI pour le codage annonce un changement fondamental dans la "forme" et la manière dont la base de code est mise à jour. Bien que la GenAI permette une création de code beaucoup plus rapide, il est crucial de déterminer si les pipelines de révision et de livraison sont prêts à gérer cette évolution. Il est essentiel d'évaluer l'impact de ces changements sur les processus des équipes afin de prévenir les risques avant qu'ils n'affectent la livraison.

Dans de nombreux cas, le code généré peut s'avérer plus difficile à réviser. L'auteur des Pull Requests (PR) trouve souvent plus ardu de raisonner à son sujet et de le défendre, étant donné qu'il n'a pas réellement rédigé le code. Pour garantir une inspection adéquate des PR générées par la GenAI, utilisez la profondeur de révision et le suivi des PR fusionnés. Les mesures telles que le temps d'approbation et le temps de révision sont également utiles pour identifier les éventuels goulots d'étranglement dans le processus de développement.

Enfin, le recours au taux de reprise peut aider à comprendre s'il existe un besoin de réécriture fréquente du code, tandis que le suivi des bogues échappés permet de surveiller l'évolution des tendances générales en matière de qualité.

Comme certains développeurs l'ont découvert l’année dernière, il n'est pas toujours simple ou sûr de faire appel à l'IA générative pour gérer un peu de codage, mais il existe des moyens pour les équipes de développement de la faire travailler avec plus de confiance. En avril dernier, des employés de Samsung ont introduit une partie du code propriétaire de l'entreprise dans ChatGPT, réalisant par la suite que l'IA générative conservait ce qu'on lui donnait à lire pour s'entraîner. Cela a provoqué un tollé, avec des craintes d'exposition, bien que cela ait sensibilisé d'autres entreprises aux risques qui peuvent survenir lors de l'utilisation de l'IA générative dans le développement et le codage.

L'idée est assez simple : laisser l'IA créer du code pendant que les développeurs se concentrent sur d'autres tâches qui requièrent leur attention. L'astrophysicien Neil deGrasse Tyson a évoqué en juin certains des avantages de l'utilisation de l'IA pour traiter des données sur le cosmos et lui permettre de se consacrer à d'autres tâches. Il semble qu'une stratégie bien pensée puisse permettre à l'IA générative de jouer un rôle productif dans le développement de logiciels, à condition que des garde-fous soient mis en place.

Josh Miramant, PDG de la société de données et d'analyse Blue Orange Digital, estime que l'utilisation de l'IA par les développeurs est de plus en plus inévitable. « Nous nous trouvons à un carrefour intéressant pour ce qui est de l'avenir des LLM (grands modèles de langage) et de l'IA générative en vue d'une adoption massive. » Selon Miramant, les entreprises peuvent mettre l'IA au service du développement de logiciels à condition de respecter certaines lignes directrices. « L'un des types de transition qui se produira est que ces entreprises commenceront à utiliser des modèles en libre accès qu'elles formeront et utiliseront en interne avec un accès beaucoup plus restrictif, explique-t-il. Les murs doivent être très hauts pour qu'une entreprise se lance dans la formation sur des données d'entreprise très exclusives. »

« En tant que vice-président de la R&D chez SOLIDUS Labs, le suivi des indicateurs de performance en ingénierie m'a permis d'engager des discussions éclairées tant avec mes collaborateurs directs qu'avec le PDG. Cela me permet de repérer rapidement les points de blocage, d'évaluer l'efficacité de l'équipe et l'expérience des développeurs, puis d'apporter des améliorations ciblées en fonction des données recueillies », Idan Lavy, vice-président de la R&D, SOLIDUS Labs.

Controles et mesures de securite dans l'integration de l'IA generative dans le developpement de logiciels

Parmi les risques liés à l'utilisation de l'IA dans le développement de logiciels, il y a la possibilité qu'elle reproduise le mauvais code qui a fait le tour du monde dans le domaine des logiciels libres. « Il y a du mauvais code qui est copié et utilisé partout », déclare Muddu Sudhakar, PDG et cofondateur d'Aisera, développeur d'une plateforme d'IA générative pour les entreprises. « C'est un risque important. Le risque n'est pas seulement que du code mal écrit soit répété - le mauvais code peut être mis en jeu par des acteurs malveillants qui cherchent à introduire des vulnérabilités qu'ils pourront exploiter ultérieurement. »

Selon Sudhakar, les organisations qui font appel à l'IA générative et à d'autres ressources libres devraient mettre en place des contrôles pour repérer ces risques si elles ont l'intention d'intégrer l'IA dans l'équation de développement. « C'est dans leur intérêt, car il suffit d'un mauvais code », explique-t-il en évoquant la longue campagne de piratage à l'origine de la violation des données de Solar Winds.

L'attrait croissant de l'IA pour le développement semble l'emporter sur les inquiétudes concernant les risques de fuite de données ou d'autres problèmes. « L'utilité de l'IA est telle qu'il vaut la peine d'être conscient des risques et de le faire quand même », déclare Babak Hodjat, directeur technique de l'IA et directeur de Cognizant AI Labs.

Selon lui, il faut tenir compte du fait qu'un code accessible au public ne signifie pas qu'il n'est pas protégé par des droits d'auteur, ce qui pourrait être problématique si une entreprise intégrait ce code dans une ligne de ses propres produits logiciels. « Nous devons vraiment, vraiment être attentifs et veiller à ne pas tomber dans ce piège », déclare Hodjat.

En plus de surveiller le mauvais code, il ajoute que les organisations devraient vérifier que le code de l'IA générative n'est pas protégé par des droits d'auteur ou des droits de propriété, un processus qui pourrait en fait être assisté par d'autres formes d'IA. « Ces éléments sont en fait bien meilleurs pour critiquer que pour produire, et ils sont déjà très bons pour produire du texte ou du code », explique Hodjat.

Sudhakar est d'accord pour dire qu'un outil d'inspection à code open source devrait être mis en place pour inspecter le code provenant de l'IA afin de détecter d'éventuels droits d'auteur ou de propriété intellectuelle, « si vous disposez de personnel logiciel pour inspecter cela et en fonction de votre niveau d'investissement ».
Selon Hodjat, il existe également des moyens de tirer parti de l'IA générative accessible au public, tout en réduisant certains risques.

Il peut s'agir par exemple de télécharger un modèle de langage large open source et de l'exécuter localement. De cette manière, les données et le code sensibles ne quittent pas l'organisation. « Le fait de pouvoir exécuter ces modèles sur place va nous permettre d'utiliser ces systèmes pour améliorer le codage de manière beaucoup plus importante », explique-t-il. Pour certains codes propriétaires, cependant, l'IA pourrait être complètement interdite.

Voici un tableau de bord GenAI personnalisé


Tous les Pull Requests (PR) arborant l'étiquette "Copilot" dans GitHub ont été inclus dans la définition du filtre du tableau de bord. Dans cette représentation visuelle, la ligne bleue inférieure illustre l'ensemble des PR avec l'étiquette "Copilot", tandis que la ligne grise représente tous les autres PR, servant ainsi de référence de base dans ce contexte.

Plongeons maintenant en détail dans les Pull Requests (PR) fusionnés sans examen. À titre d'exemple, au sein de l'équipe d'ingénieurs chez LinearB, une décision collective a été prise pour ne pas intégrer de PR générés par GenAI sans qu'ils aient fait l'objet d'une révision.

Dans le graphique, on observe un pic de PR fusionnés sans révision lors de la semaine 50, constituant une anomalie. Chaque fois que LinearB détecte une tendance dans les données qui ne correspond pas aux attentes, elle approfondit l'analyse en cliquant sur le pic du graphique. Cela permet d'afficher une liste de tous les PR qui ont contribué à ce point de données, permettant ainsi d'examiner de près tous les PR GenAI qui ont été fusionnés sans examen.

En principe, un outil de GenAI conçu pour générer des morceaux de code pour une équipe devrait logiquement entraîner une réduction du temps de codage et des coûts de développement en accélérant les tâches simples. Pour évaluer si les avantages attendus de la GenAI se concrétisent, LinearB suggère d'analyser les performances et la vélocité de l'équipe.

Diverses mesures peuvent être suivies à cet égard, notamment le temps de codage, défini comme la période entre le premier commit et l'émission d'une Pull Request (PR). Cette métrique peut être utile pour déterminer si la GenAI contribue effectivement à réduire le temps de codage des développeurs.

La fréquence de fusion, qui indique à quelle fréquence les développeurs peuvent intégrer du code dans la base de code, revêt également une importance particulière. Elle ne se limite pas seulement au temps de codage, mais englobe également la dynamique de révision du code, fournissant ainsi un aperçu de l'efficacité de la GenAI pour accélérer l'ensemble du processus.

« La nature imprévisible des projets logiciels, due à divers facteurs tels que des défis techniques inattendus et des problèmes de sécurité, peut poser des défis considérables. Les mesures d'ingénierie, notamment la précision de la planification et l'utilisation d'outils d'automatisation du flux de travail, ont été des catalyseurs essentiels pour accroître notre productivité. Ces outils ont par ailleurs contribué à renforcer la prévisibilité de nos calendriers de publication et des délais associés », souligne Marko T., Directeur Technique chez ASSIGNAR.

Les développeurs utilisent déjà des outils de codage de l'IA au travail

Selon une enquête de GitHub auprès des développeurs, 92 % des développeurs travaillant dans de grandes entreprises déclarent utiliser un outil de codage de l'IA, que ce soit au travail ou pendant leur temps libre, et 70 % d'entre eux affirment que l'utilisation de ces outils leur apporte des avantages significatifs.

L'IA est là pour rester et elle transforme déjà la façon dont les développeurs abordent leur travail quotidien. Il est donc essentiel que les entreprises et les responsables de l'ingénierie adoptent des outils d'IA de qualité professionnelle afin d'éviter que leurs développeurs n'utilisent des applications non approuvées. Les entreprises devraient également établir des normes de gouvernance pour l'utilisation des outils d'IA afin de s'assurer qu'ils sont utilisés de manière éthique et efficace.

Presque tous les développeurs (92 %) utilisent des outils de codage de l'IA au travail - et une majorité (67 %) a utilisé ces outils à la fois dans un cadre professionnel et pendant son temps libre. Curieusement, seuls 6 % des développeurs interrogés dans le cadre de notre enquête déclarent n'utiliser ces outils qu'en dehors du travail.

Les développeurs pensent que les outils de codage basés sur l'IA amélioreront leurs performances

La plupart des développeurs expérimentant les outils d'IA sur leur lieu de travail, les résultats de notre enquête suggèrent que ce n'est pas seulement un intérêt futile qui pousse les développeurs à utiliser l'IA. Il s'agit plutôt d'une reconnaissance du fait que les outils de codage de l'IA les aideront à atteindre les normes de performance.

Dans notre enquête, les développeurs affirment que les outils de codage basés sur l'IA peuvent les aider à respecter les normes de performance existantes en améliorant la qualité du code, en accélérant les résultats et en réduisant le nombre d'incidents au niveau de la production. Ils estiment également que ces paramètres devraient être utilisés pour mesurer leurs performances au-delà de la quantité de code.

Évaluation de la pertinence et de la fiabilité du rapport d'étude de LinearB

LinearB explique comment son approche, basée sur l'étiquetage des Pull Requests, permet aux responsables de l'ingénierie de suivre l'adoption, les bénéfices, et les risques de la GenAI, offrant une visibilité claire à tout moment, du déploiement à l'utilisation complète.

La méthodologie de collecte des données présentée par LinearB n'est pas explicitement détaillée dans la description du rapport. L'absence de détails sur la manière dont les réponses ont été obtenues rend difficile l'évaluation de la représentativité de l'échantillon et la validité des conclusions tirées. De plus, la source des données, composée de plus de 150 directeurs techniques et vice-présidents de l'ingénierie, pourrait potentiellement introduire un biais, ces individus pouvant avoir des perspectives spécifiques basées sur leurs rôles et leurs expériences. Une enquête plus vaste et diversifiée aurait renforcé la crédibilité des résultats.

Les prévisions quant à la part de l'IA générative dans le code d'ici à la fin de 2024, représentant environ 20 %, reposent sur des projections sujettes à des variables inconnues. Ces prévisions nécessitent une interprétation prudente en raison de la nature évolutive du domaine de l'IA et du codage génératif.

Bien que le rapport de LinearB présente des informations intrigantes, il est crucial de considérer ces données avec discernement en raison du possible biais de l'échantillon, du manque de détails sur la méthodologie et de la nature spéculative des prévisions avancées. Une analyse approfondie et une compréhension des limites de l'étude sont nécessaires pour formuler des conclusions informées.

Source : LinearB

Et vous ?

Est-ce que les conclusions de l'étude publiée par LinearB sont pertinentes ?

Dans quelle mesure les résultats de cette étude peuvent-ils être généralisés à l'ensemble de l'industrie, étant donné la diversité des organisations et de leurs besoins ?

Quelle est votre opinion concernant l'adoption des outils de codage Gen AI par les départements d'ingénierie logiciels ?

Estimez-vous que les conclusions tirées par LinearB ont une signification pour l'ensemble des développeurs ?

Voir aussi :

Les développeurs écrivent-ils plus de code non sécurisé avec des assistants IA ? Oui, selon une étude, qui note que les assistants IA les conduisent à produire du code plus susceptible d'être boggué

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

Les assistants de programmation basés sur l'IA incitent à repenser l'enseignement de l'informatique, selon des chercheurs

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Pierre Louis Chevalier
Expert éminent sénior https://www.developpez.com
Le 30/09/2024 à 15:56
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
12  0 
Avatar de OuftiBoy
Membre éprouvé https://www.developpez.com
Le 30/09/2024 à 15:26
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.
8  0 
Avatar de PhilippeGibault
Membre éprouvé https://www.developpez.com
Le 01/10/2024 à 14:12
Notre métier n'est pas de faire du code qui marche, mais de faire du code qui dure.

Et la nuance est là.

Un code qui dure est un code qui répond au besoin fonctionnel, mais qui est durable dans le temps.

Mais un code qui marche n'est pas forcement durable dans le temps.

Je considère que notre métier consiste aussi à laisser la meilleure architecture de code pour qu'elle soit la plus durable possible.

Surtout que la dette technique a un coût:
https://www.premaccess.com/qu-est-ce...-la-maitriser/

C'est la différence entre un bon développeur qui va challenger son code pour le faire tenir sur la durée, et un mauvais développeur qui va juste faire le minimum et faire un machin-chose qui marche, ne faisant même pas de TU des fois.

La dernière catégorie est appelé le "Monkey Codeur".

De mon point de vue, je pense que l'IA va remplacer le Monkey Codeur. Et vu les enjeux économiques que représente la dette technique.
Vu les pertes économiques mais aussi sociales que représente la dette technique, je ne pleure pas la disparition du Monkey Codeur.

Par contre, je ne m'en fait pas pour le codeur qui essaye de challenger son code pour le faire durer.
Car là, il faut une intelligence humaine.

Et là, je ne pense pas que l'IA peut remplacer.
8  0 
Avatar de calvaire
Expert éminent https://www.developpez.com
Le 21/10/2024 à 16:50
je présuppose que tous le monde dans mon équipe utilise chatgpt ou équivalent.
je viens de regarder les stats de notre gitlab, et je constate la meme chose:
1122 merge request en 2023
en 2024 on est à 1087 actuellement

sachant que 1 merge request dans notre équipe est égal à 1 tache jira.
la nature des taches entre 2023 et 2024 n'a pas vraiment changé sur mon projet.

donc visiblement pas de gains à la clé.

maintenant perso je reviendrais pas en arrière, les llm sont de bons outils, c'est vraiment top quand on cherche un truc ou qu'on cherche a faire quelque chose sans trop savoir comment faire.

cas concret: je cherchait un module ansible pour faire un truc précis, j'ai demandé a chatgpt, il m'a donné le nom du module et un exemple de code, je suis allé sur la doc d'ansible pour vérifier et voir les arguments, c'est vraiment plus rapide que si j'avais du aller fouiller et lire la doc ansible.

mais il me génère toujours du code faux, voir obsolete parfois, et il est bien incapable de créer un programme informatique complet, il est juste capable d'écrire correctement des fonctions.

enfin chatgpt ou copilot sont des outils "professionnel", il est important de bien se former sur comment écrire des prompts et pour pouvoir l'utiliser, et surtout il faut maitriser son domaine d'expertise. Un gars qui n'y connait rien à l'informatique ne sera pas plus capable de faire un logiciel avec chatgpt. Chatgpt c'est une autocomplétion d'un ide tres avancée, mais un comptable ne sera jamais capable de coder un vrai logiciel.

avec chatgpt le comptable sera plus a l'aise pour coder sa macro excel, mais il ne va pas monter un serveur mongodb, automatiser l'insertions des données et remplacer excel par grafana et enfin integrer les graphs dans une page web ou un client lourd.

ou un domaine plus visuel, chatgpt peut me coder un jeu video basique en 2d sous pygame, mais il est bien incapable de me coder un équivalent call of duty ou autre jeux complexe. Meme un "simple" rayman 2d ou mario 2d chatgpt a vite ces limites.
5  0 
Avatar de Aiekick
Membre extrêmement actif https://www.developpez.com
Le 19/09/2024 à 22:50
en gros il n'y a que les non dev qui pensent que l'IA est sure. je suis pas surprit
4  0 
Avatar de axel1818
Membre à l'essai https://www.developpez.com
Le 01/10/2024 à 8:18
je l utilise dans le codage, uniquement lorsque je n y connais rien sur le sujet de ce que je veux écrire. Évidemment, les tests et verifications qui sont exhaustifs durent très longtemps. Tant que les ia ne sont pas capables de s auto vérifier, car ils ne sont que des copieurs colleurs, donc je n ai aucune confiance dans leurs resultats
3  0 
Avatar de Axel Mattauch
Membre averti https://www.developpez.com
Le 01/07/2024 à 11:50
Juste une suggestion...

Ne serait-il pas plus pertinent de s'appuyer sur l'IA pour tester les codes produits et laisser le codage aux humains?
1  0 
Avatar de chris_FR
Membre régulier https://www.developpez.com
Le 21/09/2024 à 11:32
Ah les commerciaux et le marketing

Croire que l'IA est magique et permet à tout le monde de devenir un Super Développeur sans aucune formation ni expérience ... on y est pas encore

sauf si grâce à l'IA les "devs" font encore plus de conneries et encore plus de bugs ... si ils ne sont pas dégoûtés ils peuvent apprendre plus vite
1  0 
Avatar de DrHelmut
Membre actif https://www.developpez.com
Le 01/10/2024 à 14:15
Comme tout nouvel outil, il faut apprendre à s'en servir. Copilot ne fait pas de miracle, il ne comprend rien à ce qu'il propose, il faut juste des rapprochements sémantiques et statistique.

Si tu ne sais pas coder, que toi même tu ne comprends pas ce qu'il te pond et que tu valides, à qui revient la faute au final ?

À côté de ça, l'outil étant capable de s'inspirer de ce que tu écris, des onglets ouverts, etc, bien utilisé, c'est un gain de temps de taré sur certaines tâches. Un très bon exemple, c'est quand tu reprends du code legacy avec d'énormes manques en terme de tests unitaires en vu d'un refactoring. Tu écris les premiers tout seul, et rapidement, le copilot est capable de proposer en grande part le code des tests à venir. Jamais parfait bien sûr, et c'est normal, et ça ne le sera jamais car, et on ne le répétera jamais assez : il n' y a pas d'intelligence dans ce qu'on appelle IA d'aujourd'hui
1  0 
Avatar de JP CASSOU
Membre confirmé https://www.developpez.com
Le 02/10/2024 à 10:41
Le code généré par l'IA ne fonctionne pas dans la plupart du temps
(exemple: Gradient conjugué multithreadé en Pascal)
1  0