Understanding the Rejection of Fixes Generated by Agentic Pull Requests -- Insights from the AIDev Dataset
Cet article analyse l'ensemble de données AIDev pour identifier 14 raisons spécifiques pour lesquelles près de la moitié des pull requests générées par IA sont rejetées, en catégorisant ces modes de défaillance afin de fournir des orientations exploitables pour améliorer la performance des agents, la hiérarchisation des tâches et l'intégration dans les flux de travail de développement logiciel.
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 engagiez une équipe de stagiaires robots super rapides et hyper enthousiastes pour corriger les bugs dans votre logiciel. Vous leur donnez un problème, et ils se mettent immédiatement à taper du code, à construire une « Pull Request » (qui est comme une proposition de modification du code).
Ce document est essentiellement un bulletin de notes sur ce qui se passe lorsque ces stagiaires robots (spécifiquement Copilot, Devin, Cursor et Claude) essaient de réparer des choses. Les chercheurs ont découvert une statistique frappante : près de la moitié du temps (46,41 %), le patron humain jette le travail du robot à la poubelle.
Voici une analyse de pourquoi cela arrive, en utilisant des analogies simples :
Le gros problème : La facture de l'« effort gaspillé »
Chaque fois qu'un robot génère une correction qui est rejetée, c'est une double perte. Premièrement, le robot gaspille sa propre « puissance cérébrale » (ressources informatiques et tokens). Deuxièmement, et c'est plus important encore, un humain doit arrêter ce qu'il est en train de faire, lire le travail désordonné du robot, réaliser qu'il est erroné, et écrire un commentaire pour expliquer pourquoi. C'est du temps humain gaspillé.
Les chercheurs ont examiné 306 de ces propositions rejetées pour comprendre exactement pourquoi les humains ont dit « Non ». Ils ont trouvé quatre raisons principales de ce rejet :
1. Le « mauvais outil pour le travail » (Problèmes d'implémentation)
Parfois, le robot essaie de réparer le problème, mais il utilise la mauvaise approche.
- L'analogie : Imaginez que votre voiture ne démarre pas. Vous demandez à un mécanicien de la réparer. Il arrive et essaie de réparer la radio au lieu du moteur, ou il essaje de réparer le moteur avec un marteau au lieu d'une clé à molette.
- Ce qui s'est passé : Les robots ont souvent mal compris les instructions, ont réparé la mauvaise chose, ou ont proposé une solution techniquement impossible ou incomplète.
2. Le « test cassé » (Problèmes techniques)
Dans le développement logiciel, avant qu'une correction ne soit acceptée, elle doit passer une série de tests automatisés (comme une inspection de sécurité).
- L'analogie : Le robot construit un nouveau pont, mais quand l'inspecteur y fait rouler un camion, le pont s'effondre. Le robot n'a pas vérifié si son propre pont pouvait supporter du poids.
- Ce qui s'est passé : Le code écrit par les robots a souvent échoué aux « tests de sécurité » automatisés (pipelines CI) ou a cassé d'autres parties du logiciel qui fonctionnaient déjà.
3. Le « stagiaire fantôme » (Problèmes de fournisseur)
Parfois, le robot s'arrête simplement de fonctionner ou est interrompu.
- L'analogie : Vous demandez au stagiaire d'écrire un rapport, mais à mi-chemin, le stagiaire sort du bâtiment, ou la connexion internet est coupée, vous laissant avec une page blanche.
- Ce qui s'est passé : Le service d'IA lui-même a planté, le robot a été « limité par le taux d'utilisation » (a épuisé le nombre de requêtes autorisées), ou la session s'est simplement terminée avant qu'il ne puisse finir le travail.
4. La « correction inutile » (Problèmes de pertinence)
Parfois, le robot travaille sur un problème qui n'a plus d'importance.
- L'analogie : Vous demandez au stagiaire de réparer une fuite dans la cuisine. Au moment où le stagier termine la réparation, la cuisine a été rénovée, et la fuite a disparu, ou quelqu'un d'autre l'a déjà réparée avec une meilleure méthode.
- Ce qui s'est passé : Le problème que le robot réparait était de faible priorité, le problème était déjà résolu par quelqu'un d'autre, ou le robot est resté inactif si longtemps que le projet a évolué sans lui.
Le « coût » de l'erreur
Le document a également mesuré la quantité de « désordre » que les robots ont produit avant d'être rejetés.
- Code Churn (Rotation du code) : C'est une façon sophistiquée de dire « combien de code a été écrit puis supprimé ». Les chercheurs ont constaté que les corrections rejetées impliquaient un médian de 81 à 293 lignes de code. C'est beaucoup de frappe pour une erreur !
- Commentaires : Les humains ont dû écrire en moyenne 1 à 4,5 commentaires pour expliquer pourquoi la correction était mauvaise. Puisque presque la moitié de toutes les corrections des robots sont rejetées, cela signifie que la moitié de tous les commentaires humains écrits à ces robots servent juste à dire : « Non, ça ne marche pas ».
La conclusion : Comment mieux entraîner les stagiaires
Les auteurs suggèrent que pour arrêter de perdre du temps, les humains doivent donner de meilleures instructions aux robots avant qu'ils ne commencent à travailler. Plus précisément :
- Donner une carte : Dites au robot exactement comment résoudre le problème et ce qu'il ne faut pas faire.
- Préparer le test : Dites au robot comment vérifier son propre travail pour s'assurer qu'il passe les tests de sécurité avant de le présenter au patron.
- Choisir les bons travaux : Ne demandez pas au robot de réparer des bugs minuscules et sans importance qui ne valent pas le temps de révision humaine.
En résumé : les agents d'IA sont puissants, mais pour l'instant, ils sont comme des stagiaires enthousiastes qui ont besoin d'instructions très claires et spécifiques pour éviter de faire perdre du temps et de l'énergie à tout le monde.
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.