Reunir a Locagent: agentes de IA basados ​​en gráficos que transforman la localización de código para el mantenimiento de software escalable

El mantenimiento del software es una parte integral del ciclo de vida de desarrollo de software, donde los desarrolladores con frecuencia revisan las bases de código existentes para arreglar errores, implementar nuevas funciones y optimizar el rendimiento. Una tarea crítica en esta fase es la localización del código, identificando ubicaciones específicas en una base de código que debe modificarse. Este proceso ha obtenido importancia con la escala y complejidad creciente de proyectos de software modernos. La creciente dependencia de la automatización y las herramientas impulsadas por la IA han llevado a la integración de modelos de idiomas grandes (LLM) en tareas de soporte como detección de errores, búsqueda de código y sugerencia. Sin embargo, a pesar del avance de las LLM en las tareas de lenguaje, permitiendo que estos modelos comprendan la semántica y las estructuras de las bases de código complejas siguen siendo un desafío técnico que los investigadores se esfuerzan por superar.

Hablando sobre los problemas, uno de los problemas más persistentes en el mantenimiento del software es identificar con precisión las partes relevantes de una base de código que necesita cambios basados ​​en problemas o solicitudes de funciones informadas por el usuario. A menudo, las descripciones de problemas en el lenguaje natural mencionan los síntomas, pero no la causa raíz real en el código. Esta desconexión dificulta que los desarrolladores y las herramientas automatizadas vinculen las descripciones con los elementos de código exactos que necesitan actualizaciones. Además, los métodos tradicionales luchan con dependencias de código complejas, especialmente cuando el código relevante abarca múltiples archivos o requiere un razonamiento jerárquico. La pobre localización del código contribuye a una resolución de errores ineficiente, parches incompletos y ciclos de desarrollo más largos.

Los métodos anteriores para la localización de código dependen principalmente de modelos de recuperación densa o enfoques basados ​​en agentes. La recuperación densa requiere integrar toda la base de código en un espacio vectorial de búsqueda, lo cual es difícil de mantener y actualizar para grandes repositorios. Estos sistemas a menudo funcionan mal cuando las descripciones de problemas carecen de referencias directas al código relevante. Por otro lado, algunos enfoques recientes utilizan modelos basados ​​en agentes que simulan una exploración humana de la base de código. Sin embargo, a menudo confían en el recorrido del directorio y carecen de una comprensión de los enlaces semánticos más profundos como la herencia o la invocación de funciones. Esto limita su capacidad para manejar relaciones complejas entre elementos de código no vinculados explícitamente.

Un equipo de investigadores de la Universidad de Yale, la Universidad del Sur de California, la Universidad de Stanford y todas las manos desarrolladas. Locioun marco de agente guiado por gráficos para transformar la localización del código. En lugar de depender de la coincidencia léxica o las incrustaciones estáticas, Locagent convierte las bases de código enteras en gráficos heterogéneos dirigidos. Estos gráficos incluyen nodos para directorios, archivos, clases y funciones y bordes para capturar relaciones como la invocación de funciones, las importaciones de archivos y la herencia de clases. Esta estructura permite al agente razonar en múltiples niveles de abstracción de código. Luego, el sistema aplica herramientas como SearchEntity, TraverseGraph y RemieveEntity para permitir que LLM explore el sistema paso a paso. El uso de la indexación jerárquica dispersa garantiza un acceso rápido a las entidades, y el diseño de gráficos admite el recorrido múltiple de salto, lo cual es esencial para encontrar conexiones en partes distantes de la base de código.

Locagent realiza la indexación en segundos y apoya el uso en tiempo real, lo que lo hace práctico para los desarrolladores y organizaciones. Los investigadores ajustaron dos modelos de código abierto, Qwen2.5-7b y Qwen2.5-32b, en un conjunto curado de trayectorias de localización exitosas. Estos modelos se desempeñaron impresionantemente en puntos de referencia estándar. Por ejemplo, en el conjunto de datos SWE-Bench-Lite, Locagent alcanzó una precisión del nivel de archivo del 92.7% utilizando Qwen2.5-32b, en comparación con el 86.13% con Claude-3.5 y puntajes más bajos de otros modelos. En el conjunto de datos LOC-Bench recientemente introducido, que contiene 660 ejemplos entre informes de errores (282), solicitudes de funciones (203), problemas de seguridad (31) y problemas de rendimiento (144), Locagent nuevamente mostró resultados competitivos, logrando 84.59% ACC@5 y 87.06% ACC@10 a nivel de archivo. Incluso el modelo QWEN2.5-7b más pequeño entregó el rendimiento cerca de los modelos patentados de alto costo, al tiempo que costó solo $ 0.05 por ejemplo, un marcado contraste con el costo de $ 0.66 de Claude-3.5.

El mecanismo central se basa en un proceso de indexación detallado basado en gráficos. Cada nodo, ya sea que represente una clase o función, se identifica de manera única por un nombre totalmente calificado e indexado utilizando BM25 para la búsqueda de palabras clave flexibles. El modelo permite a los agentes simular una cadena de razonamiento que comienza con la extracción de palabras clave relevantes para el problema, procede a través de los recorridos gráficos y concluye con las recuperaciones de código para nodos específicos. Estas acciones se califican utilizando un enfoque de estimación de confianza basado en la consistencia de la predicción en múltiples iteraciones. En particular, cuando los investigadores desactivaron herramientas como TraverseGraph o SearchEntity, el rendimiento disminuyó hasta un 18%, destacando su importancia. Además, el razonamiento de múltiples saltos fue crítico; La fijación de lúpulos transversales a uno condujo a una disminución en la precisión del nivel de función de 71.53% a 66.79%.

Cuando se aplica a tareas aguas abajo como la resolución de problemas de GitHub, Locagent aumentó la tasa de aprobación de problemas (pase@10) de 33.58% en sistemas basales sin agente a 37.59% con el modelo QWEN2.5-32B sintonizado. La modularidad y la naturaleza de código abierto del marco lo convierten en una solución convincente para las organizaciones que buscan alternativas internas a los LLM comerciales. La introducción de LOC-Bench, con su representación más amplia de las tareas de mantenimiento, garantiza una evaluación justa sin contaminación de los datos de pre-entrenamiento.

Algunas conclusiones clave de la investigación en Locagent incluyen lo siguiente:

  • Locagent transforma las bases de código en gráficos heterogéneos para el razonamiento de código de nivel múltiple.
  • Alcanzó hasta un 92.7% de precisión a nivel de archivo en SWE-Bench-Lite con QWEN2.5-32B.
  • Costo de localización de código reducido en aproximadamente un 86% en comparación con los modelos propietarios. Introducido el conjunto de datos LOC-Bench con 660 ejemplos: 282 errores, 203 características, 31 seguridad, 144 rendimiento.
  • Los modelos ajustados (qwen2.5-7b, qwen2.5-32b) realizaron comparablemente a Claude-3.5.
  • Herramientas como TraverseGraph y SearchEntity demostraron ser esenciales, con caídas de precisión cuando están deshabilitadas.
  • La utilidad demostrada del mundo real mejorando las tasas de resolución de problemas de GitHub.
  • Ofrece una alternativa escalable, rentable y efectiva a las soluciones LLM patentadas.

Verificar el Papel y Página de Github. Todo el crédito por esta investigación va a los investigadores de este proyecto. Además, siéntete libre de seguirnos Gorjeo Y no olvides unirte a nuestro 85k+ ml de subreddit.


Asif Razzaq es el CEO de MarktechPost Media Inc .. Como empresario e ingeniero visionario, ASIF se compromete a aprovechar el potencial de la inteligencia artificial para el bien social. Su esfuerzo más reciente es el lanzamiento de una plataforma de medios de inteligencia artificial, MarktechPost, que se destaca por su cobertura profunda de noticias de aprendizaje automático y de aprendizaje profundo que es técnicamente sólido y fácilmente comprensible por una audiencia amplia. La plataforma cuenta con más de 2 millones de vistas mensuales, ilustrando su popularidad entre el público.