2023 ha sido un año decisivo para los desarrolladores y IA generativa. Copiloto de GitHub graduó de su etapa de vista previa técnica en junio de 2022 y OpenAI lanzó ChatGPT en noviembre de 2022. Solo 18 meses después, según una encuesta de Sourcegraph, El 95% de los desarrolladores informan utilizan IA generativa para ayudarlos a escribir código. La IA generativa puede ayudar a los desarrolladores a escribir más código en un espacio de tiempo más corto, pero debemos considerar qué tan bueno puede ser eso.
Cuando hablamos de herramientas de inteligencia artificial para el desarrollo de software, en este momento eso significa principalmente ChatGPT y Copiloto de GitHubaunque hay competencia de bardo de google, Código de Amazon Whisperery Cody de Sourcegraph. Los desarrolladores están teniendo éxito al utilizar la IA generativa para abordar problemas de codificación comunes, repetitivos y de baja complejidad. Sin embargo, estos asistentes no logran comprender bases de código complejas, reconocer patrones intrincados y detectar problemas y vulnerabilidades complejos.
De acuerdo a Investigación preliminar realizada por GitHub sobre el uso de Copilot., los desarrolladores escriben código considerablemente más rápido y se perciben a sí mismos como más productivos, menos frustrados y más satisfechos. ¿Qué puede salir mal?
Código inseguro generado por IA
A estudiar de stanford aproximadamente al mismo tiempo descubrieron que los participantes que tenían acceso a un asistente de IA tenían más probabilidades de escribir código inseguro y más probabilidades de calificar sus respuestas como seguras en comparación con un grupo de control. Mientras tanto, un encuesta realizada por Sauce Labs descubrió que el 61% de los desarrolladores admite utilizar código no probado generado por ChatGPT, y el 28% lo hace con regularidad.
Por lo tanto, los desarrolladores escriben código más rápido y producen más con la ayuda de la IA generativa. Pero es más probable que escriban código inseguro, creyendo que es seguro, e incluso que lo pongan en producción sin realizar pruebas. En 2024, es probable que veamos las primeras grandes vulnerabilidades de software atribuidas al código generado por IA. El éxito del uso de herramientas de IA para crear software generará un exceso de confianza en los resultados y, en última instancia, una infracción que se achacará a la propia IA.
Para evitar tal experiencia, la industria en su conjunto necesita redoblar prácticas de desarrollo que garanticen que el código, escrito tanto por desarrolladores como por IA, sea analizado, probado y cumpla con los estándares de calidad y seguridad. Es importante que las organizaciones creen procesos que garanticen que el código se analice, pruebe y revise para que sea confiable, independientemente de cómo se haya creado.
Estas prácticas crean un margen para que los desarrolladores aprovechen los generadores de códigos de IA sin correr riesgos, tanto ahora como en el futuro. Es importante ahora porque las herramientas de IA generativa son nuevas y bastante rudimentarias y requieren mucha supervisión humana para guiarlas en la dirección correcta. También es importante en el futuro, ya que la IA generativa y la tecnología que la utiliza continúan evolucionando rápidamente. No sabemos cómo será en el futuro, pero sí sabemos que sin las herramientas y los procesos para mantener el código bajo control, es posible que no entendamos lo que estamos implementando.
Poner el foco en el código limpio
A medida que aumenta la adopción de herramientas de inteligencia artificial para crear código, las organizaciones tendrán que implementar los controles y equilibrios adecuados para garantizar que el código que escriben sea limpio: mantenible, confiable, de alta calidad y seguro. Los líderes tendrán que hacer código limpio una prioridad si quieren tener éxito.
El código limpio (código que es consistente, intencional, adaptable y responsable) garantiza un software de alta calidad durante todo su ciclo de vida. Con tantos desarrolladores trabajando en código al mismo tiempo, es imperativo que otro pueda entender y modificar fácilmente el software escrito por un desarrollador en cualquier momento. Con un código limpio, los desarrolladores pueden ser más productivos sin perder tanto tiempo descifrando el contexto o corrigiendo el código de otro miembro del equipo.
Cuando se trata de producción masiva de código asistida por IA, mantener un código limpio es esencial para minimizar los riesgos y la deuda técnica. Implementando un “limpia mientras codificas“El enfoque con pruebas y análisis adecuados es crucial para garantizar la calidad del código, ya sea que sea generado por humanos o por IA.
Hablando de humanos, no creo que los desarrolladores desaparezcan, pero la forma en que hacen su trabajo todos los días ciertamente cambiará. La forma en que los desarrolladores utilizarán la IA será tan simple y común como buscar en Google algo como un atajo. Hay mucho que explorar sobre el uso de la IA moderna, y debemos considerar el elemento humano a la vanguardia para comprobar los inconvenientes de la IA.
Al garantizar que el software generado por IA contenga código limpio, las organizaciones pueden evitar ser víctimas de posibles desventajas de la IA, como errores sutiles o fallas de seguridad, y pueden obtener más valor de su software de una manera predecible y sostenible. Esto no es negociable cuando el estatus y el futuro del desarrollo de software como profesión están estrechamente ligados a la integración de la IA.
La IA tiene un potencial transformador para el desarrollo de software, pero no debemos permitir que funcione sin controles, especialmente cuando las empresas digitales actuales dependen del software que la sustenta.
Phil Nash es un defensor de los desarrolladores de Sonar sirviendo a comunidades de desarrolladores en Melbourne y en todo el mundo. Le encanta trabajar con JavaScript o Ruby para crear aplicaciones y herramientas web que ayuden a los desarrolladores. Se le puede encontrar participando en reuniones y conferencias, jugando con nuevas tecnologías y API, o escribiendo código fuente abierto. Antes de trabajar en Sonar, fue evangelista principal de desarrolladores en Twilio.
—
Generative AI Insights proporciona un lugar para que los líderes tecnológicos, incluidos proveedores y otros contribuyentes externos, exploren y discutan los desafíos y oportunidades de la inteligencia artificial generativa. La selección es amplia, desde análisis profundos de tecnología hasta estudios de casos y opiniones de expertos, pero también subjetiva, basada en nuestro juicio sobre qué temas y tratamientos servirán mejor a la audiencia técnicamente sofisticada de InfoWorld. InfoWorld no acepta garantías de marketing para su publicación y se reserva el derecho de editar todo el contenido aportado. Contacto doug_dineley@foundryco.com.
Copyright © 2024 IDG Communications, Inc.