Learning from 53.6K Real-World Developer Edits of AI-Generated Code
Cet article présente DECODE, un ensemble de données de 53 600 modifications réelles effectuées dans l'IDE sur du code généré par l'IA par plus de 1 000 développeurs, ce qui révèle que la plupart des modifications surviennent dans les 15 minutes suivant l'acceptation et démontre que l'ajustement fin de modèles plus petits sur ces données surpasse significativement les LLM de pointe pour prédire les modifications de code.
Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète
Imaginez que vous enseigniez à un robot comment cuisiner. Vous lui montrez un livre de recettes, et il essaie de préparer un plat. Parfois, le robot réussit parfaitement. Mais souvent, il ajoute trop de sel, oublie l'ail ou utilise une cuillère au lieu d'un fouet. Dans le monde de l'informatique, ce robot est un « assistant de programmation IA », et les plats sont des lignes de code. Pendant longtemps, les scientifiques ont essayé d'enseigner la cuisine à ces robots en leur montrant des recettes finies (appelées « commits Git ») — les plats parfaits et finis qui entrent dans les livres de cuisine. Mais c'est comme essayer d'apprendre à cuisiner en ne regardant que la nourriture dans l'assiette, en ignorant la cuisine en désordre, le pain grillé et les corrections frénétiques du chef.
La vraie magie (et le vrai désordre) se passe au milieu. Quand un chef humain goûte une soupe et dit : « Non, il faut plus de poivre » ou « En fait, jette ça et recommence », cela correspond à une « édition de code ». Jusqu'à présent, nous n'avions pas de bon moyen d'observer le chef en train de faire cela. Nous ne voyions que le résultat final. Ce document plonge dans cette cuisine désordonnée et magnifique. Il pose la question suivante : Comment les humains corrigent-ils réellement les erreurs de l'IA ? Est-ce qu'ils font de petits ajustements, ou est-ce qu'ils jettent tout ? Et pouvons-nous apprendre au robot à prédire ces corrections avant même qu'elles ne se produisent ?
Le Grand Détective du Code : DECODE
Les chercheurs derrière cette étude ont réalisé que pour rendre l'IA meilleure en écriture de code, ils devaient arrêter de regarder le produit fini et commencer à observer le processus. Ils ont créé un nouvel ensemble de données massif appelé DECODE (Developer Edits of Code Dataset). Considérez DECODE comme un système de caméras de surveillance haute définition installé dans les IDE (les espaces de travail numériques) de plus de 1 000 développeurs réels. Au lieu de simplement sauvegarder le code final, ce système enregistrait chaque frappe, chaque suppression et chaque réécriture qu'un développeur effectuait après qu'une IA a suggéré un morceau de code.
Ils ont collecté 53 600 de ces sessions d'édition réelles, principalement en Python, TypeScript et JavaScript. C'est comme avoir une bibliothèque de 53 600 histoires sur la façon dont les humains et les robots argumentent, font des compromis et collaborent pour construire des logiciels.
Ce qu'ils ont découvert : La règle des 15 minutes et la « Poubelle »
Lorsque l'équipe a examiné les données, elle a découvert des schémas surprenants concernant la manière dont les humains traitent les suggestions de l'IA.
Premièrement, ils ont découvert une règle stricte de 15 minutes. La majeure partie de l'édition se fait très rapidement. Si un développeur doit modifier le code de l'IA, il le fait généralement dans les 15 premières minutes suivant l'acceptation de la suggestion. Après cela, le code est généralement laissé tel quel.
Deuxièmement, ils ont constaté que les humains sont étonnamment sévères. Dans environ 31 % des cas, le développeur n'a pas seulement ajusté le code ; il a supprimé l'intégralité de la suggestion de l'IA et a recommencé à zéro. C'est comme si l'IA vous tendait un sandwich et que vous le jetiez immédiatement à la poubelle parce que le pain était légèrement incorrect. Les données suggèrent que si une suggestion d'IA ne correspond pas parfaitement à l'intention du développeur dès le départ, elle est souvent condamnée à être abandonnée.
Cependant, quand les humains gardent le code, ils ne changent pas grand-chose. Les données montrent que pour le code qui survit, les développeurs conservent généralement environ 63 % de la suggestion originale de l'IA. Ils ont tendance à ajouter très peu de leur propre nouveau code (seulement environ 20 % du code final est constitué de nouveautés ajoutées par l'humain). Cela signifie que les développeurs dépendent fortement de l'IA, mais qu'ils sont très exigeants sur la qualité initiale.
Les chercheurs ont également remarqué un ordre spécifique dans la façon dont les gens corrigent les choses. C'est comme une liste de contrôle :
- Le test « Est-ce que c'est même utilisable ? » : D'abord, ils décident s'ils veulent garder le code ou non. Si ce n'est pas le cas, ils le suppriment.
- La phase « Correction des bugs » : Ensuite, ils corrigent les erreurs de syntaxe ou les problèmes de lisibilité.
- La phase « Faire de l'IA mon propre code » : Puis, ils renomment les variables ou changent les chiffres pour les adapter à leurs besoins spécifiques.
- La phase « Changer le plan » : Enfin, s'ils continuent de travailler dessus, ils peuvent changer ce que le code fait réellement.
Apprendre au robot à lire les pensées
La deuxième grande partie du papier était un test : peut-on apprendre à un modèle d'IA plus petit et open-source à prédire ces éditions mieux que les modèles « frontières » géants et ultra-intelligents ?
Habituellement, les modèles d'IA les plus gros et les plus coûteux sont considérés comme les meilleurs en tout. Mais ici, les chercheurs ont pris un modèle plus petit (un modèle de 3 milliards de paramètres, ce qui est minuscule comparé aux géants) et l'ont entraîné spécifiquement sur le jeu de données DECODE. Ils lui ont appris à regarder une suggestion d'IA et à deviner : « L'humain va-t-il supprimer ceci ? Va-t-il l'ajuster ? Ou va-t-il le laisser tel quel ? »
Le résultat a été un choc. Le petit modèle, après avoir appris des données d'édition du monde réel, est devenu significativement meilleur pour prédire les éditions que les modèles massifs et de pointe qui n'avaient jamais vu ces données spécifiques.
- Pour deviner à quoi ressemblerait le code final, la précision du petit modèle s'est améliorée de 0,17 (un bond énorme dans ce domaine).
- Pour deviner si le code serait modifié, il s'est également amélioré de 0,17.
Cela suggère que posséder la bonne « expérience » (données d'édition du monde réel) est plus important que d'avoir simplement un cerveau plus gros. C'est comme un jeune chef qui, ayant regardé des milliers d'émissions de cuisine, pourrait savoir mieux corriger un plat qu'un chef célèbre qui n'a fait que cuisiner des repas parfaits en laboratoire.
La conclusion : C'est une question d'humain, pas seulement de code
L'article conclut que nous devons cesser de traiter la génération de code par l'IA comme un problème mathématique où le seul objectif est la « correction ». Le véritable objectif est l'« alignement ». Le code doit correspondre à l'intention de l'humain, sinon l'humain le jettera simplement.
Les auteurs suggèrent que les futurs assistants d'IA ne devraient pas seulement essayer d'écrire le code parfait du premier coup. Au lieu de cela, ils devraient être entraînés à comprendre le processus d'édition. Ils doivent apprendre que les humains suppriment souvent des éléments rapidement, qu'ils corrigent les erreurs avant de changer les fonctionnalités, et qu'ils sont plus susceptibles de garder un code qui est facile à ajuster.
En utilisant des ensembles de données comme DECODE, nous pouvons construire des IA qui ne se contentent pas d'écrire du code, mais qui écrivent du code que les humains veulent réellement garder. C'est un passage de la question « Ce code est-il correct ? » à la question « Ce code est-il quelque chose qu'un humain peut facilement s'approprier ? ». Et les données suggèrent que si nous apprenons à notre IA à comprendre la fenêtre d'édition désordonnée de 15 minutes, nous pourrons enfin obtenir un robot qui prépare un repas dont nous sommes heureux de manger.
Noyé(e) sous les articles dans votre domaine ?
Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.