← Derniers articles
💬 NLP

Pull Requests as a Training Signal for Repo-Level Code Editing

Cet article présente Clean-PR, un paradigme de mid-training qui exploite un vaste corpus de pull requests GitHub reconstruites pour permettre aux modèles d'internaliser des capacités d'édition de code au niveau du dépôt, surpassant de manière significative les bases de référence sur SWE-bench sans dépendre d'un échafaudage d'agent complexe.

Auteurs originaux : Qinglin Zhu, Tianyu Chen, Shuai Lu, Lei Ji, Runcong Zhao, Murong Ma, Xiangxiang Dai, Yulan He, Lin Gui, Peng cheng, Yeyun Gong

Publié 2026-06-01
📖 5 min de lecture🧠 Analyse approfondie

Auteurs originaux : Qinglin Zhu, Tianyu Chen, Shuai Lu, Lei Ji, Runcong Zhao, Murong Ma, Xiangxiang Dai, Yulan He, Lin Gui, Peng cheng, Yeyun Gong

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 possédez une bibliothèque immense et ancienne (un dépôt de logiciels) contenant des millions de livres (des fichiers de code). Votre objectif est de corriger une faute de frappe spécifique ou d'ajouter un nouveau chapitre à l'un de ces livres.

Habituellement, pour faire cela, vous engagez un bibliothécaire très intelligent mais légèrement maladroit (un modèle d'IA). Comme la bibliothèque est immense, le bibliothécaire a besoin d'une équipe d'assistants, d'un système complexe de lecture de cartes et de beaucoup de temps pour trouver le bon livre, l'ouvrir à la bonne page et effectuer la modification. C'est ainsi que fonctionnent la plupart des "ingénieurs logiciels IA" actuels : ils utilisent des outils lourds et compliqués pour naviguer dans le désordre.

Cette publication pose une question simple : Pouvons-nous apprendre au bibliothécaire à être si doué pour trouver et réparer les choses qu'il n'aura plus besoin des assistants lourds ?

Les auteurs disent "Oui", et voici comment ils ont procédé, en utilisant quelques analogies créatives :

1. Le Problème : La bibliothèque "bruyante"

Les auteurs ont examiné GitHub, qui est comme un immense registre public de personnes réparant et modifiant du code. Ils ont découvert que ce registre est incroyablement désordonné.

  • Le Bruit : Imaginez essayer d'apprendre à réparer une voiture en regardant une vidéo de quelqu'un en train de changer un pneu, mais où 40 % de la vidéo consiste simplement en la personne en train de déjeuner, 25 % est un robot faisant semblant d'être un mécanicien, et 25 % est une vidéo qui n'a jamais été terminée.
  • Le Résultat : Si vous donnez simplement cette vidéo désordonnée à votre bibliothécaire IA, il sera confus. Il apprendra de mauvaises habitudes, comme essayer de réparer des choses qui n'ont pas besoin d'être réparées ou se perdre dans le mauvais rayon.

2. La Solution : "Clean-PR" (La vidéo filtrée)

L'équipe a construit une machine appelée Clean-PR. Considérez cela comme un monteur vidéo super intelligent qui regarde toutes ces vidéos GitHub désordonnées et supprime les déchets.

  • Le Filtre : Elle jette les vidéos où aucun travail réel n'a été effectué, où un robot a fait le travail, ou où la correction n'a jamais été approuvée.
  • La Traduction : Au lieu de montrer à l'IA une image "avant/après" confuse (qui est difficile à lire), la machine traduit la correction en une instruction claire, étape par étape : "Trouvez le paragraphe qui commence par 'Bonjour' et changez-le en 'Au revoir'."
  • La Vérification : Avant d'enregistrer l'instruction, la machine essaie réellement de l'appliquer à un livre de test pour s'assurer qu'elle fonctionne parfaitement. Si elle ne fonctionne pas, l'instruction est jetée.

Le résultat est une immense bibliothèque propre de 2 millions d'instructions parfaites (appelées "Pull Requests") couvrant 12 langages différents.

3. L'Entraînement : Un apprentissage en deux étapes

Ils n'ont pas simplement déversé ces données sur l'IA. Ils l'ont enseigné en deux étapes spécifiques :

  • Étape 1 : Mid-Training (La phase d'Apprenti)
    Ils ont nourri l'IA de cette bibliothèque propre de 2 millions d'instructions. C'était comme donner au bibliothécaire un cours intensif sur la façon dont les vraies personnes réparent les choses dans de vraies bibliothèques. L'IA a appris les schémas de modification sans avoir besoin de parler à qui que ce soit d'autre. Cela a permis d'"internaliser" la compétence dans le cerveau de l'IA (ses poids).

  • Étape 2 : Pratique Spécialisée (La phase "SFT")
    Les problèmes du monde réel sont délicats. Parfois, on donne au bibliothécaire une liste de 1 000 livres, mais le problème ne se trouve que dans un seul d'entre eux. Si le bibliothécaire essaie de tous les réparer, il fera un désordre.
    Pour corriger cela, les auteurs ont créé un exercice d'entraînement spécial où ils ont piégé l'IA. Ils lui ont donné le bon livre plus un tas de mauvais livres (des distracteurs) et lui ont demandé : "Lequel doit être réparé ?"
    Cela a appris à l'IA à dire : "Je n'ai pas besoin de toucher à ces autres livres", empêchant ainsi de faire des changements inutiles.

4. Le Résultat : Un Super-Bibliothécaire

Lorsqu'ils ont testé cette nouvelle IA sur le SWE-bench (un examen difficile pour les ingénieurs logiciels IA) :

  • L'Ancienne Méthode : Les modèles de pointe précédents avaient besoin d'une grande équipe d'assistants numériques et de boucles de planification complexes pour résoudre environ 20 % des problèmes.
  • La Nouvelle Méthode : Cette nouvelle IA, utilisant une approche beaucoup plus simple, "sans assistant", a résolu 30,6 % des problèmes.
  • La Surprise : Bien que cette IA soit plus petite (32 milliards de "cellules cérébrales") que certains concurrents (72 milliards), elle a obtenu de meilleurs résultats.

La Grande Conclusion

Cette publication prouve que vous n'avez pas besoin d'une machine géante et complexe avec beaucoup d'outils pour réparer un logiciel. Au lieu de cela, si vous donnez à un modèle des exemples de haute qualité et vérifiés de la façon de réparer les choses, il peut apprendre la compétence directement.

C'est la différence entre apprendre à un étudiant à conduire en lui donnant un manuel sur la façon de réparer un moteur de voiture (désordonné, théorique) et de le laisser s'asseoir dans le siège conducteur d'une voiture qui a déjà été conduite parfaitement par un professionnel pendant 2 millions de miles (Clean-PR). L'étudiant apprend tellement bien le ressenti de la conduite qu'il n'a plus besoin d'un copilote pour lui dire quand tourner.

En bref : Les auteurs ont nettoyé les données désordonnées d'Internet, ont appris à une IA à apprendre à partir de la version propre, et ont montré que cela rend l'IA bien meilleure et plus indépendante en tant qu'ingénieur logiciel.

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 →