Anthropic explique que l'IA amène des gains de temps anecdotiques et rend les développeurs moins bons
Anthropic vient de mettre en avant une étude qui montre un résultat qui n'est pourtant pas très flatteur pour les outils assistés par IA. L'étude menée par Judy Hanwen Shen et Alex Tamkin cible un cas bien précis : l'apprentissage d'une nouvelle bibliothèque pour le développement (dans le cas présent, en Python). Les développeurs devaient produire du code avec ou sans IA, et ensuite répondre à des questions sur la compréhension du code en question.
Les résultats ne sont pas totalement surprenants, mais révélateurs sur le domaine de l'apprentissage. Les développeurs qui ont utilisé l'IA ont certes produit le code plus rapidement, mais la différence était marginale : environ deux minutes de moins. Mais sur la compréhension du code, le résultat est par contre significativement visible : environ 17 % moins bon.

L'étude se concentre sur 52 développeurs, essentiellement des profils « junior », c'est-à-dire globalement des débutants. Ils connaissaient le Python (le langage utilisé) mais pas la bibliothèque (Trio). La préparation (10 minutes) se faisait sans IA, le développement lui-même (environ 35 minutes) avec ou sans IA (selon le groupe), le quiz se faisait sans IA, tout comme le sondage en fin d'enquête.
Dans le questionnaire final, donc, les personnes ayant travaillé avec l'IA étaient donc moins bien notées que celles ayant travaillé sans IA. Sur le temps de développement, la différence moyenne est de deux minutes, sur des tâches qui prenaient un peu moins de 21 minutes à un peu plus de 25 minutes (avec l'aide de l'IA) ou un peu moins de 22 minutes à un peu plus de 27 minutes sans IA. L'étude complète est disponible sur Arxiv.
La compréhension dépend des choix par rapport à l'IA
Dans les utilisateurs de l'IA, les développeurs ont passé parfois un temps significatif (30 % de celui alloué) pour poser des questions à l'assistant. Certains ont utilisé l'IA pour rédiger totalement le code, d'autres ont posé des questions avant de le faire rédiger, et une partie a rédigé le code avant de le faire corriger par l'IA. Dans tous ces cas de figure, les résultats sur la compréhension du code sont logiquement mauvais (ils sont dans la moyenne basse des résultats au questionnaire). D'autres ont choisi de générer le code mais de demander des explications à l'assistant pour comprendre son fonctionnement. Enfin, certains ont posé des questions sur les tâches pour des explications, avant de concevoir le code. Il y avait plus d'erreurs, mais une meilleure compréhension du résultat (dans la moyenne haute des résultats, mais en dessous des développeurs qui n'ont pas employé l'IA).

Bien évidemment, il ne faut pas généraliser : travailler avec l'IA ne rend pas nécessairement les développeurs moins bons, et les gains en productivité peuvent être significatifs (Anthropic parle de 80 % de gains, probablement dans des cas très précis). Qui plus est, l'échantillon reste assez faible, sur un cas assez précis. Mais l'étude montre tout de même une chose, qui semble assez évidente : la pratique améliore la compréhension du code pour les débutants. Une des suggestions d'Anthropic serait donc de ne pas déployer les outils assistés par IA pour tous les développeurs, et de laisser les profils débutants développer par eux-mêmes, pour qu'ils puissent améliorer leurs compétences.