daVinci-Dev: Agent-native Mid-training for Software Engineering
El artículo presenta daVinci-Dev, un marco para el entrenamiento intermedio agéntico que aprovecha una novedosa estrategia de datos "nativa de agentes" que combina trayectorias contextual y ambientalmente nativas para superar los desajustes de distribución, permitiendo que los modelos de 32B y 72B alcancen un rendimiento de vanguardia en SWE-Bench Verified con significativamente menos tokens de entrenamiento que los métodos anteriores.
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
La Gran Idea: Enseñar a un Robot a Ser un Programador Real
Imagina que quieres enseñarle a un robot cómo arreglar un coche averiado.
La Forma Antigua (Post-entrenamiento):
La mayoría de los modelos de IA actuales son como estudiantes que han leído todos los manuales de coches de la biblioteca (Pre-entrenamiento), pero que nunca han tocado una llave inglesa. Para enseñarles a arreglar coches, los investigadores les muestran algunos vídeos de expertos arreglando coches (Ajuste Fino Supervisado) y luego les dejan practicar en un garaje, corrigiéndolos solo cuando cometen un error (Aprendizaje por Refuerzo).
- El Problema: El "garaje" es pequeño y costoso de construir. Solo puedes practicar con unos pocos coches. Además, el estudiante solo ve el coche ya reparado, no el proceso desordenado de intentar, fallar, revisar el motor y volver a intentarlo.
La Nueva Forma (daVinci-Dev / Entrenamiento Medio Nativo de Agentes):
Los autores de este artículo dicen: "Vamos a enseñarle al robot antes de enviarlo al garaje". Introducen una etapa intermedia llamada Entrenamiento Medio (Mid-Training).
En lugar de solo mostrarle al robot el coche terminado, le alimentan con una biblioteca masiva de registros de reparación reales de millones de mecánicos de verdad. No solo muestran el resultado final; muestran toda la historia:
- El mecánico mirando el coche averiado.
- El mecánico abriendo el capó y leyendo el manual.
- El mecánico intentando una reparación, escuchando un ruido extraño y dándose cuenta de que no funcionó.
- El mecánico probando una reparación diferente hasta que funciona.
Llaman a esto datos "Nativos de Agente" porque imitan la experiencia real de ser un agente (un trabajador) en el mundo real, en lugar de solo memorizar hechos estáticos.
Los Dos Ingredientes Especiales
Para construir esta biblioteca de entrenamiento, el equipo creó dos tipos de "historias" (datos) a partir de GitHub (un sitio web gigante donde los programadores comparten código):
1. Las Historias "Contextualmente Nativas" (La Biblioteca Amplia)
- Qué es: Tomaron millones de "Pull Requests" (solicitudes para cambiar código) y reconstruyeron toda la historia.
- La Analogía: Imagina el expediente de un caso de un detective. No solo muestra el crimen resuelto; muestra al detective leyendo el diario del sospechoso, encontrando el archivo correcto, haciendo una suposición y luego cambiando de opinión basándose en nuevas pistas.
- Por qué ayuda: Esto enseña a la IA el flujo de trabajo. Aprende que antes de editar un archivo, primero tiene que encontrarlo y leerlo. Cubre una enorme variedad de lenguajes y situaciones (68.6 mil millones de palabras de datos).
2. Las Historias "Ambientalmente Nativas" (La Simulación en Vivo)
- Qué es: No solo leyeron registros; realmente ejecutaron el código. Pusieron un agente de IA dentro de un entorno informático real y funcional (un contenedor Docker) y lo dejaron intentar arreglar errores.
- La Analogía: Esto es como poner al estudiante en un garaje real con un motor real. El estudiante intenta girar un tornillo y el motor hace un clank fuerte (un error). El estudiante escucha el error, se detiene y prueba una herramienta diferente.
- Por qué ayuda: Esto enseña a la IA cómo reaccionar ante el feedback real. Aprende que "si escribo este comando, la computadora me gritará con un mensaje de error", algo que los libros estáticos no pueden enseñar. Esta parte es más pequeña (3.1 mil millones de palabras) pero de muy alta calidad porque es "real".
Los Resultados: ¿Qué tan bien funcionó?
El equipo probó a su nuevo "estudiante" (el modelo daVinci-Dev) en un examen famoso llamado SWE-Bench Verified, que es como un examen de conducir final para ingenieros de software.
- La Puntuación: Su modelo de 72 mil millones de parámetros obtuvo una tasa de éxito del 58.5%.
- La Comparación: Superó al mejor método de código abierto anterior (Kimi-Dev), que puntuó alrededor del 48.6%.
- La Eficiencia: Lograron esto utilizando menos de la mitad de la cantidad de datos de entrenamiento (tokens) que utilizó el anterior poseedor del récord. Es como sacar un sobresaliente en un examen estudiando 50 horas en lugar de 100, porque el material de estudio era mucho mejor.
- La Sorpresa: Aunque empezaron con un modelo base "general" (Qwen2.5-Base) que no estaba entrenado específicamente para la programación, el nuevo método de entrenamiento lo hizo mejor en programación que los modelos que empezaron como "expertos en programación".
Por qué esto es importante (Según el artículo)
El artículo argumenta que el mayor error al enseñar a la IA a programar ha sido tratarla como un estudiante que solo lee libros de texto. La ingeniería de software real es un bucle: Encontrar el problema → Leer el código → Intentar una solución → Ver si se rompe → Arreglarlo de nuevo.
Al alimentar a la IA con datos que preservan este bucle (tanto la historia del trabajo como el feedback en tiempo real de la computadora), construyeron una base que es mucho más sólida.
En resumen: No solo le enseñaron a la IA cómo se ve el código; le enseñaron cómo pensar como un programador mediante la simulación del proceso desordenado de ensayo y error del desarrollo de software real.
¿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.