Saltar al contenido

¿Está lista la IA como asistente de codificación? Opinión de DXC Technology

La inteligencia artificial generativa está entrando en cada vez más áreas, pero una de las más impactantes es la escritura de código. Según Remo Dentato, Italy Applications Service line Manager de DXC Technology, es verdaderamente «una tecnología disruptiva. La ventaja que puede ofrecer a los programadores es que los hace mucho más productivos». No reemplazará, como erróneamente se podría pensar, la necesidad de programadores, pero puede acelerar los «procesos de comprensión», especialmente en áreas completamente nuevas. Dentato menciona el uso de CodeWhisperer, el generador de código basado en IA de AWS, destacando también que los beneficios son evidentes «cuando el propósito es muy limitado». Como, por ejemplo, scripts para automatizar actividades en AWS.

IA para escribir código: ventajas y limitaciones

remo dentato

¿Sería capaz la IA de escribir un videojuego? Absolutamente sí, si por videojuego nos referimos a un simple clon de Snake sin grandes pretensiones. Sin embargo, si pedimos a la IA que escriba el código para un juego AAA, las limitaciones surgen inmediatamente. Dentato explica cómo en DXC Technologies la IA se utiliza como copiloto en la gestión de proyectos complejos, incluso en las fases que no requieren necesariamente programación. Una IA puede indicarte de inmediato si los requisitos especificados en el proyecto están bien pensados o, por el contrario, resultan ambiguos. «Un caso de uso que hemos desarrollado y probado», afirma Dentato, señalando también que en caso de dudas, la IA también es capaz de generar las preguntas a hacer al cliente para evitar perder tiempo y resolver la cuestión de la manera más rápida y sin ambigüedades.

Otro caso de uso mencionado por Dentato es el soporte para la comprensión del código. «A veces nos encontramos con clientes que nos piden trabajar en un software y descubrimos que la mayor parte del código está escrito utilizando un framework propietario, insertado por un proveedor anterior». En estos casos, a pesar de que la inteligencia artificial no conozca en absoluto el framework en cuestión, aún es capaz de utilizar sus funciones. Según Dentato, la IA puede adaptarse a nuevas situaciones, aunque los programadores luego deberán trabajar manualmente en el código generado en bruto. «También es capaz de crear diagramas y diagramas de flujo para añadir a la documentación del producto», afirma, añadiendo que los resultados generados por la IA no serán los que se utilizarán en la versión final, pero son un excelente punto de partida que permite ahorrar mucho tiempo.

Ajuste fino o entrenamiento adicional del modelo?

Los modelos genéricos de IA, como es fácil de imaginar, tienen sus limitaciones, y para adaptarlos a las necesidades específicas de cada empresa, es posible hacer un ajuste fino del modelo, adecuándolo o reentrenándolo por completo con datos propios. Esta última opción sería la más efectiva, pero tiene un costo «muy significativo». Pero ¿cómo se gestiona en estos contextos la privacidad? No estamos hablando de una base de datos, donde es posible «borrar» datos: en el caso de los modelos de IA, una vez entrenados, permanecen ahí, lo que representa un gran problema para las empresas que utilizan sus propios datos y no desean que salgan de sus sistemas. Para superar este problema, los hiperscaladores como Azure o AWS han desarrollado herramientas para permitir la integración de información confidencial pero manteniéndola «segregada» dentro de la instancia del cliente mismo, inaccesible para cualquier otro.

figure-1-4-improving-efficacy-of-ai-models

Estas herramientas pueden resultar útiles para optimizar los LLM en dominios específicos. Dentato explica cómo en su opinión GPT-4 es actualmente el mejor modelo disponible, pero al ser genérico, utiliza millones de parámetros para detalles que a menudo no son útiles en un ámbito específico. «Sabe todo sobre gatitos», bromea el manager, para hacer entender cómo parte del potencial se utiliza para proporcionar respuestas que no serán útiles para un desarrollador. Se puede optimizar reentrenando el modelo con datos relacionados con el contexto en el que se quiere operar, pero es necesario evaluar bien la conveniencia, dados los costos no precisamente insignificantes de una operación así. Los resultados en términos de productividad pueden ser realmente significativos, pero deben ser funciones extremadamente específicas para una sola empresa, porque «si se habla de funciones más generales, existe el riesgo de que alguien las introduzca en los modelos a un precio mucho más bajo» que el necesario para reentrenar el LLM.

¿Pero para qué lo utilizo?

Un aspecto que preocupa a Dentato es que «la IA se convierta en como la blockchain, es decir, una solución en busca de un problema». Esto se debe a que, aparte del caso de uso inicial (las criptomonedas), hemos presenciado a lo largo de los años intentos a veces forzados de integrar la blockchain y adaptarla a otros casos de uso. Por esta razón, DXC trabaja con sus clientes para entender sus necesidades y crear herramientas basadas en IA que aporten un valor real. Algo más que las respuestas genéricas que puede generar un ChatGPT, por ejemplo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *