Qué significa realmente el código generado por IA para el desarrollo.
El director ejecutivo de Anthropic afirma que la IA escribirá el 90 % del código en un plazo de 3 a 6 meses. Con un fuerte incentivo para afirmar cosas como esta, con una cifra y un plazo tan deslumbrantes, es probable que se considere más publicidad en una industria en la que abunda.
Pero sabemos que la cifra no es cero y no lo ha sido desde hace tiempo. Google afirma que la IA escribe el 25 % de su código . Es seguro asumir que estas cifras, sean cuales sean, están aumentando a medida que la adopción se vuelve aún más prolífica.
Entonces, si la IA escribe más, ¿los desarrolladores hacen menos?
Bueno, no es así como funciona, y hay tres razones principales para ello:
- La cantidad de código que genera la IA no es la cantidad de trabajo que les quita a los desarrolladores
- La IA escribe más código del necesario, lo que infla los números y su valor percibido.
- Gran parte del código escrito por IA no fue escrito por desarrolladores antes de la IA.
Vamos a desempacar esto.
La cantidad de código que genera la IA no es la cantidad de trabajo que les quita a los desarrolladores
Uno podría pensar que el hecho de que Google escriba el 25% de su código con IA significa que la IA ha creado el 25% de su software y que los desarrolladores ahora son responsables solo del 75%.
La realidad es otra.
Uso Github Copilot, y cuando autocompleta prácticamente las líneas de código que quería escribir con cierta fiabilidad, me encanta y me da un pequeño impulso. Técnicamente, la IA "escribe" un porcentaje bastante significativo del código. No me sorprendería que se midiera en el 50 % del código que escribo hoy solo con el autocompletado de la IA. Pero estoy ahí, pensando en el código y sembrándolo línea por línea.
La IA no consiste tanto en escribir el código como en simplemente tipearlo.
La IA también puede ser una bendición para mí cuando le pido que resuelva un problema difícil como crear una clase completa, una ruta de página, un componente, middleware, lo que sea, algo grande, para obtener su opinión y me ayuda a llegar a la solución deseada.
Editores como Cursor y Windsurf son editores de VSCode bifurcados que se crearon en torno a esa idea de codificar primero las indicaciones para escribir muchas funciones.
Puede producir resultados sorprendentes, pero a menos que estés bromeando, esos resultados aún requieren una revisión exhaustiva y numerosas revisiones, si no una revisión completa, para que funcione correctamente e integrarlo dentro del proyecto.
Entonces, incluso con todo el rigor necesario por parte de un experto experimentado (bueno… yo) para refactorizar el código, técnicamente la IA escribió un porcentaje muy alto del mismo.
La IA escribió el código. Mi esfuerzo sigue siendo tan minucioso como siempre.
La IA escribe más código del necesario, lo que infla los números y su valor percibido.
Cuando le dices a la IA que escriba código, lo hará. Intentará lograr exactamente lo que le pidas.
Ten cuidado con lo que deseas.
Estaba probando con Rive para reproducir una animación en una página web que permitía pasar el cursor, y le pedí a la IA que me guiara. Creó la página HTML e integró mi archivo de animación exportado. Luego, le indiqué que configurara controladores de desplazamiento del ratón para activar el efecto en la animación, porque pensé que lo necesitaría. Añadió código para ello. Ejecuté el código en el navegador y el efecto funcionaba, pero noté que aparecían mensajes de error en la consola.
La lógica del efecto de vuelo no funcionó en absoluto, pero el efecto de vuelo de Rive siguió funcionando. ¿Qué pasó?
Resulta que los efectos de desplazamiento de Rive ya estaban integrados en la máquina de estados de su animación. Estaba usando la IA como apoyo en lugar de leer la documentación (¡y comprobar lo mala idea que es!), y no se necesitaban controladores adicionales para activar el efecto de desplazamiento.
La IA no me dijo que estaba equivocado. No tiene ni idea. Intentó escribir el código que creía que quería. Y además, lo hizo parecer muy convincente.
Entonces, ¿hay otra razón por la que la cantidad de código escrito por IA está aumentando mientras los desarrolladores participan tanto como siempre? Hay más.
Se está escribiendo más código. Código que no debería haberse escrito.
Esto no es sólo una anécdota que estoy compartiendo con ustedes, sino una tendencia amplia validada por el análisis macro.
El análisis de código de GitClear detecta una cantidad creciente de código duplicado copiado y pegado en la salida de IA. Copiar y pegar ahora supera a mover. Esto significa que, en lugar de refactorizar y reutilizar el código, se duplica.
Esto da como resultado un mayor porcentaje de código escrito por IA (un dato interesante para Anthropic), pero una cifra inflada más de lo que debería ser como subproducto de confiar demasiado en los resultados de la IA, lo que da como resultado un software difícil de mantener que ha abandonado los principios DRY (no te repitas).
Gran parte del código escrito por IA no fue escrito por desarrolladores antes de la IA.
Los desarrolladores lo saben, pero les contaré a todos un pequeño secreto: antes de la IA generativa, los desarrolladores todavía no escribían completamente su propio código.
Redes como Stack Overflow permiten a los desarrolladores encontrar diferentes enfoques de código colaborativo para resolver problemas. Codepen muestra técnicas de front-end y proporciona su código completo, y Shadertoy hace lo mismo con los shaders para su uso en WebGL. Existían herramientas como Yeoman para crear rápidamente nuevos proyectos, y ahora herramientas como Vite para configurar plantillas de proyecto. Y, por supuesto, cada framework web es simplemente una abstracción sobre los clásicos HTML, Javascript y CSS para ayudar a los desarrolladores a escribir menos código repetitivo y crear experiencias web más potentes.
Así como algunos desarrolladores inexpertos se meten en problemas al usar código de IA a ciegas (confiando completamente en sus respuestas y no corrigiendo sus problemas), habría desarrolladores que cortarían y pegarían código textualmente de Stack Overflow, pensando que tenían una solución funcional pero creando todo tipo de problemas para sí mismos.
El desarrollo se centra menos en el origen de las líneas de código y más en la arquitectura bien pensada y su ensamblaje para crear una solución eficiente y funcional. Un buen desarrollador dedica su tiempo principalmente a esto último, por lo que si la IA escribe más código, se extrae de un ejemplo de Codepen o se proporciona mediante la documentación de un framework, la participación del desarrollador se mantiene constante.
Los desarrolladores son quienes cuentan historias. El código es solo el lenguaje.
La IA es una herramienta más entre muchas que ayudan a un desarrollador a llevar un resultado a la pantalla.
Su uso está aumentando porque destaca por ser rápido y personalizado según tus necesidades (y para bien o para mal, el uso de Stack Overflow está disminuyendo como resultado).
Pero regurgita enfoques que ya se han llevado a cabo, no construirá nada novedoso por sí solo y carece de curaduría humana.
Como ocurre con cualquier herramienta, los desarrolladores evaluarán estos pros y contras y se apoyarán en ellos cuando tenga sentido hacerlo para crear algo realmente excelente.
Las peores conclusiones que se pueden sacar de la creciente tendencia de la IA a escribir código.
Existe mucha presión en la industria para que cada organización sea vista como líder de la revolución de la IA.
Todos quieren ser percibidos como expertos en el manejo de una tecnología innovadora y asombrosa, gestionando con destreza los cambios rápidos que a otros les cuesta comprender. Y, ya sea preciso o significativo, el porcentaje de código escrito por IA está aumentando.
Esto hará que las personas tomen decisiones equivocadas para adelantarse rápidamente a la IA, o tomen decisiones equivocadas como reacción contra ella.
No establezca un objetivo específico para el código generado por IA en su organización.
El objetivo es la eficiencia. La IA es solo una herramienta más que puede ayudarte a lograrlo. Pero sabemos que la cantidad de código que escribe no es una medida de eficiencia. Lo peor que puedes hacer es pensar que aumentar el código que genera la IA para tu negocio te ahorrará dinero y reducirá la necesidad de desarrolladores.
Como hemos visto, un aumento en la dependencia del código generado por IA sin un escrutinio adecuado probablemente disminuirá su eficiencia con bases de código infladas que son más difíciles de mantener.
Fomentar la adopción de IA, no imponer resultados de IA.
Los equipos de desarrollo que opten por utilizar la IA en sus flujos de trabajo les permitirán encontrar las mejores maneras de potenciar su talento. Abrumar a un equipo con una orden descendente para que simplemente produzca más código generado por IA descuida sus capacidades y su valor.
No asuma que la importancia relativa de sus habilidades hoy será exactamente la misma en el futuro.
La programación con IA seguirá creciendo, beneficiando a sus usuarios; de lo contrario, nadie la usaría. Reduce las barreras de entrada a la programación y permite nuevas formas de aprender y experimentar. Es un sistema de autocompletado potente, y activarlo eficazmente es otra forma de ayudarte a resolver problemas complejos. Los desarrolladores que desarrollen sus habilidades junto con estas herramientas serán los más beneficiados.
Por ejemplo, recordar rápidamente y con precisión la sintaxis de un lenguaje de programación tras años de experiencia podría no ser tan útil cuando Copilot la completa automáticamente para todos sobre la marcha. En cambio, su capacidad para diseñar soluciones de producción, detectar problemas de rendimiento y seguridad, y proporcionar una comunicación y coordinación claras con el equipo podría ser más importante que nunca.
Aproveche las fortalezas de la IA, conozca sus desventajas y adáptese en consecuencia.
Cualquiera que sea el futuro que nos depare, sería un error adoptar una posición extrema, como la de que la IA reemplazará todo lo que hacen los desarrolladores, o la contraria, que la IA es inútil y pura publicidad.
Como ocurre con la mayoría de las cosas, la verdad real está en algún punto intermedio.
Fuente: traducido al español y tomado de Medium.com en inglés -
https://medium.com/@d.mcburney/generative-ai-is-writing-more-code-than-ever-so-do-we-still-need-developers-1fa16019ed7e
Escrito por:
Derek McBurney