Introducción:
Los modelos de lenguaje de código grande (CodeLLM) han demostrado una notable capacidad para generar código. Sin embargo, tienen dificultades para realizar tareas complejas de ingeniería de software, como el desarrollo de un sistema de software completo basado en especificaciones intrincadas. Trabajos recientes, incluidos ChatDev y MetaGPT, han introducido marcos multiagente para el desarrollo de software, donde los agentes colaboran para lograr objetivos complejos. Estos trabajos siguen los procedimientos estándar de los sistemas multiagente, definiendo diferentes roles para que los agentes se comuniquen y verifiquen los resultados de los demás. Sin embargo, tienden a simplificar en exceso la naturaleza compleja del desarrollo de software del mundo real, donde el software evoluciona y mejora continuamente.
Presentamos AgileCoder:
En este trabajo, un equipo de investigadores del Centro de IA de FPT Software propone Codificador ágil, Un nuevo marco de trabajo que imita el complejo proceso de desarrollo de software en el mundo real inspirándose en la metodología Agile, un enfoque ampliamente utilizado en equipos de desarrollo de software profesionales. Aproximadamente el 70 % de los equipos profesionales emplean la metodología Agile, que se adapta mejor al desarrollo de software en el mundo real. AgileCoder se basa en un concepto clave de Agile: el software evoluciona continuamente con el tiempo y, por lo tanto, el desarrollo debe estructurarse en forma de sprints (también conocidos como fases).
Roles y colaboración de los agentes:
AgileCoder consta de varios agentes que desempeñan funciones distintas: un gerente de proyecto, un Scrum Master, un desarrollador, un desarrollador sénior y un evaluador. Estos agentes trabajan en colaboración en los sprints para lograr las tareas de los usuarios de acuerdo con la metodología Agile. Al adaptar los flujos de trabajo Agile a un marco de trabajo multiagente, AgileCoder enfatiza la adaptabilidad dinámica y el desarrollo iterativo. Los resultados y los problemas de los sprints anteriores se heredan y se perfeccionan en los sprints posteriores, lo que aumenta la probabilidad de éxito de los productos finales.
Generador de gráficos de código dinámico:
Una innovación clave en AgileCoder es el generador de gráficos de código dinámico, que crea un gráfico de dependencia de código (CDG) que modela las relaciones entre los archivos de código y se actualiza con los cambios en el código fuente. El CDG desempeña un papel crucial en la redacción de planes de prueba racionales y permite una recuperación de código eficiente. Sirve como una fuente confiable para que los agentes recuperen información relevante y suficiente, lo que ayuda a evitar la inclusión de información irrelevante en las indicaciones.
Evaluación y resultados:
Las evaluaciones exhaustivas de los puntos de referencia como HumanEval, MBPP y ProjectDev demuestran el rendimiento superior de AgileCoder. En HumanEval y MBPP, que implican problemas de programación simples a nivel competitivo, AgileCoder supera significativamente a CodeLLM y a los marcos multiagente de última generación como ChatDev y MetaGPT. Para evaluar el rendimiento en requisitos más complejos, el equipo creó un conjunto de datos llamado ProjectDev, que contiene requisitos de proyectos de software del mundo real. Los resultados de la evaluación muestran que AgileCoder es más eficaz que otras líneas de base para generar software a partir de requisitos tan complejos.
Conclusión:
AgileCoder es un novedoso marco de desarrollo de software multiagente inspirado en la metodología Agile. Su innovación clave, el generador de gráficos de código dinámico, crea un gráfico de dependencia de código que captura las relaciones de código en evolución para diseñar planes de prueba y permitir una recuperación de código eficiente. Al seguir la metodología Agile, AgileCoder refleja mejor los flujos de trabajo de desarrollo de software reales y admite la adaptabilidad dinámica y el desarrollo iterativo. Las evaluaciones exhaustivas muestran la superioridad de AgileCoder sobre los métodos existentes como ChatDev y MetaGPT, lo que lo convierte en un enfoque prometedor para tareas de desarrollo de software complejas utilizando CodeLLM.
Echa un vistazo a la Papel y GitHubTodo el crédito por esta investigación corresponde a los investigadores de este proyecto. Además, no olvides seguirnos en Gorjeo y únete a nuestro Canal de Telegram y LinkedIn Gr¡Arriba!. Si te gusta nuestro trabajo, te encantará nuestro hoja informativa..
No olvides unirte a nuestro Subreddit de más de 48 000 millones de usuarios
Encuentra lo próximo Seminarios web sobre IA aquí
Asif Razzaq es el director ejecutivo de Marktechpost Media Inc. Como ingeniero y emprendedor visionario, Asif está comprometido con aprovechar el potencial de la inteligencia artificial para el bien social. Su iniciativa más reciente es el lanzamiento de una plataforma de medios de inteligencia artificial, Marktechpost, que se destaca por su cobertura en profundidad de noticias sobre aprendizaje automático y aprendizaje profundo que es técnicamente sólida y fácilmente comprensible para una amplia audiencia. La plataforma cuenta con más de 2 millones de visitas mensuales, lo que ilustra su popularidad entre el público.