Maison  >  Article  >  Périphériques technologiques  >  En tête de liste des ingénieurs logiciels d'IA open source, la solution sans agent de l'UIUC résout facilement les problèmes de programmation réels du banc SWE.

En tête de liste des ingénieurs logiciels d'IA open source, la solution sans agent de l'UIUC résout facilement les problèmes de programmation réels du banc SWE.

WBOY
WBOYoriginal
2024-07-17 22:02:05946parcourir
En tête de liste des ingénieurs logiciels dIA open source, la solution sans agent de lUIUC résout facilement les problèmes de programmation réels du banc SWE.
La rubrique AIxiv est une rubrique où ce site publie du contenu académique et technique. Au cours des dernières années, la rubrique AIxiv de ce site a reçu plus de 2 000 rapports, couvrant les meilleurs laboratoires des principales universités et entreprises du monde entier, favorisant efficacement les échanges et la diffusion académiques. Si vous souhaitez partager un excellent travail, n'hésitez pas à contribuer ou à nous contacter pour un rapport. Courriel de soumission : liyazhou@jiqizhixin.com ; zhaoyunfeng@jiqizhixin.com

Les auteurs de cet article font tous partie de l'équipe de l'enseignant Zhang Lingming de l'Université de l'Illinois à Urbana-Champaign (UIUC), dont : Steven Xia , un doctorant de quatrième année, dont la direction de recherche est la réparation automatique de code basée sur de grands modèles d'IA ; Deng Yinlin, un doctorant de quatrième année, dont la direction de recherche est la génération de code basée sur de grands modèles d'IA ; Soren Dunn, un stagiaire en recherche scientifique ; , est actuellement étudiant en troisième année à l'UIUC. L'enseignant Zhang Lingming est actuellement professeur agrégé au Département d'informatique de l'UIUC, principalement engagé dans la recherche liée au génie logiciel, à l'apprentissage automatique et aux grands modèles de code.

Pour des informations plus détaillées, veuillez consulter la page d'accueil personnelle du professeur Zhang : https://lingming.cs.illinois.edu/

Depuis que Devin (le premier ingénieur logiciel d'IA entièrement automatique) l'a proposé, l'IA pour l'ingénierie logicielle La conception de l'agent est devenue le centre de la recherche. De plus en plus d'ingénieurs logiciels automatiques d'IA basés sur des agents ont été proposés, et ont obtenu de bonnes performances sur l'ensemble de données du banc SWE et ont réparé automatiquement de nombreux problèmes réels de GitHub.

Cependant, un système d'agent complexe entraînera une surcharge et une incertitude supplémentaires. Avons-nous vraiment besoin d'utiliser un agent aussi complexe pour résoudre les problèmes de GitHub ? Une solution sans agent peut-elle se rapprocher de leurs performances ?

Partant de ces deux problématiques, l'équipe du professeur Zhang Lingming de l'Université de l'Illinois à Urbana-Champaign (UIUC) a proposé OpenAutoCoder-Agentless, une solution sans agent simple, efficace et totalement open source qui peut résoudre un vrai problème GitHub pour seulement 0,34 $. Agentless a attiré plus de 300 stars de GitHub sur GitHub en quelques jours seulement et s'est hissé dans le top trois de la liste hebdomadaire de DAIR.AI des articles ML les plus en vogue.

En tête de liste des ingénieurs logiciels dIA open source, la solution sans agent de lUIUC résout facilement les problèmes de programmation réels du banc SWE.

  • Article : AGENTLESS : Démystifier les agents de génie logiciel basés sur LLM

  • Adresse de l'article : https://huggingface.co/papers/2407.01489

  • Code source ouvert : https://github. com /OpenAutoCoder/Agentless

Leo Boytsov, chercheur scientifique chez AWS, a déclaré : « Le framework Agentless a surpassé toutes les solutions Agent open source et a presque atteint le niveau le plus élevé de SWE Bench Lite (27 %). De plus, il l'a battu à un niveau nettement inférieur. Le framework utilise une approche de requête hiérarchique (en demandant à LLM de rechercher des fichiers, des classes, des fonctions, etc.) pour déterminer les emplacements des correctifs, mais ne permet pas à LLM de prendre des décisions de planification sans agent. résolution de problèmes de développement logiciel qui utilise une approche simple en deux phases pour localiser et corriger les bogues dans votre base de code. Lors de la phase de localisation, Agentless utilise une approche hiérarchique pour se limiter progressivement aux fichiers, classes/fonctions et emplacements d'édition spécifiques suspects. Pour les correctifs, il utilise un simple format de comparaison (référencé à partir de l'outil open source Aider) pour générer plusieurs correctifs candidats, en les filtrant et en les triant.

En tête de liste des ingénieurs logiciels dIA open source, la solution sans agent de lUIUC résout facilement les problèmes de programmation réels du banc SWE.

Les chercheurs ont comparé l'agent sans agent aux agents logiciels d'IA existants, y compris les projets open source et commerciaux/fermés de pointe. Étonnamment, Agentless peut surpasser tous les agents logiciels open source existants à moindre coût ! Le mode sans agent a résolu 27,33 % des problèmes, soit le taux le plus élevé parmi les solutions open source, et l'a résolu pour une moyenne de 0,29 $ par problème et environ 0,34 $ en moyenne pour tous les problèmes (résolvables et non résolus).

En tête de liste des ingénieurs logiciels dIA open source, la solution sans agent de lUIUC résout facilement les problèmes de programmation réels du banc SWE.

De plus, Agentless a le potentiel de s'améliorer. Le mode sans agent peut résoudre 41 % des problèmes en considérant tous les correctifs générés, une limite supérieure qui indique une marge d'amélioration significative dans les étapes de tri et de sélection des correctifs. De plus, Agentless est capable de résoudre certains problèmes uniques que même le meilleur outil commercial (Alibaba Lingma Agent) ne peut pas résoudre, ce qui suggère qu'il peut être utilisé en complément des outils existants.

En tête de liste des ingénieurs logiciels dIA open source, la solution sans agent de lUIUC résout facilement les problèmes de programmation réels du banc SWE.

Analyse de l'ensemble de données SWE-bench Lite

Les chercheurs ont également effectué une inspection manuelle et une analyse détaillée de l'ensemble de données SWE-bench Lite.

L'étude a révélé que 4,3 % des problèmes dans l'ensemble de données SWE-bench Lite donnaient des réponses complètes directement dans la description du problème, qui est le correctif correct. Tandis que les 10 % restants des questions décrivent les étapes exactes menant à la bonne solution. Cela suggère que certains problèmes dans SWE-bench Lite peuvent être plus faciles à résoudre.

De plus, l'équipe de recherche a observé que 4,3 % des problèmes incluaient des solutions proposées par les utilisateurs ou des étapes dans la description du problème, mais que ces solutions n'étaient pas cohérentes avec les correctifs réels des développeurs. Cela révèle en outre un problème potentiel avec ce benchmark, car ces solutions trompeuses pourraient amener l'outil d'IA à générer des solutions incorrectes simplement en suivant la description du problème.

En termes de qualité de description des problèmes, les chercheurs ont observé que bien que la plupart des tâches de SWE-bench Lite contiennent suffisamment d'informations et que de nombreuses tâches fournissent également des exemples d'échecs pour reproduire les erreurs, 9,3 % des problèmes ne contiennent toujours pas suffisamment d'informations. Par exemple, vous devez implémenter une nouvelle fonction ou ajouter un message d'erreur, mais le nom de la fonction spécifique ou la chaîne du message d'erreur spécifique n'est pas indiqué dans la description du problème. Cela signifie que même si la fonctionnalité sous-jacente est correctement implémentée, le test échouera si le nom de la fonction ou la chaîne du message d'erreur ne correspond pas exactement.

En tête de liste des ingénieurs logiciels dIA open source, la solution sans agent de lUIUC résout facilement les problèmes de programmation réels du banc SWE.

Des chercheurs de l'Université de Princeton et l'un des auteurs de SWE-Bench, Ofir Press, ont confirmé leurs conclusions : "Agentless a effectué une bonne analyse manuelle de SWE-bench Lite. Ils pensent que la théorie sur Lite est la plus élevée. Le score est probablement de 90,7 %. Je pense que la limite supérieure réelle peut être inférieure (environ 80 %). Certaines questions contiennent des informations insuffisantes et d'autres sont testées de manière trop rigoureuse »

En tête de liste des ingénieurs logiciels dIA open source, la solution sans agent de lUIUC résout facilement les problèmes de programmation réels du banc SWE.

SWE-bench Lite-S : réussi. sous-ensemble de problèmes

Pour résoudre ces problèmes, les chercheurs ont proposé un sous-ensemble de problèmes strict SWE-bench Lite-S (contenant 252 questions). Plus précisément, les problèmes contenant des correctifs exacts, des solutions trompeuses ou ne fournissant pas suffisamment d'informations dans la description du problème ont été exclus de SWE-bench Lite (contenant 300 problèmes). Cela supprime les questions déraisonnables et standardise le niveau de difficulté du benchmark. Par rapport au SWE-bench Lite original, le benchmark filtré reflète plus précisément les véritables capacités des outils de développement logiciel automatisés.

Conclusion

Bien que le développement de logiciels basés sur des agents soit très prometteur, les auteurs estiment qu'il est temps pour la communauté technologique et de recherche de s'arrêter et de réfléchir à ses principales méthodes de conception et d'évaluation, plutôt que de se précipiter pour publier davantage d'agents. Les chercheurs espèrent que le système sans agent pourra aider à réinitialiser la ligne de base et l’orientation des agents dans le futur génie logiciel.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn