Cargando...

Tecnología

Un estudio para saber cuánto tiempo ahorra la IA a los programadores revela cuánto les hace perder

Un equipo de programadores experimentados se enfrentó a 246 tareas, a la mitad de ellas con la ayuda de herramientas de IA para codificar

Un estudio para saber cuánto tiempo ahorra la IA a los programadores revela cuánto les hace perder. Alfredo Biurrun / ChatGPT.

Uno de los aspectos en los que las grandes tecnológicas alaban las capacidades de sus herramientas de inteligencia artificial es a la hora de crear código. Es uno de los puntos fuertes que suelen destacar con cada modelo de lenguaje que incorporan los chatbots como ChatGPT, Gemini o Claude. Sin embargo, un nuevo estudio viene a arrojar bastantes sombras sobre la utilidad de estas herramientas en la realidad diaria de los programadores. Lo más curioso es que la investigación fue planteada para descubrir cuánto tiempo les hacía ahorrar la IA y ha terminado por constatar el que les hace perder en su lugar.

Investigadores del laboratorio estadounidense METR (siglas de Model Evaluation and Threat Research o Evaluación de modelos e investigación de amenazas) formaron un equipo de 16 desarrolladores con años de experiencia trabajando en repositorios de código abierto y, de media, con un millón de líneas de código escritas por cada uno.

Tuvieron que realizar 246 tareas relacionadas con el mantenimiento de esos repositorios, como 'corregir errores, añadir funciones o hacer refactorizaciones que forman parte de su trabajo habitual'. La mitad de ellas con las herramientas de IA que quisieran, siendo las más utilizadas Cursor Pro (IA especializada en código) y Claude 3.5/3.7 Sonnet, los modelos más avanzados de Anthropic en el momento de la investigación.

Antes de meterse en faena, los desarrolladores esperaban que las herramientas de IA redujeran un 24 % el tiempo necesario para completar sus tareas. Tras terminarlas, seguían creyendo que habían sido un 20 % más rápidos gracias a la IA. Pero los datos reales mostraron lo contrario: las tareas con ayuda de IA tardaron un 19 % más en completarse.

El análisis del trabajo realizado reveló que la IA sí redujo el tiempo que los desarrolladores pasaban en algunas tareas como escribir código, hacer pruebas o 'leer/buscar información'. Sin embargo, ese ahorro quedó eclipsado por 'el tiempo dedicado a escribir prompts, revisar las respuestas de la IA y esperar a que generara código'.

En total, los desarrolladores tuvieron que realizar cambios en el 56% del código generado por la IA. Un 9 % del tiempo de las tareas asistidas por IA se dedicó a revisiones del código que generaba.

A primera vista, los resultados de METR contradicen otras pruebas que sí muestran mejoras en productividad al usar IA. Pero muchas de ellas, señalan los investigadores, se basan en métricas cuestionables -como el total de líneas de código, número de tareas completadas y otras que pueden ser indicadores deficientes- y en ejercicios sintéticos creados específicamente para la prueba, no en trabajo con código preexistente del mundo real.

Los desarrolladores que participaron en el estudio de METR señalaron que la complejidad de los repositorios (con una media de 10 años de antigüedad y más de un millón de líneas de código) limitó la utilidad de la IA. Esta no pudo utilizar 'conocimiento tácito importante o contexto' sobre el código base, mientras que la 'gran familiaridad de los desarrolladores con [los] repositorios' resultó clave para la eficiencia.

Por ello, los investigadores concluyen que las herramientas actuales de IA pueden ser poco adecuadas para 'configuraciones con estándares de calidad muy altos o con muchos requisitos implícitos (por ejemplo, relacionados con la documentación, la cobertura de pruebas o el formateo) que a los humanos les toma un tiempo considerable aprender'.

Aun así, los autores del estudio se muestran optimistas: creen que versiones más avanzadas y refinadas de estas herramientas podrán aportar mejoras futuras. Apuntan, por ejemplo, a la reducción de latencia, la mejora de la relevancia de las respuestas o el uso de técnicas como el prompt scaffolding y el fine-tuning. Pero, por ahora, el uso de la IA para programar sigue teniendo importantes limitaciones.