DeNovoSWE: Scaling Long-Horizon Environments for Generating Entire Repositories from Scratch
Este artículo presenta DeNovoSWE, un conjunto de datos de gran escala y curado automáticamente de 4.818 instancias de generación de repositorios completos diseñado para entrenar agentes de LLM para tareas de ingeniería de software de largo alcance, lo cual aumenta significativamente el rendimiento en el benchmark BeyondSWE-Doc2Repo del 5.8% al 47.2%.
Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo
Imagina que tienes a un maestro arquitecto que es increíblemente talentoso para reparar un solo ladrillo roto en una pared. Puede observar una grieta específica, entender por qué ocurrió y remendarla perfectamente. Esto es lo que los asistentes de codificación de IA actuales hacen bien: arreglar pequeños errores en software existente.
Pero, ¿qué pasaría si le pidieras a ese mismo arquitecto que construyera un rascacielos entero desde cero, partiendo solo de un boceto vago en una servilleta? Ese es un trabajo mucho más difícil. Requiere planificar los cimientos, diseñar los ascensores, cablear la electricidad y asegurar que cada habitación se conecte lógicamente. Hasta ahora, la IA ha tenido dificultades con esta tarea de "construcción de edificios completos" porque no ha tenido suficiente práctica.
El Problema: La Falta de Planos
La razón principal por la que la IA tiene dificultades para construir "rascacielos" de software enteros (repositorios) es la falta de datos de entrenamiento. La mayoría de los datos de entrenamiento existentes son como una lista de "repara este grifo que gotea" o "repara esta ventana agrietada". Hay muy pocos datos que enseñen a una IA cómo tomar una descripción de alto nivel (como un manual de usuario) y convertirla en un edificio completo y funcional desde los cimientos.
La Solución: DeNovoSWE
El artículo presenta DeNovoSWE, un nuevo y masivo conjunto de datos de entrenamiento diseñado específicamente para enseñar a la IA a construir proyectos de software enteros desde cero. Piensa en esto como una gigantesca biblioteca de 4,818 "desafíos de construcción". En cada desafío, se le da a la IA un conjunto detallado de instrucciones (documentación) y esta debe construir todo el sistema de software para que coincida perfectamente con esas instrucciones.
Cómo Construyeron los Datos de Entrenamiento (La Estrategia de "Divide y Vencerás")
Construir un conjunto de datos para esto es difícil porque no puedes simplemente pedirle a una IA que "escriba un manual para una aplicación compleja" y esperar que sea perfecto. Los autores utilizaron un equipo automatizado de agentes de IA para realizar el trabajo pesado:
- La Fase de "Dividir": Imagina intentar escribir un manual para una ciudad masiva. Es demasiado grande para hacerlo todo a la vez. Así que la IA primero divide la ciudad en vecindarios (capacidades). Identifica qué hace cada vecindario y qué edificios (archivos de código) pertenecen a él.
- La Fase de "Vencer": Ahora, agentes de IA especializados escriben el manual para un solo vecindario a la vez.
- El Agente de Borrador: Escribe la primera versión del manual.
- El Agente Crítico: Actúa como un editor estricto. Revisa el manual: "¿Olvidaste explicar cómo funcionan los semáforos? ¿Es claro el diagrama de cableado?".
- El Agente de Reparación: Corrige los errores que encontró el Crítico.
- Este ciclo se repite hasta que el manual es perfecto.
- La Prueba "Dorada": Una vez escrito el manual, el sistema crea una "sala limpia" (un sandbox). Toma el código original, lo desecha y deja solo el manual. Luego, le pide a un agente de IA diferente que reconstruya el software usando solo ese manual. Si el nuevo software pasa todas las pruebas, el manual se considera de alta calidad y se añade al conjunto de datos.
Manteniendo a la IA Honesta (Anti-Trampa)
Una preocupación importante es que la IA pueda "hacer trampa" al echar un vistazo al código original que debía reconstruir. Los autores construyeron un sistema de seguridad riguroso para evitar esto:
- Eliminan todo el historial, cachés y archivos ocultos.
- Bloquean a la IA para que no pueda conectarse a internet para descargar el código original.
- Se aseguran de que sea verdaderamente de "libro cerrado", obligándola a confiar enteramente en la documentación que se le entregó.
El Filtro de "Sensibilidad a la Dificultad"
No todos los proyectos de construcción son iguales. Algunos son cobertizos pequeños; otros son rascacielos. Si solo conservas los ejemplos de entrenamiento donde la IA construyó un rascacielos perfecto al primer intento, pierdes todas las lecciones valiosas de los proyectos difíciles donde la IA casi lo logra pero cometió algunos errores.
Los autores crearon un filtro inteligente que observa qué tan difícil es un proyecto.
- Para proyectos fáciles (un cobertizo pequeño), exigen una puntuación perfecta.
- Para proyectos difíciles (un rascacielos), aceptan una puntuación ligeramente inferior (por ejemplo, un 80% de éxito) porque lograr un rascacielos perfecto es increíblemente difícil.
Esto asegura que la IA aprenda tanto de las victorias fáciles como de los momentos de "casi lo logras" en tareas difíciles.
Los Resultados
Cuando enseñaron a un modelo de IA utilizando este nuevo conjunto de datos, los resultados fueron dramáticos.
- Antes del entrenamiento, la IA solo podía construir aproximadamente el 5.8% del software requerido correctamente.
- Después de entrenar con DeNovoSWE, su tasa de éxito saltó al 47.2%.
Esto demuestra que, al darle a la IA el tipo de "práctica de construcción" adecuado —descomponer grandes problemas, usar editores estrictos y aprender de los éxitos parciales— podemos enseñarle a pasar de ser un simple "reparador de ladrillos" a un verdadero "arquitecto de software".
¿Ahogado en artículos de tu campo?
Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.