Identificar la ubicación exacta de un problema de software, como una solicitud de error o función, aumenta una de las tareas más laborales en el ciclo de vida del desarrollo. A pesar de los avances en la generación de parches automatizado y los asistentes de código, el proceso de identificar en qué parte de la base de código se necesita un cambio a menudo consume más tiempo que determinar cómo solucionarlo. Los enfoques basados en agentes impulsados por grandes modelos de idiomas (LLM) han avanzado al simular los flujos de trabajo del desarrollador a través del uso y razonamiento de la herramienta iterativa. Sin embargo, estos sistemas son típicamente lentos, frágiles y caros de operar, especialmente cuando se construyen en modelos de código cerrado. Paralelamente, los modelos de recuperación de código existentes, mientras más rápido, no están optimizados para la verbosidad y el enfoque de comportamiento de las descripciones de problemas del mundo real. Esta desalineación entre las entradas del lenguaje natural y la capacidad de búsqueda de código presenta un desafío fundamental para la depuración automatizada escalable.
Swerank: un marco práctico para la localización precisa
Para abordar estas limitaciones, Salesforce AI ha introducido Más bienun marco liviano y efectivo de recuperación y rerante adaptado para la localización de problemas de software. Swerank está diseñado para cerrar la brecha entre la eficiencia y la precisión al reformular la localización como una tarea de clasificación de código. El marco consta de dos componentes clave:
- Swerankembedun modelo de recuperación de bi-codificadores que codifica problemas de GitHub y fragmentos de código en un espacio de incrustación compartido para una recuperación eficiente basada en similitud.
- Swerankllmun Reranker Listwise basado en LLMS ajustados a instrucciones que refina la clasificación de candidatos recuperados utilizando la comprensión contextual.
Para capacitar este sistema, el equipo de investigación seleccionó Swelocun conjunto de datos a gran escala extraído de repositorios públicos de GitHub, que vincula los informes de problemas del mundo real con los cambios de código correspondientes. SWELOC introduce ejemplos de entrenamiento contrastante utilizando un filtrado de consistencia y minería negativa dura para garantizar la calidad y relevancia de los datos.
Arquitectura y contribuciones metodológicas
En esencia, Swerank sigue una tubería de dos etapas. Primero, Swerankembed mapea una descripción de la cuestión dada y las funciones candidatas en representaciones vectores densas. Utilizando una pérdida de información contrastante, el Retriever está entrenado para aumentar la similitud entre un problema y su verdadera función asociada al tiempo que reduce su similitud con los fragmentos de código no relacionados. En particular, el modelo se beneficia de negativos duros cuidadosamente extraídos (funciones de código que son semánticamente similares pero no relevantes) que mejoran la capacidad discriminativa del modelo.
Las apalancamiento de la etapa de rerantería Swerankllmun Reranker basado en LLM que procesa una descripción del problema junto con los candidatos de código Top-K y genera una lista clasificada donde el código relevante aparece en la parte superior. Es importante destacar que el objetivo de entrenamiento se adapta a la configuración donde solo se conoce lo verdadero positivo. El modelo está capacitado para generar el identificador del fragmento de código relevante, manteniendo la compatibilidad con la inferencia en lista al tiempo que simplifica el proceso de supervisión.
Juntos, estos componentes permiten que Swerank ofrezca un alto rendimiento sin requerir múltiples rondas de interacción o costosa orquestación de agentes.
Perspectivas
Evaluaciones sobre SWE-Bench-Lite y Locbench, dos puntos de referencia estándar para la localización de software) demuestran que Swerank logra resultados de última generación en los niveles de archivo, módulo y función. En swe bench-lite, Swerankembed-Large (7b) alcanzó una precisión de nivel de función@10 de 82.12%superando incluso a Locagent que se ejecuta con Claude-3.5. Cuando se combina con Swerankllm-Large (32B)el rendimiento mejoró aún más a 88.69%Establecer un nuevo punto de referencia para esta tarea.
Además de las ganancias de rendimiento, Swerank ofrece beneficios de costo sustanciales. En comparación con los agentes impulsados por Claude, que promedian $ 0.66 por ejemploEl costo de inferencia de Swerankllm es $ 0.011 para el modelo 7b y $ 0.015 para la variante 32B: frase hasta 6x mejor relación precisión-costo. Además, el modelo de parámetros de 137M Swerankembed-Small logra resultados competitivos, lo que demuestra la escalabilidad y la eficiencia del marco incluso en las arquitecturas livianas.
Más allá del rendimiento de referencia, los experimentos también muestran que los datos SWELOC mejoran una amplia clase de modelos de incrustación y relevantes. Los modelos previamente entrenados para la recuperación de uso general exhibieron ganancias de precisión significativas cuando se ajustaban con Sweloc, validando su utilidad como recurso de capacitación para tareas de localización de problemas.
Conclusión
Swerank presenta una alternativa convincente a los enfoques de localización tradicionales basados en agentes mediante el modelado de la localización de problemas de software como un problema de clasificación. A través de su arquitectura de recuperación y remolino, Swerank ofrece una precisión de última generación mientras mantiene un bajo costo de inferencia y una latencia mínima. El conjunto de datos SWELOC que lo acompaña proporciona una base de capacitación de alta calidad, lo que permite una generalización sólida en varias bases de código y tipos de problemas.
Al desacoplar la localización del razonamiento de múltiples pasos de agente y la base en una recuperación neuronal eficiente, Salesforce AI demuestra que las soluciones prácticas y escalables para la depuración y el mantenimiento del código no solo son posibles, sino que están al alcance del alcance del uso de herramientas de código abierto. Swerank establece una nueva barra para precisión, eficiencia e implementabilidad en ingeniería de software automatizada.
Mira el Papel y Página del proyecto. 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 90k+ ml de subreddit.
Aquí hay una breve descripción de lo que estamos construyendo en MarkTechPost:
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.