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 :

L'IA n'est pas prête à remplacer les développeurs humains pour le débogage, selon des chercheurs de Microsoft


Sujet :

Intelligence artificielle

  1. #81
    Chroniqueur Actualités

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2013
    Messages
    9 345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2013
    Messages : 9 345
    Par défaut L'IA n'est pas prête à remplacer les développeurs humains pour le débogage, selon des chercheurs de Microsoft
    L'IA n'est pas prête à remplacer les développeurs humains pour le débogage, selon des chercheurs de Microsoft
    Les agents d'IA ne peuvent pas déboguer les logiciels de manière fiable même lorsqu'ils ont accès à des outils

    Alors que les modèles d’intelligence artificielle générative comme ChatGPT, Claude, Gemini ou CodeWhisperer font déjà figure d’assistants prometteurs pour l’écriture de code, une nouvelle étude menée par des chercheurs de Microsoft met un sérieux bémol à l’enthousiasme ambiant : l’IA n’est pas encore à la hauteur lorsqu’il s’agit de déboguer efficacement du code réel.

    La prolifération continue des outils de codage de l'IA ne stimule pas seulement l'efficacité des développeurs, elle signale également un avenir où l'IA générera une part croissante de tout nouveau code. Thomas Dohmke, PDG de GitHub, l'a prédit en 2023, lorsqu'il a déclaré que « tôt ou tard, 80 % du code sera écrit par Copilot ».

    Les petites et grandes entreprises de logiciels utilisent déjà largement l'IA pour générer du code. Garry Tan, de Y Combinator, a noté que 95 % du code d'un quart des dernières start-ups de Y Combinator était écrit par de grands modèles de langage.

    En fait, selon Microsoft, la plupart des développeurs passent la majeure partie de leur temps à déboguer le code, et non à l'écrire. Des chercheurs de son écurie déclare d'ailleurs :

    « En tant que mainteneurs de dépôts de logiciels libres populaires, nous nous sentons concernés par ce constat. Mais que se passerait-il si un outil d'IA pouvait proposer des correctifs pour des centaines de problèmes ouverts, et si nous n'avions qu'à les approuver avant de les fusionner ? C'est ce qui nous a incités à maximiser les gains de temps potentiels des outils de codage IA en leur apprenant à déboguer le code.

    « Par débogage, nous entendons le processus interactif et itératif de correction du code. Les développeurs émettent généralement des hypothèses sur la raison du plantage de leur code, puis rassemblent des preuves en parcourant le programme et en examinant les valeurs des variables. Ils utilisent souvent des outils de débogage tels que pdb (débogueur Python) pour les aider à recueillir des informations. Ce processus est répété jusqu'à ce que le code soit corrigé.

    « Les outils de codage IA d'aujourd'hui stimulent la productivité et excellent à suggérer des solutions aux bogues sur la base du code disponible et des messages d'erreur. Cependant, contrairement aux développeurs humains, ces outils ne recherchent pas d'informations supplémentaires lorsque les solutions échouent, ce qui laisse certains bogues sans réponse, comme vous pouvez le voir dans cette démonstration simple qui montre comment une colonne mal étiquetée fait échouer les outils de codage d'aujourd'hui. Les utilisateurs peuvent ainsi avoir l'impression que les outils de codage de l'IA ne comprennent pas tout le contexte des problèmes qu'ils tentent de résoudre ».

    Nom : un.png
Affichages : 13491
Taille : 49,7 Ko

    Debug-gym : un environnement pour les outils de codage de l'IA afin d'apprendre à déboguer le code comme des programmeurs

    Il existe peu de domaines dans lesquels l'IA a été déployée de manière aussi robuste que dans celui du développement de logiciels. Du « vibe coding » (une nouvelle pratique dans laquelle des personnes, dont certaines ont une expérience limitée du codage, développent rapidement des logiciels à l'aide d'outils de codage assistés par l'IA, sans se préoccuper de l'efficacité du code tant qu'il est fonctionnel) à GitHub Copilot, en passant par les startups qui créent des applications rapides avec l'aide de LLM, l'IA est déjà profondément intégrée. Même Google a déclaré avoir généré 25% de son code par IA.

    Toutefois, ceux qui prétendent que nous ne sommes qu'à quelques mois du remplacement de la plupart des développeurs par des agents d'IA devraient revoir leurs attentes, car les modèles ne sont pas assez performants en matière de débogage, et le débogage occupe la majeure partie du temps d'un développeur. C'est ce que suggère Microsoft Research, qui a créé un nouvel outil appelé debug-gym pour tester et améliorer la façon dont les modèles d'IA peuvent déboguer les logiciels.

    Debug-gym (disponible sur GitHub et détaillé dans un billet de blog) est un environnement qui permet aux modèles d'IA d'essayer de déboguer n'importe quel dépôt de code existant en ayant accès à des outils de débogage qui ne font pas historiquement partie du processus pour ces modèles. Microsoft a constaté que sans cette approche, les modèles sont très mauvais dans les tâches de débogage. Avec cette approche, ils s'améliorent, mais sont encore loin de ce que peut faire un développeur humain expérimenté.

    Voici comment les chercheurs de Microsoft décrivent debug-gym :

    « Une question de recherche naturelle émerge : dans quelle mesure les LLM peuvent-ils utiliser des outils de débogage interactifs tels que pdb ? Pour explorer cette question, nous avons lancé debug-gym - un environnement qui permet aux agents de réparation de code d'accéder à des outils pour un comportement actif de recherche d'informations. Debug-gym élargit l'espace d'action et d'observation d'un agent grâce au retour d'information de l'utilisation des outils, ce qui permet de définir des points d'arrêt, de naviguer dans le code, d'imprimer des valeurs variables et de créer des fonctions de test. Les agents peuvent interagir avec les outils pour étudier le code ou le réécrire, s'ils ont confiance. Nous pensons que le débogage interactif avec des outils appropriés peut permettre aux agents de codage de s'attaquer à des tâches réelles de génie logiciel et qu'il est au cœur de la recherche sur les agents basée sur le LLM. Les corrections proposées par un agent de codage doté de capacités de débogage, puis approuvées par un programmeur humain, seront fondées sur le contexte de la base de code, de l'exécution du programme et de la documentation, plutôt que de s'appuyer uniquement sur des suppositions basées sur des données d'entraînement vues précédemment ».

    Vous trouverez ci-dessous les résultats des tests effectués avec debug-gym.

    Nom : deux.png
Affichages : 3647
Taille : 39,8 Ko
    Les agents qui utilisent des outils de débogage sont nettement plus performants que ceux qui n'en utilisent pas, mais leur taux de réussite n'est pas encore assez élevé

    Une approche efficace mais qui souligne les limites de l'outil

    Cette approche est beaucoup plus efficace que celle qui consiste à s'appuyer sur les modèles tels qu'ils sont habituellement utilisés, mais lorsque votre meilleur cas est un taux de réussite de 48,4 %, vous n'êtes pas prêt pour le primetime. Les limites sont probablement dues au fait que les modèles ne comprennent pas parfaitement comment utiliser au mieux les outils et que leurs données d'entraînement actuelles ne sont pas adaptées à ce cas d'utilisation.

    « Nous pensons que cela est dû à la rareté des données représentant un comportement décisionnel séquentiel (par exemple, les traces de débogage) dans le corpus d'entraînement LLM actuel », indique le billet de blog. « Cependant, l'amélioration significative des performances... valide le fait qu'il s'agit d'une direction de recherche prometteuse ».

    Ce rapport initial n'est que le début des efforts, affirme le billet. L'étape suivante consiste à « affiner un modèle de recherche d'informations spécialisé dans la collecte des informations nécessaires à la résolution des bogues ». Si le modèle est volumineux, la meilleure solution pour réduire les coûts d'inférence pourrait être de « construire un modèle de recherche d'informations plus petit qui puisse fournir des informations pertinentes au modèle plus important ».

    Ce n'est pas la première fois que nous voyons des résultats qui suggèrent que certaines des idées ambitieuses sur les agents d'IA remplaçant directement les développeurs sont assez éloignées de la réalité. De nombreuses études ont déjà montré que même si un outil d'IA peut parfois créer une application qui semble acceptable à l'utilisateur pour une tâche précise, les modèles ont tendance à produire un code chargé de bogues et de vulnérabilités de sécurité, et ils ne sont généralement pas capables de résoudre ces problèmes.

    Il s'agit d'une première étape sur la voie des agents de codage IA, mais la plupart des chercheurs s'accordent à dire que le meilleur résultat sera probablement un agent qui fera gagner beaucoup de temps à un développeur humain, et non un agent capable de faire tout ce qu'il peut faire.

    Nom : trois.png
Affichages : 3206
Taille : 253,5 Ko

    L'IA est en train de créer une génération de programmeurs illettrés

    C'est le constat amer d'un développeur qui raconte son expérience avec l'IA. Voici un extrait de son billet :

    Il y a de cela quelques jours, Cursor est tombé en panne lors d'un arrêt de ChatGPT.

    J'ai regardé fixement mon terminal, faisant face à ces messages d'erreur rouges que je déteste voir. Une erreur AWS est apparue. Je ne voulais pas la résoudre sans l'aide de l'intelligence artificielle (IA).

    Après 12 ans de codage, j'étais devenu plus mauvais dans mon propre métier. Et ce n'est pas une hyperbole : c'est la nouvelle réalité des développeurs logiciels.

    La décrépitude

    Elle s'est insinuée subtilement en moi.

    Tout d'abord, j'ai cessé de lire la documentation. Pourquoi s'embêter quand l'IA pouvait expliquer les choses instantanément ?

    Ensuite, mes compétences en matière de débogage en ont pris un coup. Les traces de pile me semblent désormais inaccessibles sans l'IA. Je ne lis même plus les messages d'erreur, je me contente de les copier et de les coller.

    Je suis devenu un presse-papier humain, un simple intermédiaire entre mon code et un LLM.

    Auparavant, chaque message d'erreur m'apprenait quelque chose. Aujourd'hui ? La solution apparaît comme par magie et je n'apprends rien. La dopamine des réponses instantanées a remplacé la satisfaction d'une véritable compréhension.

    La compréhension en profondeur est la prochaine chose qui a été affectée. Vous vous souvenez avoir passé des heures à comprendre pourquoi une solution fonctionne ? Aujourd'hui, je me contente d'appliquer les suggestions de l'IA. Si elles ne fonctionnent pas, j'améliore le contexte et je demande à nouveau à l'IA. C'est un cycle de dépendance croissante.

    Viennent ensuite les changements émotionnels. Auparavant, la résolution de nouveaux problèmes faisait partie du plaisir de programmer. Maintenant, je suis frustré si l'IA ne me donne pas de solution en 5 minutes.

    Le plus effrayant ? Je suis en train de construire un outil de développement alimenté par l'IA, mais je ne peux pas me débarrasser du sentiment que je contribue au problème même qui érode nos compétences collectives.

    Source : Microsoft

    Et vous ?

    Que pensez-vous de cette étude de Microsoft ? Vous semble-t-elle pertinente ou crédible ?

    Faut-il ralentir l’intégration de l’IA dans le développement logiciel sans garde-fous humains ?

    Les éditeurs d’EDI devraient-ils imposer des alertes de « confiance faible » dans les suggestions IA ?

    Peut-on entraîner des IA réellement performantes en débogage sans accès à des millions d’exemples de sessions humaines ?

    Le débogage est-il une compétence inimitable par les LLM, ou juste une question de data et de calcul ?

    Comment sensibiliser les jeunes développeurs aux limites actuelles de ces outils, dans un contexte où ils sont omniprésents dans les formations ?
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #82
    Membre confirmé
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Février 2024
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Architecte réseau

    Informations forums :
    Inscription : Février 2024
    Messages : 185
    Par défaut
    L'IA, c'est le cancre qui a triché lors de l'examen en copiant sur son petit camarade sans réfléchir. Des fois le code marche, d'autres non.

Discussions similaires

  1. Réponses: 77
    Dernier message: 03/07/2024, 08h29
  2. Réponses: 0
    Dernier message: 30/05/2018, 00h18
  3. Réponses: 22
    Dernier message: 04/05/2018, 16h29
  4. Réponses: 20
    Dernier message: 06/10/2017, 15h05
  5. Réponses: 6
    Dernier message: 30/09/2009, 10h26

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