Salesforce AI Research presenta CodeTree: un marco de múltiples agentes para la generación de código automatizado eficiente y escalable

La generación automatizada de código es un campo en rápida evolución que utiliza grandes modelos de lenguaje (LLM) para producir soluciones de programación ejecutables y lógicamente correctas. Estos modelos, previamente entrenados en vastos conjuntos de datos de código y texto, tienen como objetivo simplificar las tareas de codificación para los desarrolladores. A pesar de su progreso, el campo sigue centrado en abordar la complejidad de generar código confiable y eficiente, especialmente frente a problemas complejos que requieren precisión y creatividad.

Un desafío importante en la generación de código radica en navegar por el vasto espacio de búsqueda para producir soluciones correctas y optimizadas. Los métodos existentes a menudo no logran abordar de manera efectiva la planificación y depuración de múltiples etapas, lo que genera limitaciones al manejar tareas más complejas. Además, el uso de métodos de fuerza bruta para generar grandes muestras de código ha demostrado ser ineficiente. Al mismo tiempo, los enfoques basados ​​en el refinamiento frecuentemente encuentran el problema de quedarse estancados en soluciones subóptimas.

Las metodologías actuales en el campo incluyen estrategias como la generación de fuerza bruta, el refinamiento iterativo y la aplicación de mecanismos de retroalimentación. Los métodos de fuerza bruta intentan mejorar la probabilidad de generar una solución correcta mediante el muestreo de muchos resultados. Los enfoques iterativos refinan un conjunto más pequeño de soluciones basándose en la retroalimentación de los resultados de la ejecución. A pesar de su utilidad, estos métodos necesitan más escalabilidad y, a menudo, necesitan aprovechar todas las capacidades de los LLM para generar soluciones diversas e innovadoras.

Investigadores de la Universidad de Texas y Salesforce Research introdujeron un marco innovador llamado CodeTree para superar estas limitaciones. CodeTree emplea una estructura basada en árbol para el proceso de generación de código, lo que permite la exploración sistemática y el refinamiento de soluciones. En esencia, CodeTree aprovecha múltiples agentes colaborativos, incluido un agente Thinker para la planificación estratégica, un agente Solver para generar código inicial y un agente Debugger para refinar soluciones. Estos agentes son guiados por un agente crítico, que evalúa y califica cada solución de forma dinámica en función de los comentarios de ejecución y los conocimientos generados por la IA.

El marco CodeTree construye un árbol heterogéneo, en el que cada nodo representa una solución potencial. El agente Thinker genera múltiples estrategias, cada una de las cuales actúa como una rama de árbol. Luego, el agente Solver produce implementaciones iniciales, que el agente Critic prueba y critica. Con base en esta retroalimentación, el agente depurador refina o rechaza las soluciones, asegurando que el espacio de búsqueda se recorra de manera eficiente. Este método permite una toma de decisiones flexible, en la que el agente crítico determina si expandir, abortar o finalizar una ruta determinada en el árbol. La colaboración entre estos agentes permite a CodeTree identificar soluciones óptimas evitando al mismo tiempo la redundancia y la ineficiencia.

Los investigadores evaluaron exhaustivamente CodeTree en varios puntos de referencia desafiantes. Utilizando GPT-4o como modelo base, el marco logró resultados notables. Obtuvo una puntuación del 95,1 % en HumanEval, del 98,7 % en MBPP y del 43,0 % en CodeContests, superando los enfoques tradicionales. En particular, el sistema se destacó en el punto de referencia SWEBench, que genera parches de código para repositorios Github del mundo real. Al adaptar su estrategia a esta compleja tarea, CodeTree manejó eficazmente grandes espacios de búsqueda. Los experimentos resaltaron que CodeTree supera a líneas de base sólidas como Reflexion y MapCoder por márgenes significativos, particularmente en tareas desafiantes a nivel de competencia.

Un análisis más detallado reveló las ventajas de las estrategias de búsqueda de CodeTree. La búsqueda en amplitud (BFS) demostró ser más eficaz que la búsqueda en profundidad (DFS) para explorar diversas estrategias. El agente crítico jugó un papel crucial, ya que tareas como la verificación de soluciones y la puntuación de nodos mejoraron significativamente el rendimiento. Por ejemplo, excluir estas tareas resultó en una caída notable en la precisión. La capacidad de CodeTree para ajustar dinámicamente su profundidad y amplitud de exploración aseguró que el sistema pudiera adaptarse a problemas de diversa complejidad, convirtiéndolo en una herramienta versátil para la generación automatizada de código.

Los resultados demuestran que CodeTree no sólo es eficiente sino también escalable. Incluso con un presupuesto de generación limitado de 20 muestras por problema, el marco logró una alta precisión en todos los puntos de referencia. Esta eficiencia sugiere que el sistema podría funcionar aún mejor con un mayor presupuesto, destacando su potencial para aplicaciones prácticas en el desarrollo de software y entornos de programación competitivos.

En conclusión, CodeTree ofrece un enfoque transformador para la generación automatizada de código al combinar la exploración estructurada con la colaboración de múltiples agentes. El marco desarrollado por Salesforce Research aborda eficazmente las limitaciones de los métodos existentes, proporcionando una solución sólida para abordar desafíos de codificación complejos. Con su capacidad para navegar en vastos espacios de búsqueda y lograr una alta precisión, CodeTree establece un nuevo estándar para futuros avances en este campo.


Verificar el Papel. Todo el crédito por esta investigación va a los investigadores de este proyecto. Además, no olvides seguirnos en Gorjeo y únete a nuestro Canal de telegramas y LinkedIn Grarriba. Si te gusta nuestro trabajo, te encantará nuestro hoja informativa.. No olvides unirte a nuestro SubReddit de más de 60.000 ml.

🚨 [Must Attend Webinar]: ‘Transformar pruebas de concepto en aplicaciones y agentes de IA listos para producción’ (Promovido)


Nikhil es consultor interno en Marktechpost. Está cursando una doble titulación integrada en Materiales en el Instituto Indio de Tecnología de Kharagpur. Nikhil es un entusiasta de la IA/ML que siempre está investigando aplicaciones en campos como los biomateriales y la ciencia biomédica. Con una sólida formación en ciencia de materiales, está explorando nuevos avances y creando oportunidades para contribuir.