
[04/03/2023] Intenté usar ChatGPT para resolver un problema de codificación común al trabajar en aplicaciones CRM y fusionar fuentes de datos de clientes. Le consulté a ChatGPT: "Dadas dos listas de nombres, escribe código Python para encontrar coincidencias cercanas de los nombres y calcular un ranking de similitud”. ChatGPT respondió: "Puede usar la biblioteca FuzzyWuzzy en Python para encontrar coincidencias cercanas y calcular rankings de similitud entre nombres”. Luego, ChatGPT mostró un código para interactuar con FuzzyWuzzy, e incluyó ejemplos para ayudar a demostrar los resultados.
Hay debates sobre cuán inteligente es ChatGPT, si puede escribir código seguro, y por qué debería atribuir sus fuentes. Pero la efectividad de ChatGPT está haciendo que muchas personas se planteen cómo la IA generativa cambiará el trabajo creativo de las personas en marketing, periodismo, artes y, también, desarrollo de software.
[Reciba lo último de CIO Perú suscribiéndose a nuestro newsletter semanal]
En los próximos tres años, la IA generativa, como ChatGPT y AlphaCode, tendrá un enorme impacto en la forma en que las organizaciones desarrollan aplicaciones, desde permitir ciclos de desarrollo más rápidos y eficientes hasta optimizar las experiencias del cliente, asegura David Ben Shabat, vicepresidente de investigación y desarrollo en Quali. "A medida que la IA continúe desarrollándose, las empresas podrán utilizar estos modelos para optimizar las experiencias del cliente, aumentar la participación del mismo, reducir los costos de servicio al cliente y los costos generales”.
Arjun Chandar, CEO de IndustrialML, agrega: "las herramientas de IA generativa harán que sea, al menos ligeramente, más factible usar el aprendizaje automático para una gama más amplia de aplicaciones en una mayor cantidad de dominios”.
ChatGPT ya llegó a más de 100 millones de usuarios, y Microsoft lo está incorporando en Bing y otras aplicaciones de Office. Entre otros competidores de IA generativa en las plataformas de búsqueda se encuentra Bard de Google, y los desarrolladores puede probar IA generadoras de código como AlphaCode y GitHub Copilot. Una gran cantidad de productos SaaS, plataformas tecnológicas y proveedores de servicios están integrando las capacidades de ChatGPT. Por ejemplo, Gigster introdujo la compatibilidad con la integración de ChatGPT, mientras que Equally AI lanzó Flowy, una plataforma de accesibilidad web impulsada por ChatGPT.
No le tema a la IA; aproveche sus capacidades
Si usted es desarrollador de software o ingeniero devops, es posible que experimente con herramientas de IA generativa y se pregunte qué significará para su profesión y cómo cambiará su trabajo.
"Las herramientas de IA generativa como ChatGPT han causado revuelo entre la comunidad de desarrolladores”, afirma Marko Anastasov, cofundador de Semaphore CI/CD. "Algunos temen que les quite el trabajo, mientras que otros prefieren ignorarlo. Ambas actitudes son erróneas porque, como hemos visto con GitHub Copilot, un desarrollador que integra la IA en su flujo de trabajo puede experimentar un aumento de productividad increíble”.
Tomemos mi ejemplo de CRM: me ahorró tiempo identificando una biblioteca útil de Python y mostrándome un ejemplo de codificación. El proceso aceleró mi descubrimiento, pero aún tendría que hacer el trabajo de evaluar los resultados e integrar el código en mi aplicación.
La IA generativa carece de contexto
¿Recuerda cuando instaló su primer Amazon Alexa o Google Assistant en casa, esperando que fuera tan inteligente y receptivo como la computadora de Star Trek? Estos ayudan en la realización de tareas simples, como configurar alarmas, agregar artículos a las listas de compras, compartir el pronóstico meteorológico o ponerlo al día sobre las noticias, pero es poco probable que respondan con precisión a preguntas más complejas.
Dan Conn, defensor de los desarrolladores de Sonatype, cree que es importante comprender el contexto de cómo se desarrollan y entrenan los algoritmos de IA. "Dado que la tecnología se basa en datos y no en la inteligencia humana, a veces el programa puede sonar coherente, pero no ofrece ninguna respuesta con fundamento crítico”, asegura.
Por ahora, la IA generativa puede ayudar a llenar los vacíos y acelerar la implementación de soluciones dentro del ciclo de vida del desarrollo de software, pero seguiremos necesitando desarrolladores que impulsen las experiencias apropiadas. "ChatGPT no tiene la capacidad de comprender el contexto humano de la informática para realizar correctamente la programación”, señala Conn. "Los ingenieros de software pueden agregar más detalles sobre el propósito del software que están creando y las personas que lo utilizarán. No se trata de un montón de programas salpicados junto con código regurgitado”.
Shanea Leven, cofundadora y CEO de CodeSee, afirma que "la ingeniería requiere muchas cosas que la IA no puede reemplazar -como el contexto-, lo que hace que sea casi imposible que la IA se cargue en un solo modelo, lo entrene, e incorpore la capacidad predictiva de los humanos que entienden lo que va a ser necesario en cinco años. Hay un montón de decisiones generales únicas de cada negocio que la IA simplemente nunca podrá manejar”.
Hace cinco años, escribí una publicación en la que me preguntaba si la IA puede aprender a codificar. Hoy, puede proporcionar ejemplos de programación; mañana, quizás los modelos de IA puedan ayudar a los ingenieros a responder preguntas sobre arquitecturas y patrones de diseño. Es difícil pensar que una IA pueda reemplazar todo el conocimiento, la innovación y las decisiones que toman los equipos de desarrollo de software al crear experiencias agradables para los clientes y flujos de trabajo productivos.
Una herramienta de productividad como el código bajo
El desarrollo de software cuenta con muchas mejoras generacionales en lenguajes y plataformas. Una gran cantidad de herramientas aumentan la productividad de un desarrollador, mejoran la calidad del código o automatizan aspectos de la canalización de entrega. Por ejemplo, las plataformas de código bajo y sin código pueden ayudar a las organizaciones a crear y modernizar más aplicaciones, pero todavía estamos codificando microservicios, desarrollando aplicaciones orientadas al cliente y creando capacidades de aprendizaje automático.
Suresh Sambandam, CEO de Kissflow, reconoce que "así como el código bajo y sin código no reemplazarán por completo a los desarrolladores e ingenieros de software tradicionales, OpenAI proporcionará herramientas útiles que eliminarán las tareas repetitivas y acelerarán el tiempo de comercialización para el desarrollo de aplicaciones”.
Un cambio de paradigma consiste en pasar de herramientas de búsqueda basadas en palabras clave, a otras que procesan consultas en lenguaje natural y dan respuestas útiles. Sambandam agrega: "al ingresar consultas en un lenguaje conversacional sencillo, ChatGPT puede generar automáticamente código de muestra repetitivo o sugerido para problemas, mucho más rápido de lo que cualquier desarrollador puede escribir y experimentar con código desde cero”.
"Vamos a ver un cambio tremendo, no solo en la productividad, sino también en cómo obtenemos nuestra información más rápido”, agrega Leven. "La IA permitirá a los desarrolladores sobrecargar las decisiones repetitivas que deben tomar los ingenieros, como preguntas generalizadas sobre un idioma”.
Mejora de las aplicaciones conversacionales
Los desarrolladores también deben considerar la manera en que ChatGPT eleva el nivel de las expectativas de los usuarios. El cuadro de búsqueda de palabras clave de su aplicación, que no está personalizado y responde con resultados decepcionantes, necesitará una actualización. A medida que más personas se sorprendan con las capacidades de ChatGPT, los empleados y clientes esperarán experiencias de búsqueda de IA con consultas en lenguaje natural y aplicaciones que respondan a las preguntas.
"Las IA generativas son muy prometedoras en las áreas de búsqueda y servicio de atención al cliente”, asegura Josh Perkins, CTO de campo en Ahead. "Estos modelos demuestran la realidad de la búsqueda compleja del lenguaje natural y la memoria contextual, lo que permitirá, probablemente muy pronto, responder a preguntas incluso matizadas en una conversación sin un representante de servicio al cliente”.
La IA generativa también puede mejorar el flujo de trabajo y permitir la hiperautomatización, conectando personas, automatización y capacidades de IA. Se me ocurren aplicaciones de salud inteligentes, donde los médicos pueden hacer preguntas a la IA sobre la condición de un paciente, la IA responde con pacientes similares, y la aplicación brinda opciones para los médicos que automatizan los procedimientos de pedido o las recetas.
"Las tecnologías de la IA generativa tienen una gran oportunidad de ser utilizadas para automatizar y mejorar varios aspectos del desarrollo de aplicaciones y el diseño de la experiencia del cliente”, afirma Sujatha Sagiraju, directora de productos de Appen.
Pero utilizar la IA generativa para impulsar cambios sistemáticos en los flujos de trabajo no es fácil. En el libro Power and Prediction: The Disruptive Economics of Artificial Intelligence, los autores contrastan la diferencia entre soluciones puntuales (como encontrar ejemplos de código) con soluciones de sistemas de IA que requerirán transformaciones más sustanciales.
Sagiraju señala: "la IA generativa aún requiere comentarios de personas reales para realizar ajustes y garantizar que el modelo funcione con precisión. Los datos y los seres humanos detrás de estos modelos definirán sus éxitos y fracasos”.
Selección de los dominios óptimos y prueba de las respuestas de calidad
Entonces, ¿dónde pueden aprovechar la IA generativa los desarrolladores de software actualmente? Es fácil ver su utilidad para encontrar ejemplos de codificación o mejorar la calidad del código. Pero los jefes de productos y sus equipos de desarrollo ágil deben probar y validar sus casos de uso antes de hacer que una IA generativa sea parte de su aplicación.
"El riesgo de que una IA no gestionada produzca contenidos inexactos o incompletos puede ser, en el mejor de los casos, algo molesto y, en otros casos, puede resultar increíblemente costoso, especialmente cuando se utiliza para el servicio al cliente o para representar una marca”, afirma Erik Ashby, jefe de producto en Helpshift. "Aunque al principio existirá la tentación de dejar que la IA se encargue de generar contenido, como un chatbot no supervisado, las marcas se darán cuenta rápidamente de que, para gestionar este riesgo, necesitan emplear una estrategia combinada en la que los humanos y la IA trabajen juntos”.
ChatGPT es más que un objeto brillante, pero como cualquier tecnología nueva, los desarrolladores y arquitectos de software tendrán que validar dónde, cuándo y cómo usar las capacidades de la IA generativa.
Basado en el artículo de Isaac Sacolick (InfoWorld) y editado por CIO Perú
Puede ver también: