MathlibPR: Pull Request Merge-Readiness Benchmark for Formal Mathematical Libraries
L'article présente MathlibPR, un benchmark dérivé de l'historique réel des pull requests Lean/Mathlib4, pour évaluer la capacité des LLM et des agents à distinguer les contributions prêtes à être fusionnées de celles qui ne le sont pas, révélant leurs difficultés actuelles et soulignant le potentiel de ce benchmark pour développer des assistants de relecture et des modèles de récompense.
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 une immense bibliothèque vivante des mathématiques appelée Mathlib. Ce n'est pas simplement un livre ; c'est un gigantesque chantier partagé où mathématiciens et informaticiens construisent une fondation parfaite et exempte d'erreurs pour l'ensemble des mathématiques. Pour maintenir cette bibliothèque sûre et utile, chaque nouveau morceau de code (une « demande de tirage » ou PR) doit passer deux tests :
- Le test « Fonctionne-t-il ? » : Le code s'exécute-t-il réellement sans planter ? (L'ordinateur vérifie cela).
- Le test « Est-ce un bon citoyen ? » : Le code s'intègre-t-il au reste de la bibliothèque ? Est-il écrit dans le bon style ? Est-il suffisamment clair pour que les autres puissent l'utiliser ? (Des humains vérifient cela).
Pendant longtemps, l'Intelligence Artificielle (IA) a été excellente pour passer le premier test. Elle peut écrire du code qui s'exécute parfaitement. Mais le deuxième test — la revue humaine — est devenu un goulot d'étranglement. Il y a trop de soumissions et pas assez de réviseurs humains pour vérifier si le code est vraiment prêt à être intégré dans la bibliothèque.
Cet article pose une question simple : L'IA peut-elle apprendre à devenir le réviseur ? Une IA peut-elle examiner un morceau de code qui fonctionne déjà et décider s'il est « prêt à être intégré » ou s'il nécessite davantage de travail ?
Pour le découvrir, les auteurs ont créé un nouveau test appelé MATHLIBPR.
L'expérience : un « test de dégustation à l'aveugle » pour le code
Imaginez MATHLIBPR comme un test de dégustation à l'aveugle pour une nouvelle recette.
- Le dispositif : Les chercheurs ont pris l'historique réel de la bibliothèque Mathlib. Ils ont rassemblé des milliers de soumissions de code qui avaient déjà passé le test « Fonctionne-t-il ? » (elles s'étaient compilées avec succès).
- Le défi : Ils ont soumis ces extraits de code à divers modèles d'IA (comme DeepSeek, Qwen et autres) en demandant : « Est-ce prêt à être publié dans la bibliothèque, ou doit-il être renvoyé pour révisions ? »
- La particularité : L'IA ne connaissait pas le résultat final. Elle ne pouvait pas demander aux réviseurs humains : « Vous avez aimé cela ? » Elle devait juger uniquement sur la base du code lui-même, tout comme le ferait un réviseur humain.
Ils ont testé l'IA en trois tours, lui donnant de plus en plus d'indices :
- Tour 1 : Juste les modifications de code et quelques guides de style.
- Tour 2 : Le code plus une liste d'erreurs de « linting » automatisées (comme un correcteur orthographique pour le code).
- Tour 3 : Le code, les erreurs, plus la description de l'auteur expliquant ce qu'il tentait de faire.
Les résultats : l'IA est restée bloquée
Les résultats ont été surprenants et quelque peu décevants pour la communauté de l'IA.
- L'IA ne parvenait pas à faire la différence. Même avec tous les indices supplémentaires, les modèles d'IA peinaient à distinguer le code qui a fini par être accepté de celui qui a été rejeté ou renvoyé pour corrections.
- Le biais « Oui » : La plupart des IA étaient trop optimistes. Elles avaient tendance à dire : « Oui, c'est excellent ! » même lorsque le code était en réalité désordonné ou ne respectait pas le style de la bibliothèque. Elles disaient rarement : « Non, cela nécessite du travail. »
- L'option « Je ne sais pas » : Certains modèles, face à une décision difficile, répondaient simplement : « Je ne suis pas sûr. » Bien que cela soit honnête, cela n'aide pas la bibliothèque à avancer.
- Plus de contexte n'a pas beaucoup aidé : Donner plus d'informations à l'IA (comme l'intention de l'auteur ou des rapports d'erreurs automatisés) n'a pas significativement amélioré sa capacité à prendre la bonne décision.
Une découverte intéressante a été que même lorsque l'IA examinait le même projet à deux moments différents (une fois lorsqu'il était désordonné, et une fois lorsqu'il était corrigé et accepté), elle ne parvenait souvent pas à dire quelle version était la « meilleure ». C'était comme un étudiant passant un examen sur un sujet qu'il avait étudié, mais échouant à remarquer la différence entre une ébauche et le devoir final.
Pourquoi cela compte
L'article conclut que si l'IA est excellente pour écrire du code qui fonctionne, elle est actuellement très mauvaise pour réviser du code afin de déterminer s'il appartient à une bibliothèque de haute qualité.
Les auteurs ne disent pas que l'IA devrait remplacer les réviseurs humains. Au contraire, ils voient ce point de repère (MATHLIBPR) comme un point de départ. C'est un outil pour aider à entraîner les futurs systèmes d'IA à devenir de meilleurs « réviseurs assistants ». L'objectif est de construire une IA capable d'aider les humains en repérant les problèmes de style évidents ou la documentation manquante, agissant comme une première ligne de défense afin que les réviseurs humains puissent se concentrer sur les parties les plus difficiles et les plus créatives du travail.
En bref : L'IA est une excellente bâtisseuse, mais pour l'instant, c'est une terrible inspectrice. Cet article fournit le premier véritable test pour mesurer exactement à quel point elle est mauvaise, afin que nous puissions lui apprendre à mieux faire.
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.