Los asistentes de programación han sido uno de los primeros casos de uso obvios en la fiebre del oro de la inteligencia artificial (IA) generativa, pero las mejoras de productividad prometidas se están quedando cortas, si es que existen.
Muchos desarrolladores afirman que los asistentes de codificación de IA les hacen más productivos, pero un estudio reciente se propuso medir su rendimiento y no encontró mejoras significativas. El uso de GitHub Copilot también introdujo un 41% más de errores, según el estudio de Uplevel, una empresa que proporciona información a partir de datos de codificación y colaboración.
El estudio midió el tiempo del ciclo de pull request (PR), o el tiempo para fusionar código en un repositorio, y el rendimiento de PR, el número de pull requests fusionadas. No se encontraron mejoras significativas para los desarrolladores que utilizan Copilot.
Uplevel, utilizando datos generados por sus clientes, comparó el rendimiento de unos 800 desarrolladores que utilizaron GitHub Copilot durante un período de tres meses con su rendimiento en un período de tres meses antes de la adopción.
Medición del agotamiento
Además de medir la productividad, el estudio de Uplevel analizó los factores de agotamiento de los desarrolladores, y descubrió que GitHub Copilot tampoco ha ayudado en este aspecto. La cantidad de tiempo de trabajo dedicado fuera de las horas estándar disminuyó tanto para el grupo de control como para el grupo de prueba que utilizaba la herramienta de codificación, pero disminuyó más cuando los desarrolladores no utilizaban Copilot.
El estudio de Uplevel fue impulsado por la curiosidad sobre las afirmaciones de grandes ganancias de productividad a medida que los asistentes de codificación de IA se vuelven omnipresentes, dice Matt Hoffman, gerente de Producto y analista de Datos de la compañía. Una encuesta de GitHub publicada en agosto reveló que el 97% de los ingenieros de software, desarrolladores y programadores afirmaban utilizar asistentes de codificación de IA.
“Hemos visto diferentes estudios de personas que dicen: ‘Esto es realmente útil para nuestra productividad’”, dice. “También hemos visto a algunas personas diciendo: ‘¿Sabes qué? Como que tengo que ser más revisor [de código]’”.
Un representante de GitHub Copilot no tenía un declaraciones sobre el estudio, pero dirigió el foco hacia un estudio reciente que dice que los desarrolladores fueron capaces de escribir código 55% más rápido utilizando el asistente de codificación.
El equipo de Uplevel también entró en su estudio esperando ver algunas ganancias de productividad, dice Hoffman.
“La hipótesis de nuestro equipo era que pensábamos que el tiempo del ciclo de relaciones públicas disminuiría”, insiste. “Pensamos que serían capaces de escribir más código, y en realidad pensamos que la tasa de defectos podría bajar porque estás usando estas herramientas de IA generativa para ayudarte a revisar tu código incluso antes de que lo saques”.
Hoffman reconoce que puede haber más formas de medir la productividad de los desarrolladores que la duración del ciclo de RP y el rendimiento de RP, pero Uplevel considera que estas métricas son una medida sólida del rendimiento de los desarrolladores.
Comprobar más tarde
Además, Uplevel no está sugiriendo que las organizaciones dejen de utilizar asistentes de codificación, porque las herramientas están avanzando rápidamente.
“Hemos oído que la gente está acabando siendo más revisores de este código que en el pasado, y puede que tengas cierta falsa fe en que el código está haciendo lo que esperas que haga”, añade Hoffman. “Hay que vigilar de cerca lo que se genera: ¿hace lo que se espera que haga?”.
En las trincheras, los equipos de desarrollo informan de resultados dispares.
Los desarrolladores de Gehtsoft USA, una empresa de desarrollo de software a medida, no han observado grandes aumentos de productividad con los asistentes de codificación basados en IA de grandes modelos lingüísticos (LLM), afirma Ivan Gekht, CEO de la empresa. Gehtsoft ha estado probando asistentes de codificación en entornos sandbox, pero aún no los ha utilizado con proyectos de clientes.
“Utilizar los LLM para mejorar su productividad requiere tanto que el LLM sea competitivo con un humano real en sus capacidades como que el usuario real sepa cómo utilizar el LLM de la forma más eficiente”, afirma. “El LLM no posee pensamiento crítico, autoconciencia ni capacidad de razonamiento”.
Hay una diferencia entre escribir unas pocas líneas de código y el desarrollo de software en toda regla, añade Gekht. Codificar es como escribir una frase, mientras que el desarrollo es como escribir una novela, sugiere.
“El desarrollo de software es una función cerebral al 90%: entender los requisitos, diseñar el sistema y tener en cuenta las limitaciones y restricciones”, añade. “Convertir todo este conocimiento y comprensión en código real es una parte más sencilla del trabajo”.
Al igual que el estudio de Uplevel, Gekht también considera que los asistentes de IA introducen errores en el código. Cada nueva iteración del código generado por la IA acaba siendo menos coherente cuando se desarrollan diferentes partes del código utilizando diferentes indicaciones.
“Cada vez es más difícil entender y depurar el código generado por la IA, y la resolución de problemas consume tantos recursos que es más fácil reescribir el código desde cero que arreglarlo”, afirma.
Beneficios
La experiencia del asistente de codificación en Innovative Solutions, un proveedor de servicios en la nube, es muy diferente. Según Travis Rehl, director de Tecnología de la empresa, ésta experimentando un aumento significativo de la productividad gracias a asistentes de codificación como Claude Dev y GitHub Copilot. La empresa también utiliza una integración propia de Anthropic para supervisar las solicitudes de extracción y validar la calidad del código.
Rehl ha comprobado que la productividad de los desarrolladores se ha multiplicado por dos o por tres, según la velocidad a la que completan las solicitudes, el tiempo de entrega a los clientes y la calidad de las solicitudes, medida por el número de errores en el código.
Recientemente, el equipo de Rehl completó un proyecto de un cliente en 24 horas gracias a los asistentes de codificación, cuando antes el mismo proyecto les habría llevado unos 30 días, afirma.
Sin embargo, algunas de las exageraciones sobre los asistentes de codificación -como la sugerencia de que sustituirán a equipos de desarrollo enteros en lugar de simplemente complementarlos o remodelarlos- no son realistas, afirma Rehl. Los asistentes de codificación pueden utilizarse para subcontratar código rápidamente u optimizar las rutas del código reelaborando segmentos del mismo, añade.
“Hay que moderar las expectativas en torno a los asistentes de codificación, porque no escribirán todo el código, ni siquiera todo el código correcto, en el primer intento”, afirma. “Es un proceso iterativo que, cuando se utiliza correctamente, permite a un desarrollador aumentar dos o tres veces la velocidad de su codificación”.
Read More from This Article: Los desarrolladores ganan poco (o nada) con los asistentes de codificación de IA
Source: News