Le nouveau SWE-Agent 1.0 d'IBM pour les développeurs serait le premier ensemble d'agents d'ingénierie logicielle alimentés par des LLM ouverts capable de résoudre de façon autonome les tickets GitHub, selon IBM
IBM SWE-Agent 1.0 d'IBM Research serait, d'après IBM, le premier ensemble d'agents d'ingénierie logicielle (SWE) de ce type, uniquement alimenté par des LLM ouverts, qui peut résoudre de manière autonome et efficace les tickets GitHub.
Pour la plupart des développeurs de logiciels, chaque journée commence là où la précédente s'est arrêtée. En parcourant le backlog des problèmes sur GitHub qu'un développeur n'a pas traités la veille, il fait le tri entre ceux qui peuvent être résolus rapidement, ceux qui prendront plus de temps et ceux dont il ne sait vraiment pas quoi faire pour l'instant. Il est possible d'avoir 30 problèmes dans son backlog et de savoir que l'on n'a le temps d'en traiter que 10. Cela peut ressembler à une tâche de Sisyphe et il est facile de s'épuiser si l'on ne s'y prend pas correctement.
Mais qu'en serait-il s'il existait des outils permettant de trouver des bogues, de suggérer des corrections et de tester ces idées aussi facilement que si l'on soumettait un problème sur GitHub ?
Lors de l'événement TechXchange, IBM a présenté une nouvelle série d'agents d'intelligence artificielle (IA) conçus spécifiquement pour faciliter la vie des développeurs. L'objectif de ces agents est de réduire le temps que les développeurs doivent consacrer à la recherche de réponses aux bogues dans leur backlog, ce qui leur permettra de consacrer plus de temps à de nouveaux projets. Selon IBM, il s'agirait des premiers agents d'ingénierie logicielle (SWE) de ce type - uniquement alimentés par des LLM ouverts - capables de résoudre efficacement et de manière autonome les issues GitHub.
La localisation est la première grande tâche à laquelle s'attelle un agent. Si un développeur ne peut pas trouver l'emplacement d'un bogue dans un code, il est impossible de le corriger. La localisation consiste à trouver les fichiers et les lignes de code dans la base de code d'une organisation qui sont à l'origine d'une erreur donnée.
Lorsqu'une erreur est repérée par un ingénieur de l'assurance qualité (QA), celui-ci rédige un rapport de bogue, qui est ajouté au carnet de commandes du développeur et à la pile de bogues à examiner. Trouver la ligne incriminée - et s'assurer que sa modification n'affectera rien d'autre dans la base de code - est un processus qui prend du temps.
Mais selon IBM, avec l'agent de localisation SWE, un développeur peut ouvrir un rapport de bogue qu'il a reçu sur GitHub, l'étiqueter avec « ibm-swe-agent-1.0 » et l'agent travaillera rapidement en arrière-plan pour trouver le code qui pose problème. Une fois qu'il a trouvé l'emplacement, il suggère une correction que le développeur peut mettre en œuvre pour résoudre le problème. Le développeur peut alors examiner la correction proposée et décider s'il s'agit de la meilleure façon de résoudre le problème, en faisant éventuellement appel à d'autres agents pour le résoudre.
L'outil de localisation n'est que l'un des quelques nouveaux agents d'IA mis au point par IBM Research pour alléger la charge de travail des développeurs. Il existe également un agent permettant d'éditer des lignes de code en fonction des demandes des développeurs, qui s'appuie sur Granite LLM d'IBM sur watsonx, via PDL. Un autre agent peut être utilisé pour développer et exécuter des tests afin de s'assurer que le code fonctionnera comme prévu. Dans chaque cas, ces agents peuvent être invoqués là où les développeurs voudraient qu'ils soient, comme dans GitHub.
Selon IBM, les agents SWE peuvent en moyenne localiser et résoudre les problèmes en moins de cinq minutes et, lors des tests, ils ont obtenu un taux de réussite de 23,7 % sur les tests SWE-bench. Ces tests mesurent l'efficacité avec laquelle les agents d'IA peuvent résoudre des problèmes réels trouvés sur GitHub. D'après IBM, ce score place l'agent IBM SWE en tête du classement SWE-bench, bien au-dessus de nombreux autres agents s'appuyant sur des modèles de frontières massives, tels que GPT-4o et Claude 3.
Dans chaque cas, ces agents observent, pensent et agissent, indique IBM. Selon l'entreprise, ils diffèrent des LLM singuliers ou des modèles de base, car ils peuvent faire appel à différents modèles et réserves d'informations pour répondre aux questions de la manière la plus efficace possible. Ils peuvent également planifier les étapes nécessaires à l'exécution de cette tâche, ce qu'un LLM ne peut pas faire seul. Un agent peut accomplir des tâches complexes et complètes sans intervention supplémentaire de la part de l'utilisateur.
Selon Ruchir Puri, scientifique en chef chez IBM Research, il était logique qu'IBM construise des outils agentiques comme ceux-ci, non seulement pour ses propres développeurs, mais aussi pour tous les développeurs d'entreprise qu'IBM s'efforce d'aider. Il existe d'autres outils d'agents SWE concurrents qui cherchent à aider les développeurs dans leur travail, mais ils s'appuient principalement sur des modèles de frontières propriétaires massifs qui coûtent très cher au moment de l'inférence. « Notre objectif était de créer IBM SWE-Agent pour les entreprises qui veulent un agent SWE rentable, capable de s'exécuter partout où réside leur code - même derrière votre pare-feu - tout en restant performant », a déclaré M. Ruchir Puri.
Source : IBM
Voir aussi :
Quel est votre avis sur le sujet ?
Trouvez-vous qu'il s'agit d'un outil utile et intéressant ?
Avez-vous utilisé cet outil ou un outil similaire pour votre usage ou le développement d'applications, et si oui, qu'en pensez-vous ?
Voir aussi :
Google lance le premier "système d'agents d'IA" au monde, le projet Oscar, une plateforme open-source qui permet aux équipes de développement d'utiliser des agents d'IA pour gérer des projets logiciels
OpenAI se lance dans l'un des domaines les plus épiques de l'IA : les agents autonomes, des logiciels destinés à automatiser des tâches complexes en prenant le contrôle de l'appareil de l'utilisateur
OpenDevin : une plateforme ouverte qui permet aux développeurs IA de mettre en œuvre des agents d'IA flexibles et puissants, qui interagissent avec le monde de manière similaire à celle d'un développeur humain
Partager