Copilotos de IA: optimizar el desarrollo y la calidad
En este artículo, Justin Kuss, de Rackspace Technology, analiza los copilotos de AI y cómo las organizaciones deben adoptar estas herramientas de codificación impulsadas por AI para mejorar la productividad. Se necesita una nueva gobernanza corporativa, pero la tecnología será una ventaja para el desarrollo en todas partes.
Ya llegan los copilotos. A decir verdad, ya llegaron. El desarrollo asistido por AI, habilitado por copilotos impulsados por AI, será el modelo dominante. Es fácil contemplar los avances y sentir temor o ponerse a la defensiva, pero el impacto en la productividad generado por los copilotos impulsados por AI es revolucionario para nuestros empleados en el área de la tecnología. El desarrollo de software se ha visto sobrecargado por la complejidad y las adyacencias. Algo tenía que ceder. Sin ir muy lejos, hemos aplicado la metodología Shift Left a tareas de infraestructura, base de datos y seguridad, todo en nombre de la oportunidad. Nos hemos preparado para este momento. Y, aquí, es donde hemos llegado.
¿Qué es un copiloto de AI?
Un copiloto de AI en desarrollo de software es una herramienta que aprovecha la inteligencia artificial para ayudar a un programador humano mediante la automatización de partes del proceso de desarrollo. Las herramientas de generación de código han participado en el proceso de desarrollo durante muchos años a través de la finalización y las sugerencias de código. Sin embargo, más recientemente, estas herramientas ahora participan en tareas adicionales. Hoy en día, los copilotos utilizan procesamiento de lenguaje natural, análisis predictivos y programación basada en reglas para ayudar a agilizar el proceso de desarrollo al tiempo que garantizan la calidad.
Los casos de uso para codificar copilotos incluyen los siguientes:
- Las herramientas de finalización de código se incorporan directamente en muchos ambientes de desarrollo integrados (IDE), lo que optimiza el proceso de desarrollo al sugerir fragmentos de código y opciones de autocompletado específicas del lenguaje.
- La generación de código va un paso más allá al crear métodos y clases completos basados en el contexto existente o mediante el uso de un comentario como una indicación que describe la funcionalidad necesaria.
- Las herramientas de productividad de ingeniería ayudan a crear scripts y archivos de configuración que se usan durante el aprovisionamiento de recursos de infraestructura y la implementación de aplicaciones.
- Las herramientas de revisión de código sugieren optimizaciones, encuentran posibles errores, identifican vulnerabilidades en cuanto a la seguridad y hacen recomendaciones en lo que respecta a la resolución.
Algunos ejemplos de asistentes de codificación de AI incluyen los siguientes:
- GitHub Copilot automatiza la generación de código a través de la integración de IDE, se integra con el proceso de revisión de código y lo automatiza para sugerir optimizaciones.
- Amazon CodeWhisperer es una plataforma de codificación impulsada por machine learning y procesamiento del lenguaje natural (NLP). CodeWhisperer agrega automatización a gran parte del ciclo de vida del desarrollo de software, similar a GitHub Copilot, pero CodeWhisperer es capaz de generar una integración más profunda con soluciones específicas de Amazon Web Services.
- ChatGPT, probablemente el chatbot de AI de propósito general más popular hoy en día, puede generar o sugerir revisiones de código a través de su interfaz de chat o API.
Impacto
Las empresas ya están viendo beneficios del desarrollo asistido por AI a través de una mejor productividad de ingeniería. En marzo de 2023, Scott Guthrie, EVP de Nube y AI en Microsoft, compartió algunas estadísticas sobre cuánto impacto han observado. "Ahora estamos viendo que los programadores que usan GitHub Copilot son un 55 % más productivos con él en sus tareas, algo que midieron los estudios independientes. Y el 40 % del código que están revisando ahora es generado por AI y sin modificaciones".
Avancemos tres meses hasta junio de 2023, y el CEO de GitHub, Thomas Dohmke, entregó una métrica ligeramente revisada, afirmando que GitHub Copilot, en promedio, mejora la productividad de los programadores en un 30 %, en donde se incluyó en el estudio a casi un millón de programadores. Con vistas al 2030, Dohmke extrapola que "un aumento del 30 % en el rendimiento de 15 millones adicionales de programadores efectivos aumentará la capacidad a nivel mundial", acercándose a un aumento de US$ 1.5 billones en el PIB global.
Al mirar hacia el impacto combinado en el futuro, Dohmke, al igual que muchos otros, considera que los copilotos de AI son una extensión del personal de ingeniería. Los copilotos aumentan la eficacia y productividad de nuestros ingenieros, permitiendo tiempos de respuesta más rápidos en la finalización de tareas y reduciendo la cantidad de deuda técnica que agobia a muchas organizaciones. En consecuencia, a través de la integración responsable de los copilotos de AI, las organizaciones pueden mejorar los niveles de compromiso y fomentar una cultura de TI más sostenible que atraiga, desarrolle y retenga a los miembros del equipo.
Además, los copilotos impulsados por AI no solo benefician a los ingenieros de software. Las organizaciones pueden capacitar a los "expertos en tecnología empresariales" a través de soluciones de bajo código/sin código impulsadas por AI, lo que reduce aún más el tiempo de llegada al mercado, disminuye los costos y entrega soluciones más específicas. Según el New York Times, es probable que la tecnología sin código se convierta en una parte cada vez más importante del panorama de software en los próximos años. A medida que las cadenas de herramientas de bajo código/sin código adopten capacidades de AI, esto se acelerará, lo que permitirá a las personas con poca o ninguna experiencia de codificación crear aplicaciones poderosas.
Encontrar el equilibrio adecuado
Los líderes empresariales deben recordar que los copilotos son una herramienta que mejora la productividad de los ingenieros. En este momento, todavía es necesario que haya un ser humano en el proceso, para que revise y apruebe cualquier recomendación de código. Estos asistentes impulsados por AI son poderosos, pero no están exentos de fallas. Como vemos con otras herramientas generativas, la calidad del contenido creado puede variar y está sujeta a posibles "alucinaciones" o imprecisiones.
En todos los niveles de competencias, los ingenieros pueden beneficiarse de las herramientas de desarrollo asistidas por AI. Desde aprender un nuevo lenguaje de programación o paradigma, crear estructuras para un nuevo proyecto o sugerir un prototipo basado en requisitos, los copilotos reducirán la carga cognitiva en los ingenieros. Sin embargo, tenga en cuenta que el desarrollo asistido por AI ahora establece un nuevo estándar. En la actualidad, todos son al menos tan buenos programadores como el copiloto de AI. Si se usan de manera responsable, los copilotos son una parte integral del proceso creativo. Los copilotos con tecnología de AI no reemplazan a los trabajadores. Los programadores confían en los copilotos para tareas repetitivas y se centran en la resolución de problemas de mayor nivel que diferencian el negocio.
La mayoría de los algoritmos de AI mejoran gracias a una mayor exposición a los datos y las interacciones de los seres humanos en el proceso. Los ingenieros, por otro lado, ganan productividad y escala. El mecanismo de trabajo resultante es simbiótico, ya que ambas partes mejoran con el tiempo.
Sin embargo, las organizaciones deben permanecer atentas y mantener un alto grado de disciplina y estándar para la producción de software. Seleccionar qué tareas son adecuadas para los copilotos y cuáles aún requieren de una persona en el proceso para su supervisión depende de cada empresa.
Abordar la necesidad de gobernanza
Los líderes empresariales y tecnológicos deben dar prioridad a permitir que su personal adopte estas herramientas en evolución. A través de políticas efectivas y una comprensión sólida de la tecnología, las organizaciones que aprovechan la AI continuarán prosperando. Los marcos de gobernanza, como el Marco de Gestión de Riesgos de AI del NIST, empoderan a las organizaciones para gestionar los posibles riesgos asociados con la ingeniería de software asistida por AI, desarrollar confianza social y garantizar el desarrollo ético de productos.
Como parte del proceso de evaluación, las organizaciones deben ser conscientes de las posibles preocupaciones de confidencialidad, privacidad y seguridad inherentes a las interacciones de la AI. Los modelos de AI mejoran a través de mayores interacciones y uso, lo que aumenta su utilidad general. Las herramientas generalmente disponibles, como ChatGPT, por defecto aprenden a través de las indicaciones y datos que los usuarios proporcionan durante las interacciones, lo que aumenta el riesgo de exponer información confidencial o de propiedad privada. Es posible mitigar algunos riesgos construyendo o seleccionando herramientas que permitan el flujo de información en un solo sentido: aplicando un modelo entrenado a la indicación del usuario para producir un resultado sin incorporar la interacción en el bucle de retroalimentación de aprendizaje de la herramienta.
Los copilotos de AI son una tecnología emocionante con un enorme potencial. Las organizaciones están adoptando el potencial de los copilotos de AI y están empezando a idear e incubar posibles casos de uso.
< entidad-drupal data-align="left" data-embed-button="media_entity_embed" data-entity-embed-display="view_mode:media.full" data-entity-type="media" data-entity-uuid="ffc70d81-8bc0-42e9-b646-2faec089e354" data-langcode="en"> < /drupal-entity>
Aproveche el poder de la IA de forma rápida y responsable con Foundry for AI de Rackspace Technology (FAIR™). FAIR™ está a la vanguardia de la innovación global en IA, allanando el camino para que las empresas aceleren la adopción responsable de soluciones de IA. FAIR se alinea con cientos de casos de uso de IA en una amplia gama de industrias y, al mismo tiempo, permite la personalización mediante la creación de una estrategia de IA personalizada que se aplica a sus necesidades comerciales específicas. Capaces de implementarse en cualquier plataforma de nube pública privada, híbrida o de hiperescala, las soluciones FAIR empoderan a las empresas de todo el mundo al ir más allá de la transformación digital para desbloquear la creatividad, liberar la productividad y abrir la puerta a nuevas áreas de crecimiento para nuestros clientes.Siga a FAIR en LinkedIn.
Empiece de manera prematura y obtenga las ventajas de los copilotos de AI ahora
About the Authors
VP, Product and Architect for Application and Platform Modernization
Justin Kuss
Justin is an experienced IT professional with 18 years of expertise across various industries, including healthcare, technology, finance, education, and government. He specializes in assisting companies of all sizes in developing and implementing secure and sustainable technology modernization strategies. As the VP, Product and Architect for Application and Platform Modernization at Rackspace Technology, Justin leads the advancement of innovative solutions to keep businesses at the forefront of the ever-changing tech landscape.
Read more about Justin Kuss