IBM SWE-Agent 1.0 de IBM Research es el primer conjunto de agentes de ingeniería de software (SWE) de su tipo, impulsado únicamente por LLM abiertos, que pueden resolver de forma autónoma y eficiente problemas de GitHub.
Para la mayoría de los desarrolladores de software, cada día comienza donde quedó el anterior. Al revisar la lista de problemas pendientes en GitHub que no solucionaste el día anterior, estás clasificando cuáles puedes solucionar rápidamente, cuáles te llevarán más tiempo y cuáles no sabes qué hacer todavía. Es posible que tengas 30 problemas pendientes y sepas que solo tienes tiempo para abordar 10. Puede parecer una tarea titánica y es fácil agotarse si no se gestiona adecuadamente.
¿Pero qué pasaría si existieran herramientas que pudieran hacer que encontrar errores, sugerir soluciones y probar esas ideas fuera tan fácil como enviar un problema en GitHub?
En TechXchange, IBM presentó hoy un nuevo conjunto de agentes de IA diseñados específicamente para facilitar la vida de los desarrolladores. El objetivo es que estos agentes ayuden a reducir la cantidad de tiempo que los desarrolladores tienen que dedicar a buscar respuestas a errores en sus registros de trabajo, lo que les permitirá disponer de más tiempo para trabajar en nuevos proyectos. Estos son los primeros agentes de ingeniería de software (SWE) de su tipo (que solo funcionan con LLM abiertos) que pueden resolver de forma autónoma los problemas de GitHub de manera eficiente.
La localización es la primera gran tarea que se aborda con un agente. Si no puede encontrar dónde está un error en su código, no podrá solucionarlo. La localización es la tarea de encontrar los archivos y las líneas de código en la base de código de una organización que están causando un error determinado.
Cuando un ingeniero de control de calidad (QA) detecta un error, envía un informe de error, que se incluye en el registro de errores del desarrollador y se suma a la pila de errores que deben analizarse. Encontrar la línea incorrecta (y asegurarse de que su modificación no afecte a nada más en el código base) es un proceso que lleva mucho tiempo.
Pero con el agente de localización SWE, un desarrollador podría abrir un informe de error que haya recibido en GitHub, etiquetarlo con “ibm-swe-agent-1.0” y el agente trabajará rápidamente en segundo plano para encontrar el código problemático. Una vez que haya encontrado la ubicación, sugerirá una solución que el desarrollador podría implementar para resolver el problema. Ese desarrollador podría entonces revisar la solución propuesta y decidir si es la mejor manera de resolver el problema, posiblemente incluso usando otros agentes para averiguarlo.
La herramienta de localización es solo uno de los nuevos agentes de IA que IBM Research ha desarrollado con el objetivo de quitarle una parte de la carga de trabajo a los desarrolladores. También hay uno para editar líneas de código en función de las solicitudes de los desarrolladores, que se basa en Granite LLM de IBM en watsonx, a través de PDL . Se puede utilizar otro agente para desarrollar y ejecutar pruebas para garantizar que el código se ejecute como se espera. En cada caso, se pueden invocar justo donde los desarrolladores querrían que estuvieran, como en GitHub.
En promedio, los agentes SWE pueden localizar y solucionar problemas en cinco minutos y, en las pruebas, han logrado una tasa de éxito del 23,7 % en las pruebas SWE-bench . Estas miden la eficiencia con la que los agentes de IA pueden resolver problemas del mundo real encontrados en GitHub. Esa puntuación coloca al agente IBM SWE en un lugar destacado en la clasificación de SWE-bench, muy por encima de muchos otros agentes que dependen de modelos de frontera masivos, como GPT-4o y Claude 3.
En cada caso, estos agentes observan, piensan y actúan. Se diferencian de los modelos LLM o de los modelos básicos en que pueden recurrir a diferentes modelos y depósitos de información para responder a las preguntas de la manera más eficiente. Además, pueden planificar los pasos necesarios para llevar a cabo esa tarea, algo que un LLM no puede hacer por sí solo. Un agente puede realizar tareas complejas y completas sin la intervención adicional de un usuario.
Ruchir Puri, científico jefe de IBM Research, sostiene que tenía sentido que IBM creara herramientas de agente como estas, no solo para sus propios desarrolladores, sino para todos los desarrolladores empresariales a los que IBM se esfuerza por ayudar. Existen otras herramientas de agente SWE competitivas que buscan ayudar a los desarrolladores en su trabajo, pero se basan principalmente en modelos fronterizos masivos y propietarios que cuestan mucho en el momento de la inferencia. “Nuestro objetivo era crear IBM SWE-Agent para empresas que desean un agente SWE rentable que se ejecute dondequiera que resida su código, incluso detrás de su firewall, sin dejar de ser eficiente”, dijo Puri. IBM News