L'Université de Princeton a publié le premier programmeur d'IA open source au monde, SWE-agent, basé sur la technologie GPT-4 et capable de corriger automatiquement les bogues dans les référentiels GitHub. L'agent SWE a obtenu de bons résultats sur l'ensemble de tests du banc SWE, résolvant avec succès 12,29 % des problèmes, en seulement 93 secondes en moyenne et ayant une précision comparable à celle des programmeurs d'IA existants. Sa nature open source lui a permis d’attirer rapidement beaucoup d’attention, démontrant l’énorme potentiel de l’IA dans le domaine du génie logiciel. Cet article approfondira le principe de fonctionnement, les performances et l'impact de l'agent SWE sur l'ingénierie logicielle future.
L'Université de Princeton a récemment lancé un programmeur d'IA appelé SWE-agent, qui est le premier programmeur d'IA open source au monde. Il est basé sur la technologie GPT-4 et peut corriger automatiquement les bogues dans les référentiels GitHub. La naissance de cette interface agent-ordinateur marque une étape importante dans l’application de l’IA dans le domaine du génie logiciel. Les performances de l'agent SWE sur l'ensemble de tests du banc SWE sont impressionnantes. Il a réussi à résoudre 12,29 % des problèmes, en seulement 93 secondes en moyenne, et sa précision était comparable à celle du programmeur d'IA Devin précédemment lancé. La nature open source de SWE-agent signifie qu'il a rapidement gagné 1,6k étoiles et 109 Forks sur GitHub, démontrant la grande reconnaissance et l'intérêt de la communauté open source pour cette technologie. SWE-agent fonctionne en interagissant avec un terminal spécialisé, qui peut ouvrir, faire défiler et rechercher des fichiers, modifier des lignes spécifiques et effectuer automatiquement des vérifications de syntaxe, écrire et exécuter des tests. Cette conception est similaire à l'interface utilisateur conçue pour les humains, évitant les erreurs et fournissant des commentaires. Par exemple, lorsqu'il s'agit d'un bug de fonctionnement matriciel, l'agent SWE peut reproduire le problème, localiser le code du problème, apporter des modifications et résoudre le problème avec succès. Les chercheurs de l'Université de Princeton ont conçu un format d'instructions et de commentaires concis pour l'agent SWE, permettant au modèle de parcourir plus facilement le référentiel de code, d'afficher, de modifier et d'exécuter les fichiers de code. Le flux de travail de SWE-agent est divisé en deux étapes : le raisonnement et l'évaluation. Dans la phase de raisonnement, l'agent SWE gère les problèmes sur GitHub et génère des solutions de réparation ; dans la phase d'évaluation, il confirme si la solution résout réellement le problème. Les principaux auteurs de cette étude, John Yang et Carlos E. Jimenez, sont tous deux assistants de recherche et doctorants à l'Université de Princeton. Leurs intérêts de recherche se concentrent sur les fondements du langage, l'interaction, l'analyse comparative LLM, le génie logiciel et la génération de code. Leurs travaux démontrent le potentiel de l’IA dans le domaine du génie logiciel et déclenchent une réflexion approfondie sur les rôles et les capacités de l’IA et des humains dans le processus d’ingénierie. Avec le développement de la technologie de l'IA, nous avons assisté aux progrès de l'IA dans le domaine de la programmation. Elle peut non seulement planifier et exécuter des tâches d'ingénierie complexes, mais également corriger des bogues et être responsable de l'ensemble du processus de développement du projet. Cependant, malgré les progrès réalisés par l’IA dans l’écriture de code sécurisé, la surveillance humaine reste essentielle. Bien que l’essor de l’IA n’ait pas encore atteint le stade du remplacement complet des ingénieurs logiciels, elle change le visage et l’orientation future du domaine technologique. Ce programmeur d'IA open source de l'équipe de Princeton apporte non seulement de nouvelles perspectives de recherche et d'application dans le domaine du génie logiciel, mais nous offre également l'opportunité de réfléchir à la coopération entre l'intelligence artificielle et les humains pour créer un avenir. À mesure que la technologie continue de progresser, nous pourrions voir l’IA jouer un rôle encore plus important dans le domaine du génie logiciel.L'émergence de l'agent SWE marque une nouvelle étape dans la programmation assistée par l'IA. Bien que la supervision humaine soit toujours nécessaire, son potentiel pour améliorer l'efficacité du développement et la qualité du code ne peut être ignoré. À l’avenir, la coopération collaborative entre l’IA et les programmeurs humains deviendra une tendance dominante dans le domaine du génie logiciel, promouvant conjointement le progrès technologique.