La Universidad de Princeton ha lanzado el primer agente SWE programador de IA de código abierto del mundo, que se basa en la tecnología GPT-4 y puede corregir errores automáticamente en los repositorios de GitHub. El agente SWE tuvo un buen desempeño en el conjunto de pruebas del banco SWE, resolvió con éxito el 12,29 % de los problemas, tomó un promedio de solo 93 segundos y tuvo una precisión comparable a la de los programadores de IA existentes. Su naturaleza de código abierto le permitió ganar rápidamente mucha atención, lo que demuestra el enorme potencial de la IA en el campo de la ingeniería de software. Este artículo profundizará en el principio de funcionamiento, el rendimiento y el impacto del agente SWE en la futura ingeniería de software.
La Universidad de Princeton lanzó recientemente un programador de IA llamado SWE-agent, que es el primer programador de IA de código abierto del mundo. Se basa en la tecnología GPT-4 y puede corregir errores automáticamente en los repositorios de GitHub. El nacimiento de esta interfaz agente-computadora marca un paso importante en la aplicación de la IA en el campo de la ingeniería de software. El rendimiento del agente SWE en el conjunto de pruebas del banco SWE es impresionante. Resolvió con éxito el 12,29% de los problemas, en un promedio de solo 93 segundos, y su precisión fue comparable a la del programador de IA Devin lanzado anteriormente. La naturaleza de código abierto del agente SWE significa que rápidamente obtuvo 1,6 mil estrellas y 109 bifurcaciones en GitHub, lo que muestra el alto reconocimiento y el interés de la comunidad de código abierto en esta tecnología. El agente SWE funciona interactuando con una terminal especializada, que puede abrir, desplazarse y buscar archivos, editar líneas específicas y realizar comprobaciones de sintaxis, escribir y ejecutar pruebas automáticamente. Este diseño es similar a la interfaz de usuario diseñada para humanos, evitando errores y brindando retroalimentación. Por ejemplo, cuando se trata de un error de operación matricial, el agente SWE puede reproducir el problema, localizar el código del problema, realizar modificaciones y resolver el problema con éxito. Los investigadores de la Universidad de Princeton diseñaron un formato conciso de instrucciones y comentarios para el agente SWE, lo que facilita que el modelo explore el repositorio de código, vea, edite y ejecute archivos de código. El flujo de trabajo del agente SWE se divide en dos etapas: razonamiento y evaluación. En la fase de razonamiento, el agente SWE maneja los problemas en GitHub y genera soluciones de reparación; en la fase de evaluación, confirma si la solución realmente resuelve el problema; Los autores principales de este estudio, John Yang y Carlos E. Jiménez, son asistentes de investigación y estudiantes de doctorado en la Universidad de Princeton. Sus intereses de investigación se centran en los fundamentos del lenguaje, la interacción, la evaluación comparativa de LLM, la ingeniería de software y la generación de código. Su trabajo demuestra el potencial de la IA en el campo de la ingeniería de software y desencadena una reflexión profunda sobre las funciones y capacidades de la IA y los humanos en el proceso de ingeniería. Con el desarrollo de la tecnología de IA, hemos visto el avance de la IA en el campo de la programación. No sólo pueden planificar y ejecutar tareas de ingeniería complejas, sino también corregir errores y ser responsables de todo el proceso de desarrollo del proyecto. Sin embargo, a pesar de los avances que ha logrado la IA en la escritura de código seguro, la supervisión humana sigue siendo fundamental. Aunque el auge de la IA aún no ha llegado a la etapa de reemplazar completamente a los ingenieros de software, está cambiando la cara y la dirección futura del campo tecnológico. Este programador de IA de código abierto del equipo de Princeton no solo aporta nuevas perspectivas de investigación y aplicaciones al campo de la ingeniería de software, sino que también nos brinda la oportunidad de pensar en la cooperación entre la inteligencia artificial y los humanos para crear un futuro. A medida que la tecnología continúa avanzando, es posible que veamos que la IA desempeña un papel aún más importante en el campo de la ingeniería de software.La aparición del agente SWE marca un nuevo hito en la programación asistida por IA. Aunque todavía se necesita supervisión humana, no se puede ignorar su potencial para mejorar la eficiencia del desarrollo y la calidad del código. En el futuro, la cooperación colaborativa entre la IA y los programadores humanos se convertirá en una tendencia generalizada en el campo de la ingeniería de software, promoviendo conjuntamente el progreso tecnológico.