La inteligencia artificial está creciendo en su papel como asistente de desarrollo y pruebas.

La inteligencia artificial está expandiendo su función como asistente en desarrollo y pruebas.

Código en la pantalla

¿Harán los “TuringBots” – o asistentes de desarrollo y prueba potenciados por IA – que la programación sea más placentera tanto para desarrolladores profesionales como ciudadanos? Estos bots de IA generativa ya están rediseñando e inyectando más productividad en los procesos de desarrollo, coinciden los observadores de la industria. Al mismo tiempo, los desarrolladores no pueden depender al 100% de la IA. Deben existir habilidades humanas en el proceso.

Ejemplos de tales asistentes de desarrollo y prueba de IA incluyen GitHub Copilot para codificación y Test Rigor para pruebas automatizadas inteligentes. Estos asistentes, basados en IA generativa y modelos de lenguaje amplio, “han convertido el lenguaje natural en un mecanismo de autoría clave para las herramientas en todo el ciclo de vida del desarrollo de software”, afirman los analistas de Forrester John Bratincevic y Diego Lo Giudice en un artículo reciente.

También: AI en 2023: Un año de avances que no dejó intacto ningún aspecto humano

El uso de estos asistentes de desarrollo y prueba “aumentará drásticamente la adopción de low-code”, predicen. “Esto es especialmente cierto para el desarrollo ciudadano”, agregan. Estos asistentes “facilitarán el proceso de formación de los trabajadores no técnicos como desarrolladores ciudadanos, de manera más rápida y sencilla”.

Con esta facilidad para escribir código viene una velocidad increíble en el proceso de escritura. “Uno de nuestros ingenieros de plataforma, que no tenía experiencia en escribir aplicaciones web frontend, pudo alimentar una hoja de cálculo con datos y crear una aplicación web interna fácil de usar en cuestión de minutos mediante el aprovechamiento de la IA generativa”, relata Mike Lempner, jefe de ingeniería y tecnología en Mission Lane, una empresa fintech. “Incluso el ingeniero de frontend más experimentado hubiera tardado varias horas en escribir el código, probarlo e implementar algo de esta naturaleza”.

Como beneficio adicional, “automatizar la escritura de código puede liberar la capacidad de los ingenieros para centrarse más tiempo en el diseño y la arquitectura”, dice Lempner. “Se seguirá necesitando un buen diseño y arquitectura para permitir que la IA generativa construya las soluciones adecuadas para su entorno”.

También: ENBLE analiza la tecnología en 2023 y mira hacia 2024

La IA generativa representa un gran avance en este proceso “porque casi cualquier persona puede pedirle a la IA que produzca un programa funcional”, dice Patrick Stokes, vicepresidente ejecutivo de productos y marketing de industrias de Salesforce. “El resultado es órdenes de magnitud más rápido que si intentaran escribir el código ellos mismos. En lugar de pasar horas escribiendo ese código, pueden pasar ese tiempo probándolo, asegurándolo y ajustando sus interfaces para satisfacer mejor a sus usuarios. El resultado son aplicaciones de mayor calidad en mucho menos tiempo, producidas por personas que inevitablemente estarán aún más cerca de la experiencia del usuario final”.

El desarrollo basado en IA generativa revierte la dinámica de las interfaces humano-máquina, agrega Stokes. En lugar de “requerir que los humanos piensen como una computadora”, permite que “los humanos escriban código como humanos, empoderando a más personas para construir cosas más rápidamente”.

Apenas estamos comenzando “a darnos cuenta de cómo la IA puede mejorar la experiencia del desarrollador y el software en su conjunto”, coincide Dana Lawson, vicepresidenta senior de ingeniería en Netlify. “La IA puede automatizar las tareas tediosas pero necesarias del desarrollo de software para que los desarrolladores humanos puedan tener más tiempo para enfocarse en un trabajo creativo y de impacto”.

También: Estos 5 avances tecnológicos importantes de 2023 fueron los más impactantes

Los desarrolladores “ya están experimentando con la incorporación de IA a sus flujos de trabajo para hacer cosas como revisar solicitudes de extracción, limpiar documentos y crear esquemas de proyectos”, agrega Lawson. “La IA es divertida de experimentar y, cuando se aplica de la manera correcta, ofrece beneficios tangibles para la experiencia del desarrollador”.

El procesamiento de lenguaje natural está evolucionando hacia un habilitador clave de las capacidades de bajo código, comenzando con una indicación inicial y viendo el resultado, observan Bratincevic y Lo Giudice. Los proveedores de bajo código están incorporando indicaciones de lenguaje natural en sus ofertas, agregan. “Las indicaciones de lenguaje natural se convertirán en un método normal y complementario para interactuar con las herramientas visuales requeridas”.

La codificación basada en IA generativa también ayuda a reducir la redundancia. “Puede ser un asistente para un desarrollador y puede ampliar sus propias habilidades humanas”, dice Leon Kallikkadan, vicepresidente de tecnología en Atrium. “Por ejemplo, si un desarrollador no quiere escribir el código ellos mismos, pueden, de manera sencilla y natural en lenguaje humano, decirle a la IA que escriba el código, indiquen cuál es su función y lo que necesita hacer. La IA puede ir línea por línea y crearlo. Puedes usar la IA para escribir el código, ejecutarlo, encontrar errores, corregir el código, hacer más correcciones y desarrollar un código aceptable”.

También: Cómo usar ChatGPT para escribir código

Como asistente, la IA generativa “puede sugerir formas alternativas, códigos alternativos para usar”, continúa Kallikkadan. “Uno de los principales beneficios desde el punto de vista empresarial es que se pueden desarrollar prácticas unificadas y mejores para la codificación como resultado de la IA. Dependiendo del desarrollador o tienda de desarrollo que utilices, pueden producir diferentes principios de codificación. Con la IA, ahora es posible obtener un código generado por IA estandarizado si estas mejores prácticas son fundamentales para la forma en que se escribe el código”.