Búsqueda de sitios web

¿Puede Copilot AI de GitHub devolverle la diversión a ser desarrollador?


Los investigadores de GitHub comparan la rapidez con la que los desarrolladores pueden codificar con la asistencia de IA de Copilot frente a un grupo que confía en las prácticas estándar de los desarrolladores.

En una misión para medir la productividad de los desarrolladores asistida por IA, los investigadores de GitHub realizaron recientemente un experimento comparando las velocidades de codificación de un grupo que utiliza su herramienta de finalización de código Copilot versus un grupo que depende únicamente de la capacidad humana. 

GitHub Copilot es un servicio de programación de pares de IA que se lanzó públicamente a principios de este año por 10 dólares por usuario al mes o 100 dólares por usuario al año. Desde su lanzamiento, los investigadores han sentido curiosidad por saber si estas herramientas de IA realmente se traducen en un impulso a la productividad de los desarrolladores. El problema es que no es fácil identificar las métricas adecuadas para medir los cambios en el desempeño. 

Copilot se utiliza como una extensión para editores de código, como VS Code de Microsoft. Genera sugerencias de código en múltiples lenguajes de programación que los usuarios pueden aceptar, rechazar o editar. Las sugerencias las proporciona el Codex de OpenAI, un sistema que traduce el lenguaje natural en código y se basa en el modelo de lenguaje GPT-3 de OpenAI. 

VER: ¿Qué es la codificación y para qué se utiliza? Una guía para principiantes

Google Research y el equipo Google Brain concluyeron en julio, después de estudiar el impacto de las sugerencias de código de IA en la productividad de más de 10.000 de sus propios desarrolladores, que el debate sobre la velocidad relativa del rendimiento sigue siendo una "cuestión abierta". Esto a pesar de concluir que una combinación de motores semánticos tradicionales basados en reglas y grandes modelos de lenguaje, como Codex/Copilot, "puede usarse para mejorar significativamente la productividad de los desarrolladores con una mejor finalización del código". 

Pero ¿cómo se mide la productividad? Otros investigadores a principios de este año, utilizando una pequeña muestra de 24 desarrolladores, descubrieron que Copilot no necesariamente mejoraba el tiempo de finalización de la tarea o la tasa de éxito. Sin embargo, descubrió que Copilot ahorró a los desarrolladores el esfuerzo de buscar en línea fragmentos de código para resolver problemas particulares. Este es un indicador importante de cuánto puede reducir una herramienta de inteligencia artificial como Copilot los cambios de contexto, cuando los desarrolladores entran y salen de un editor para resolver un problema.    

GitHub también encuestó a más de 2600 desarrolladores y les hizo preguntas como: "¿La gente siente que GitHub Copilot los hace más productivos?" Sus investigadores también tuvieron el beneficio de un acceso único a datos de telemetría a gran escala y publicaron la investigación en junio. Entre otras cosas, los investigadores encontraron que entre el 60% y el 75% de los usuarios se sienten más satisfechos con su trabajo cuando usan Copilot, se sienten menos frustrados al codificar y pueden concentrarse en un trabajo más satisfactorio.

"En nuestra investigación, vimos que GitHub Copilot admite tiempos de finalización más rápidos, conserva la energía mental de los desarrolladores, les ayuda a concentrarse en un trabajo más satisfactorio y, en última instancia, a encontrar más diversión en la codificación que hacen", dijo GitHub.

La investigadora de GitHub, Dra. Eirini Kalliamvakou, explicó el enfoque: "Realizamos múltiples rondas de investigación que incluyeron datos cualitativos (perceptivos) y cuantitativos (observados) para armar el panorama completo. Queríamos verificar: (a) ¿Las experiencias reales de los usuarios confirman ¿Qué inferimos de la telemetría? (b) ¿Nuestra retroalimentación cualitativa se generaliza a nuestra gran base de usuarios?

Kalliamvakou, que participó en el estudio original, ahora lo ha ampliado con un experimento en el que participaron 95 desarrolladores que se centró en la cuestión de la velocidad de codificación con y sin Copilot.

Esta investigación encontró que el grupo que utilizó Copilot (45 desarrolladores) completó la tarea en promedio en 1 hora y 11 minutos. El grupo que no utilizó Copilot (50 desarrolladores) lo completó en un promedio de 2 horas y 41 minutos. Entonces, el grupo con Copilot fue un 55% más rápido que el grupo sin él. 

Kalliamvakou también encontró que un mayor porcentaje del grupo con Copilot completó la tarea: el 78% del grupo con Copilot versus el 70% en el grupo sin Copilot.

El estudio es de naturaleza limitada porque solo comparó las velocidades de los desarrolladores al codificar un servidor web en JavaScript y ninguna otra tarea que involucrara otros lenguajes como Python o Java. Además, no evaluó la calidad del código. 

Y el experimento no analizó factores que contribuyen a la productividad, como el cambio de contexto. Sin embargo, un estudio anterior de GitHub encontró que el 73% de los desarrolladores informaron que Copilot les ayudó a mantenerse en el flujo. 

En un correo electrónico, Kalliamvakou explicó a ZDNET lo que significaba esta cifra en términos de cambio de contexto y productividad del desarrollador.  

"Informar 'permanecer en el flujo' ciertamente implica menos cambio de contexto, y tenemos evidencia adicional. El 77% de los encuestados informaron que, cuando usan GitHub Copilot, pasan menos tiempo buscando", escribió.

"La declaración mide un cambio de contexto conocido para los desarrolladores, como buscar documentación o visitar sitios de preguntas y respuestas como Stack Overflow para encontrar respuestas o hacer preguntas. Con GitHub Copilot trayendo información al editor, los desarrolladores no necesitan salir del IDE con tanta frecuencia", explicó. 

Pero el uso exclusivo del cambio de contexto para medir la productividad mejorada a partir de sugerencias de códigos de IA no puede mostrar el panorama completo. También hay cambios de contexto "buenos" y "malos", lo que dificulta medir el impacto del cambio de contexto. 

VER: Científico de datos versus ingeniero de datos: cómo está cambiando la demanda de estos roles

Durante una tarea típica, los desarrolladores cambian mucho entre diferentes actividades, herramientas y fuentes de información, explicó Kalliamvakou.  

Señaló un estudio publicado en 2014 que encontró que los desarrolladores dedican un promedio de 1,6 minutos a una actividad antes de cambiar, o cambian un promedio de 47 veces por hora. 

"Eso se debe simplemente a la naturaleza de su trabajo y a la multitud de herramientas que utilizan, por lo que se considera un cambio de contexto "bueno". En contraste, hay un cambio de contexto "malo" debido a retrasos o interrupciones", dijo.

"En nuestra investigación anterior descubrimos que esto perjudica mucho la productividad, así como la propia sensación de progreso de los desarrolladores. El cambio de contexto es difícil de medir, porque no tenemos una buena manera de distinguir automáticamente entre "bueno" y "malo". "instancias, o cuando un cambio es parte de completar una tarea o causa una interrupción en el flujo y la productividad de los desarrolladores. Sin embargo, hay formas de medir el cambio de contexto a través de autoinformes y observaciones que utilizamos en nuestra investigación". 

En cuanto al desempeño de Copilot con otros lenguajes, Kalliamvakou dice que está interesada en realizar experimentos en el futuro.

"Ciertamente fue un experimento divertido. Estos experimentos controlados requieren bastante tiempo mientras intentamos hacerlos más grandes o más completos, pero me gustaría explorar la posibilidad de realizar pruebas en otros idiomas en el futuro", dijo. 

Kalliamvakou publicó otros hallazgos clave de la encuesta a gran escala de GitHub en una publicación de blog que detalla su búsqueda para encontrar las métricas más adecuadas para medir la productividad de los desarrolladores.  

Artículos relacionados