← Derniers articles
🤖 AI

Why Are AI Agent Involved Pull Requests (Fix-Related) Remain Unmerged? An Empirical Study

Cette étude empirique analyse plus de 8 000 pull requests liées à des corrections provenant de cinq agents de codage IA pour identifier que les échecs de cas de test et les résolutions de problèmes dupliqués sont les principaux obstacles à la fusion, tandis que les échecs de construction sont rares, mettant ainsi en évidence les limitations clés des agents IA actuels et les directions pour améliorer la collaboration humain-IA dans la maintenance logicielle.

Auteurs originaux : Khairul Alam, Saikat Mondal, Banani Roy

Publié 2026-02-03
📖 5 min de lecture🧠 Analyse approfondie

Auteurs originaux : Khairul Alam, Saikat Mondal, Banani Roy

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 un projet de logiciel comme un immense chantier de construction en pleine effervescence. Les « mainteneurs » sont les chefs de chantier qui décident quels plans de construction doivent être réalisés et lesquels doivent être jetés à la poubelle. Récemment, ils ont commencé à embaucher des agents IA (comme des assistants robotiques) pour dessiner des plans de réparation (appelés « Pull Requests » ou PR) afin de réparer les parties défectueuses du bâtiment.

Ce document est comme un rapport de détective qui pose la question suivante : « À quelle fréquence les plans de réparation de ces assistants robotiques sont-ils approuvés, et quand ils ne le sont pas, pourquoi ? »

Voici le détail de leurs conclusions, utilisant des analogies simples :

1. La vue d'ensemble : Le taux de réussite

Les chercheurs ont examiné plus de 8 000 plans de réparation soumis par cinq types différents de robots IA (OpenAI Codex, GitHub Copilot, Devin, Cursor et Claude Code).

  • La bonne nouvelle : Environ 65 % du temps, les chefs de chantier ont dit : « Oui, construisez ceci ! » et ont fusionné la correction. Les robots font un travail décent.
  • La mauvaise nouvelle : Environ 26 % du temps, les gestionnaires ont dit : « Non », et ont fermé le plan sans le construire. Un autre 9 % attendent toujours dans la salle d'attente, indécis.
  • Les différences entre robots : Tous les robots ne se valent pas.
    • OpenAI Codex est l'élève brillant : il a été approuvé 81 % du temps.
    • Devin a le plus lutté : il n'a été approuvé que 43 % du temps, ce qui signifie que plus de la moitié de ses plans de réparation ont été rejetés.

2. Le « Pourquoi » : Pourquoi les plans sont-ils rejetés ?

Les chercheurs ont fouillé en profondeur dans les 326 plans rejetés pour découvrir exactement pourquoi ils ont échoué. Ils ont trouvé 12 raisons différentes, qu'ils ont regroupées en trois catégories principales :

A. Les problèmes de « Mauvaise Réparation » (Problèmes techniques)

Parfois, le robot essaie de réparer une fuite, mais il finit par casser le tuyau.

  • Échecs de tests (La raison technique la plus courante) : La correction du robot a passé sa propre logique de test, mais a échoué aux tests de sécurité stricts du projet. C'est comme un chef qui cuisine un plat qui semble excellent, mais qui a un goût terrible lorsque l'inspecteur sanitaire (la suite de tests) le goûte.
  • Corrections incomplètes ou erronées : Le robot a deviné le problème, mais a résolu la mauvaise chose, ou n'en a réparé que la moitié.
  • Échecs de construction/déploiement : Rarement, la correction était tellement défectueuse que le bâtiment ne pouvait même pas être assemblé (elle ne pouvait pas compiler ou s'exécuter).

B. Les problèmes de « Mauvais Timing » (Problèmes de processus)

Parfois, la correction est en fait bonne, mais le moment est mal choisi.

  • Quelqu'un l'a fait avant lui (La raison n°1 de rejet) : Cela s'est produit dans 22 % des cas. Le robot travaillait dur pour réparer une fenêtre cassée, mais un humain (ou un autre robot) l'avait déjà réparée cinq minutes auparavant. Le plan du robot a été rejeté simplement parce qu'il était redondant.
  • Inactivité : Le robot a soumis un plan, puis est resté silencieux. Les gestionnaires se sont lassés d'attendre une réponse et ont fermé le ticket.
  • Priorité faible : Le problème que le robot tentait de réparer n'était plus important, ou les gestionnaires de projet ont décidé de l'ignorer.

C. Les problèmes de « Rupture de Communication »

  • Absence de révision : Le robot a demandé une révision, mais aucun gestionnaire humain n'a jamais regardé son travail.
  • Rejet silencieux : Le plan a été fermé sans aucune explication, laissant le robot (et les chercheurs) dans l'ignorance de la raison de l'échec.

3. Le facteur « Vitesse »

Les chercheurs ont également mesuré le temps nécessaire pour qu'un plan soit approuvé.

  • Fusions rapides : Beaucoup de bonnes corrections ont été approuvées très rapidement.
  • Fusions lentes : Certaines ont pris beaucoup de temps. Curieusement, l'« élève brillant » (OpenAI Codex) a eu les temps d'approbation les plus constants et les plus rapides, tandis que les autres avaient des temps d'attente beaucoup plus imprévisibles.

L'essentiel

Le document conclut que, bien que les robots IA deviennent meilleurs pour écrire du code, écrire du code ne suffit pas.

Pour qu'un plan de réparation soit approuvé dans le monde réel, le robot doit :

  1. Passer les tests de sécurité stricts (et pas seulement avoir l'air correct).
  2. Ne pas dupliquer le travail que les humains ou d'autres robots ont déjà accompli.
  3. Rester engagé dans la conversation avec les gestionnaires humains.

Actuellement, les plus grands obstacles ne sont pas que les robots ne savent pas écrire du code ; c'est qu'ils échouent souvent aux tests ou qu'ils se font devancer par d'autres personnes réparant le même problème. L'étude suggère que pour que l'IA devienne véritablement un « coéquipier virtuel » fiable, elle doit devenir meilleure pour comprendre le contexte du projet et le timing du flux de travail, et pas seulement le code lui-même.

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.

Essayer Digest →