Los últimos avances en el campo de la ingeniería de software han elevado el nivel de productividad y trabajo en equipo. Un equipo de investigadores de Historia del código se ha desarrollado recientemente Un marco de codificación multiagente llamado Aide que logró un notable 40,3 % de soluciones aceptadas en el benchmark SWE-Bench-Lite, estableciendo un nuevo estado del arte. Con su integración fluida en entornos de desarrollo y una mayor productividad, este marco promete transformar por completo la forma en que los desarrolladores trabajan con el código.
La idea de numerosos agentes, cada uno a cargo de un símbolo de código particular, como una clase, función, enumeración o tipo, es la base de esta arquitectura. Este nivel atómico de granularidad permite la comunicación en lenguaje natural entre bots, lo que permite que cada uno se concentre en una unidad de tarea en particular. El Protocolo de servidor de lenguaje (LSP) facilita la comunicación de los agentes mediante protocolos que garantizan una transmisión de información precisa y eficaz.
En la práctica, esto significa que hasta 30 agentes pueden estar activos a la vez durante una sola ejecución, colaborando para tomar decisiones y compartir información. Las capacidades del marco han quedado demostradas por su notable rendimiento en el benchmark SWE-Bench-Lite. ClaudeSonnet3.5 y GPT-4o se utilizaron en la creación de un entorno de edición para los agentes mediante el uso de Pyright y Jedi. GPT-4o fue excepcional en la edición de código, mientras que Sonnet3.5, que es famoso por sus robustos comportamientos de los agentes, fue útil para organizar y navegar por la base de código.
El aspecto agente de Sonnet 3.5 fue muy significativo. Fue el primer paradigma que propuso separar funciones en lugar de hacer más complejas las que ya eran complejas, lo que demostró un conocimiento sofisticado de la mantenibilidad y la estructura del código. Este comportamiento, junto con las excelentes capacidades de edición de código de GPT-4o, hicieron que el framework funcionara notablemente mejor que las versiones anteriores.
Se seleccionó el banco de pruebas SWE-Bench-Lite porque puede replicar dificultades de codificación del mundo real, lo que brinda a los agentes un entorno de prueba confiable. La configuración del banco de pruebas comprendía un arnés de edición simulado con Pyright para diagnósticos y Jinja para funciones LSP, lo que permitía a los agentes obtener información y realizar pruebas rápidamente sin agotar los recursos del sistema.
El proceso de evaluación comparativa arrojó lecciones importantes, una de las cuales fue la importancia de la colaboración entre agentes. Juntos, los agentes que estaban a cargo de un símbolo de código diferente podían realizar tareas rápidamente y, a menudo, corregían problemas no relacionados, como errores de lint o tareas pendientes, sobre la marcha. Este método cooperativo no solo mejoró la calidad del código, sino que también demostró la capacidad de los sistemas de agentes para gestionar trabajos de codificación complicados por sí solos.
El equipo tiene compartió que aún quedan algunos obstáculos por superar antes de incluir completamente este marco multiagente en el desarrollo. En la actualidad, se están realizando investigaciones para garantizar una comunicación fluida entre los desarrolladores y los agentes humanos, gestionar modificaciones de código simultáneas y preservar la estabilidad del código. Además, el equipo está estudiando cómo optimizar mejor el rendimiento del marco, específicamente con las velocidades de inferencia y los costos de inteligencia.
El objetivo final del equipo es aumentar las capacidades de los desarrolladores humanos en lugar de reemplazarlos. El objetivo es mejorar la precisión y la eficiencia del proceso de desarrollo de software mediante el suministro de un enjambre de agentes especializados, lo que permite a los desarrolladores trabajar en problemas más complejos mientras los agentes se encargan de tareas más detalladas.
Tanya Malhotra es una estudiante de último año de la Universidad de Estudios de Petróleo y Energía, Dehradun, que cursa BTech en Ingeniería Informática con una especialización en Inteligencia Artificial y Aprendizaje Automático.
Es una entusiasta de la ciencia de datos con un buen pensamiento analítico y crítico, junto con un gran interés en adquirir nuevas habilidades, liderar grupos y gestionar el trabajo de manera organizada.