Los asistentes de programación fueron un uso temprano de la IA generativa en los negocios, pero las mejoras de productividad prometidas no están a la altura, si existen. De hecho, muchos desarrolladores afirman que los asistentes de codificación los hacen más productivos, un estudio reciente, basado en la medición precisa de estas supuestas ganancias, es mucho más reservado. Detectar cualquier progreso significativo. Según esto estudiar D'Suplevel, una compañía que proporciona análisis para los gerentes de equipos de ingeniería, el uso de GitHub Copilot también presenta el 41 % de los errores adicionales.

El estudio ha medido el tiempo de ciclo de las solicitudes de extracción, es decir, el tiempo necesario para fusionar el código en un depósito y su número. Y no detecta ninguna mejora significativa para los desarrolladores que usan copilot. Al utilizar los datos generados por sus clientes, UpBelvel comparó la producción de alrededor de 800 desarrolladores utilizando el copiloto de GitHub durante un período de tres meses en un nivel de referencia, basado en un período de tres meses antes de la adopción de esta herramienta.

Asistentes con uso ya generalizado

Además de evaluar la productividad, el estudio examina los factores de agotamiento de los desarrolladores y cree que el copiloto de GitHub no mejora la situación en este terreno. El tiempo de trabajo que pasó fuera de las horas normales ha disminuido tanto para el grupo de control como para los usuarios asistentes, pero disminuyó más cuando los desarrolladores no usaron copiloto.

El estudio de UPLevel fue motivado por la curiosidad despertada por las afirmaciones de que los asistentes de codificación basados ​​en la IA están pidiendo que se vuelvan omnipresentes, explica Matt Hoffman, gerente de productos y analistas de datos dentro de la empresa. Según una encuesta de GitHub, publicada en agosto, el 97 % de los ingenieros de software y desarrolladores ya usan asistentes de programación.

Un representante de GitHub Copilot no hizo comentarios sobre el estudio de Uplevel, sino que se refirió a otro investigación Mostrando que los desarrolladores pudieron escribir un 55 % más rápidamente usando un asistente. El nivel UPIVEL también esperaba ganancias de productividad al lanzar su estudio, subraya Matt Hoffman. "Pensamos que el tiempo de ciclo de las solicitudes disminuiría", explica. "Pensamos que los desarrolladores podrían escribir más código y que la tasa de defectos podría disminuir debido al uso de estas herramientas de IA generativas para ayudar a revisar el código antes de la publicación". Sin embargo, el gerente de nivel superior reconoce que tal vez hay otras formas de medir la productividad de los desarrolladores que el tiempo de ciclo y el débito de las solicitudes de suéter, pero considera que estos parámetros constituyen una medida sólida de la productividad de los desarrolladores. Sin embargo, UpBelvel no sugiere que las empresas dejen de usar asistentes de programación porque estas herramientas están progresando rápidamente.

Más tiempo para verificar el código generado

En el campo, los equipos de desarrollo informan resultados mixtos. Los desarrolladores de Gehtsoft USA, una empresa de desarrollo de software, no han observado ganancias de productividad significativas con los asistentes basados ​​en modelos de idiomas principales (LLM), explica Ivan Gekht, CEO de la compañía. Gehtsoft probó asistentes de codificación en entornos de tipo Sandbox, pero aún no los ha usado para proyectos de clientes. "Se vuelve cada vez más difícil entender y depurar el código generado por la IA, y esta revisión se vuelve tan codiciosa en los recursos que es más fácil reescribir el código de cero que repararlo", dice Ivan Gekht. Según él, cuando se desarrollan diferentes partes del código utilizando una solicitud diferente, cada nueva iteración del código generado por AI se vuelve cada vez menos consistente.

"El uso de LLM para mejorar la productividad requiere tanto que el LLM sea competitivo en relación con las capacidades humanas y que el usuario sabe cómo usar el LLM de la manera más efectiva posible. El LLM no tiene pensamiento crítico, ni la autoconciencia, ni la capacidad de reflexión", subraya el CEO. Y para agregar que hay una diferencia real entre escribir algunas líneas de código y el desarrollo del software por derecho propio. "La codificación es como escribir una oración, mientras que desarrollar es como escribir una novela", ilustra Ivan Gekht.

"El desarrollo del software está compuesto por 90 % de funciones cerebrales: comprender los requisitos, diseñar el sistema y tener en cuenta los límites y restricciones", dice el gerente. Convertir todo este conocimiento y esta comprensión en el código es solo la parte más simple del trabajo. Al igual que el estudio de Uplevel, Ivan Gekht también considera que los asistentes de IA introducen errores en el código.

Ganancias medibles para algunos

La experiencia de la codificación de asistentes en Innovative Solutions, un proveedor de servicios en la nube, es muy diferente. La compañía señala que la productividad significativa obtiene gracias a asistentes de codificación como Claude Dev y Github Copilot, explica Travis Rehl, su director técnico. La compañía también utiliza la integración de la casa antrópica para monitorear las solicitudes de extracción y validar la calidad del código.

Travis Rehl descubrió que la productividad de los desarrolladores ha aumentado en dos o tres, dependiendo de la velocidad con la que se han tratado los boletos de los desarrolladores, el tiempo de entrega para entregables a los clientes y la calidad de los boletos, medido por la cantidad de errores en el código. El equipo de CTO recientemente completó un proyecto de cliente en 24 horas usando asistentes, mientras que el mismo proyecto le habría llevado aproximadamente 30 días antes, según sus estimaciones.

Sin embargo, según Travis Rehl, parte de los medios de comunicación arrojó a los asistentes de programación, como la sugerencia de que reemplazarán a los equipos de desarrollo enteros en lugar de simplemente completarlos o remodelarlos, no es realista. Los asistentes pueden usarse para subcontratar rápidamente el código u optimizar ciertos lados mediante la reelaboración de segmentos, explica. "Las expectativas para los asistentes deben estar templadas. Estas herramientas no escribirán todo el código, o incluso un código correcto la primera vez. Es un proceso iterativo que, cuando está bien controlado, permite que un desarrollador multiplique por dos o tres su velocidad de producción de código.» »