Predicting Acceptance and Review Effort in Human and Agent Pull Requests
Este artículo demuestra que los modelos de aprendizaje automático que utilizan únicamente características del momento del envío pueden predecir con precisión la aceptación de tanto los pull requests de humanos como de agentes, pero tienen dificultades para pronosticar el esfuerzo de revisión, lo que sugiere que su mejor uso es como herramientas de asesoría para el triaje en lugar de decisores automatizados.
Artículo original dedicado al dominio público bajo CC0 1.0 (http://creativecommons.org/publicdomain/zero/1.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 un bullicioso taller de software donde los cambios de código son como paquetes esperando ser enviados. En los viejos tiempos, solo los trabajadores humanos enviaban estos paquetes. Pero ahora, una nueva tripulación de robots de IA se ha unido al equipo, dejando caer sus propios paquetes de código junto a los de los humanos. Los gerentes (llamados "mantenedores") están repentinamente abrumados. Tienen una montaña de paquetes que revisar y necesitan saber dos cosas inmediatamente: ¿Qué paquetes serán aprobados y enviados? y ¿Cuáles requerirán una inspección enorme y agotadora?
Este artículo es como un detective intentando resolver ese misterio usando solo las pistas visibles en el exterior del paquete en el momento en que llega, antes de que alguien siquiera haya abierto la caja o empezado a hablar de ella.
El gran descubrimiento: La "etiqueta del paquete" dice mucho
Los investigadores descubrieron que, en realidad, puedes hacer una estimación bastante buena de si un paquete será aceptado con solo mirar su etiqueta y la caja en la que se encuentra. Construyeron un sistema informático inteligente que observaba cosas como:
- Cuánto duraba la descripción en la etiqueta.
- Cuántos archivos había dentro de la caja.
- A qué hora del día se envió.
- La reputación del taller del que provenía.
Cuando probaron este sistema, la computadora se volvió muy buena detectando los paquetes "aprobados". De hecho, los mejores modelos (usando un método llamado Random Forest) obtuvieron una puntuación de 0.958 de 1.0 al identificar correctamente qué paquetes serían aceptados. ¡Eso es como un detective resolviendo 96 de cada 100 casos con solo mirar la dirección!
Sin embargo, hay un inconveniente. El artículo advierte explícitamente que este sistema no es un botón mágico de "sí/no". La computadora es buena clasificando el "probablemente sí" del "probablemente no", pero no es lo suficientemente perfecta como para tomar la decisión final por sí misma. Los investigadores sugieren usarlo como un asistente útil para decir: "¡Oye, mira este primero!", en lugar de un robot automatizado que diga: "¡Envíalo!" sin que un humano lo vea nunca.
El misterio más difícil: ¿Cuánto trabajo será?
La segunda pregunta era más complicada: "¿Cuánto esfuerzo tomará revisar esto?". Los investigadores intentaron predecir dos cosas: cuántos comentarios recibiría el paquete (el "cháchara") y cuántas horas pasaría en la cola antes de ser enviado (el "tiempo de espera").
Aquí, los resultados fueron mucho más modestos. La computadora podía adivinar la cantidad de cháchara con un margen de error de aproximadamente 1.00 comentario en promedio, pero solo explicaba el 20% de las razones por las que algunos paquetes recibían más comentarios que otros. Predecir el tiempo de espera fue aún más difícil; las suposiciones de la computadora fallaban por un promedio de 24.00 horas, y solo explicaba el 12% de la variación.
¿Por qué fue esto tan difícil? El artículo sugiere que el tiempo de espera no depende solo del paquete en sí. Es como esperar un autobús: incluso si tu boleto es perfecto, podrías esperar mucho tiempo si el conductor está en un descanso, si el tráfico es malo o si el autobús está lleno. Del mismo modo, un paquete de código puede esperar mucho tiempo porque los revisores están ocupados, las herramientas de prueba automatizadas son lentas o el equipo simplemente tiene un flujo de trabajo lento. El artículo argumenta que no puedes predecir estos "atascos de tráfico" solo mirando la etiqueta del paquete.
Humanos vs. Robots: ¿Juegan bajo reglas diferentes?
El equipo también se preguntó si los paquetes de los robots de IA eran más difíciles de predecir que los de los humanos. Encontraron que los paquetes de la IA eran en realidad un poco más fáciles de clasificar porque seguían patrones muy limpios y regulares. Los paquetes humanos eran más desordenados y variados.
Curiosamente, los paquetes de la IA tendían a recibir un poco más de "cháchara" (comentarios) y tardaban un poco más en enviarse. El artículo sugiere que esto podría deberse a que los gerentes humanos están siendo extra cuidadosos, doble comprobando el trabajo del robot para asegurarse de que no tenga trucos ocultos. Pero a pesar de este escrutinio adicional, la computadora aún podía predecir el resultado para los robots tan bien como para los humanos.
A lo que el artículo dice "No"
Es importante saber qué no hizo este estudio. Los investigadores descartaron explícitamente el uso de cualquier información que aparezca después de que se abre el paquete. No miraron los comentarios que la gente escribió, los resultados de las pruebas automatizadas ni la decisión final de fusionar el código. Si hubieran usado esa información, habría sido como intentar predecir el clima mirando el suelo después de que llovió. El punto de todo esto era ver si podías adivinar el resultado antes de que empiece a llover.
También descartaron la idea de que la computadora pudiera reemplazar a los revisores humanos. Los resultados muestran que, si bien la computadora es una gran herramienta de "triaje" (como un policía de tránsito dirigiendo autos), no puede explicar completamente las complejas razones sociales y de flujo de trabajo por las cuales una revisión tarda tanto.
La conclusión final
En resumen, el artículo sugiere que podemos construir un sistema inteligente para ayudar a los gerentes a priorizar su trabajo. Si un paquete tiene una etiqueta clara, un tamaño razonable y proviene de una buena fuente, el sistema puede decir: "Este parece seguro, revisémoslo primero". Pero cuando se trata de adivinar cuánto tiempo tomará una revisión o cuántas discusiones habrá, el sistema choca contra un muro. El artículo concluye que estas herramientas son mejores como un compañero útil para el juicio humano, no como un reemplazo del mismo. El futuro de esta tecnología podría mejorar si añadimos más pistas, como en qué están ocupados actualmente los revisores o cómo funciona realmente el código, pero por ahora, las pistas del "exterior de la caja" solo cuentan parte de la historia.
¿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.