SWE-bench Science: Can Coding Agents Resolve Engineering Tasks in Science?
Cet article présente SWE-bench Science, un benchmark complet de 119 tâches au niveau du dépôt à travers 20 domaines scientifiques qui révèle que les agents de codage actuels peinent à résoudre des tâches d'ingénierie dans les logiciels scientifiques en raison de mécanismes d'échec spécifiques tels que les déficits de connaissances et les erreurs d'exploration, tout en démontrant également que l'utilité d'un guidage scientifique explicite dépend de son alignement avec le contexte de la réparation.
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
La science s'est toujours appuyée sur des outils : le télescope qui a révélé les étoiles lointaines, le microscope qui a dévoilé le monde caché des cellules, et l'accélérateur de particules qui a sondé la trame de la matière. Aujourd'hui, un nouveau type d'outil est devenu indispensable, un outil qui ne vit pas dans un tiroir de laboratoire mais dans le domaine numérique du code informatique. Ce logiciel n'est plus seulement un assistant qui calcule des chiffres pour un scientifique ; il est devenu l'instrument lui-même. Lorsqu'un chercheur simule un nouveau médicament, modélise le climat ou analyse la lumière d'une galaxie lointaine, il exécute des programmes qui agissent comme la lentille même à travers laquelle il observe la réalité. Si le code contient une faille, le résultat n'est pas simplement une erreur informatique ; c'est une pièce de preuve corrompue qui peut compromettre une conclusion scientifique.
Pendant des années, les chercheurs ont tenté d'apprendre à l'intelligence artificielle à réparer ces programmes défectueux. Ils ont construit des tests pour voir si un ordinateur peut lire un rapport de bug et écrire un correctif pour réparer le logiciel. Ces tests ont montré que les machines deviennent meilleures pour corriger des erreurs de codage simples. Cependant, une question critique restait sans réponse : ces systèmes intelligents peuvent-ils gérer le monde complexe et à enjeux élevés du logiciel scientifique ? Dans ce domaine, une réparation doit faire plus que rendre un programme opérationnel ; elle doit préserver les lois délicates de la physique, de la chimie ou de la biologie que le code tente de représenter. Une réparation qui rend le logiciel plus rapide mais change la signification scientifique est un échec, même si l'ordinateur déclare avoir réussi le test.
Une équipe de chercheurs a maintenant abordé cette question en créant un nouveau terrain d'essai appelé SWE-bench Science. Ils ont rassemblé 119 tâches réelles provenant de 98 projets logiciels différents utilisés par des scientifiques dans 20 domaines distincts, allant de la chimie et la biologie à l'astronomie et le génie civil. Ces tâches n'étaient pas de simples exercices ; elles étaient tirées de problèmes réels rencontrés par des scientifiques, tels qu'une simulation produisant une valeur d'énergie erronée pour un cristal ou un outil d'analyse de données interprétant mal les coordonnées d'un échantillon biologique. Les chercheurs ont organisé ces défis en trois types. Certains étaient des réparations directes de bugs connus, d'autres exigeaient que l'IA agisse comme un expert enquêteur pour comprendre pourquoi un résultat scientifique semblait incorrect, et les derniers demandaient que l'IA comprenne comment différentes parties d'un système logiciel massif s'articulent pour compléter un flux de travail entier.
Les résultats de cette expérience ont été révélateurs. Même les agents de codage les plus avancés disponibles aujourd'hui ont lutté de manière significative. Le système le plus performant, un modèle sophistiqué équipé d'un assistant de codage puissant, a réussi à résoudre moins de la moitié des tâches correctement. Ce faible taux de réussite souligne un fossé profond entre ce que l'intelligence artificielle actuelle peut faire et ce qui est requis pour maintenir un logiciel scientifique. Les chercheurs ont constaté que lorsque ces systèmes échouaient, ils le faisaient de quatre manières prévisibles. Souvent, l'IA manquait des connaissances scientifiques spécifiques nécessaires pour comprendre le problème, ce qui l'amenait à proposer des correctifs qui faisaient sens pour un ordinateur mais violaient les lois de la nature. Parfois, le système ne réparait que le symptôme de surface visible, comme un nombre qui semblait incorrect, sans remonter l'erreur jusqu'à sa cause profonde. Dans d'autres cas, la correction fonctionnait pour une partie du programme mais brisait la connexion avec une autre partie, échouant à intégrer la réparation dans le système plus large. Enfin, l'IA échouait fréquemment à appliquer un principe scientifique à de nouvelles situations, restant bloquée sur l'exemple spécifique qui lui était donné et étant incapable de généraliser sa solution.
Pour comprendre le rôle des connaissances scientifiques dans ces échecs, les chercheurs ont mené une expérience spécifique. Ils ont pris un sous-ensemble de tâches et les ont exécutées deux fois : une fois avec l'IA recevant des informations contextuelles supplémentaires sur la science impliquée, et une fois sans. Les résultats ont montré que cette information supplémentaire n'était pas un remède miracle. Pour certains des modèles d'IA les plus forts, fournir un contexte scientifique les rendait en fait légèrement moins susceptibles de résoudre le problème parfaitement, peut-être parce que le texte supplémentaire les distrayait ou les amenait à se reposer trop lourdement sur l'explication fournie plutôt que de tester leurs propres idées. Pour les modèles plus faibles, l'information supplémentaire aidait, mais elle nécessitait également l'utilisation de plus de puissance de calcul. Cela suggère que le simple fait de nourrir une IA avec plus de faits ne garantit pas une meilleure réparation ; le système doit être capable de relier ces faits au code et de les vérifier par l'exécution.
L'étude conclut que bien que l'intelligence artificielle fasse des progrès dans l'ingénierie logicielle générale, les exigences uniques de l'informatique scientifique restent un défi de taille. Réparer du code scientifique nécessite un niveau de compréhension qui dépasse la syntaxe et la logique ; cela exige une maîtrise des principes physiques et théoriques que le code incarne. Tant que ces systèmes ne pourront pas distinguer de manière fiable un programme qui s'exécute d'un programme qui est scientifiquement valide, la tâche de maintenance des instruments numériques de la science restera probablement le travail d'experts humains. Le nouveau benchmark fournit une carte claire de l'état actuel de ces systèmes, montrant que le chemin vers une réparation logicielle scientifique entièrement autonome est encore long et parsemé d'obstacles complexes.
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.