martes, abril 18, 2023

ChatGPT vs Desarrolladores junior



Hace algunos días atrás hablaba con un alumno en práctica que estuvo apoyando algunas de las cosas que hacemos. Me contaba sobre sus clases, en particular por el curso de #inteligenciaartificial que le toca este semestre. Según me decía, el profesor está muy en el hype de #ChatGPT , y les dio un discurso muy poco alentador.

Se refirió a los #desarrolladores "junior" con muy pocas esperanzas en el #mercadolaboral ya que según su visión:
"Los desarrolladores senior ahora van a resolver las tareas sencillas, que antes encomendaban a los desarrolladores junior, a través de una consulta hacia alguna #IA ."
En mi opinión, y probablemente con muchas menos credenciales académicas que el profesor, es que estos dichos son una afirmación que bordea lo irresponsable, por 2 grandes motivos:
  1. ChatGPT es un chatbot que utiliza un #LLM (Large Language Model), y la calidad de las respuestas tiene una correlación directa con la calidad de los prompts. Si la pregunta esta mal planteada, es esperable una respuesta de baja calidad. Peor aún, sin la debida auditoría y revisión de las respuestas generadas, existe una probabilidad no menor que nos enfrentemos a respuestas de ChatGPT que son imprecisas, o incluso en un peor caso, derechamente erróneas.
  2. Un profesor, académico de una universidad, de alguna manera es responsable de buena parte de la formación hacia el camino profesional de sus alumnos. Dicho esto, un profesor debiera (a lo menos como deseable) impulsar a sus alumnos en la carrera que hayan elegido, no a través del #FUD (Fear, Uncertainty, Doubt) sino motivándolos en la profundización de las materias. Alumnos en un promedio de 21 años de edad no necesariamente tienen la madurez suficiente para procesar de buena manera un discurso donde en resumen les dices que tras 4 años de estudio probablemente no hayan hecho la mejor elección.
Efectivamente hay mucho de idealista en mi visión sobre los académicos, sin embargo, tratando de ponerme en ese rol, me veo más como un mentor que como alguien que finalmente no está comprometido, más allá de lo laboral, con lo que está haciendo.

Y fue larga la conversación después. Traté de brindarle cierta tranquilidad, explicándole que ChatGPT, así como un buen número de chatbots, son antes que todo HERRAMIENTAS, así como un serrucho o un martillo, pensadas en ASISTIR a los usuarios que generamos prompts.

Llegamos a la pregunta, a estas alturas existencial, ¿qué es la inteligencia? o si la reformulamos ¿qué entendemos por inteligencia? Y podemos llegar a una especie de respuesta (muy incompleta por lo demás), que probablemente NO nos dejará tranquilos:
"Entendemos por #inteligencia a la capacidad de recopilar, interpretar, entender, relacionar y procesar #información , de modo de poder generar respuestas coherentes a preguntas bien fundadas."
Entonces, bajo esa definición ChatGPT es "inteligente", sobretodo considerando la cantidad de información con la cual fue alimentado el modelo, y la velocidad con la cuál es capaz de entregar una respuesta a una buena pregunta. Nótese que estoy hablando simplemente de respuestas y no implícitamente buenas respuestas.

Y también tocamos un poco de antecedentes históricos. La revolución industrial, y más adelante las cadenas de producción de Ford (1910-1920) generaron inquietud entre los trabajadores:
"¿Las máquinas nos van a reemplazar?"

Imaginen cuál fue la sensación de los trabajadores de General Motors cuando se implementaron las 1eras cadenas de producción usando robots de ensamblaje, a eso de 1960.

Probablemente ya nos estemos enfrentando a una nueva revolución industrial.

Como resultado de esto estuve leyendo bastante; aparte que los contenidos curados de varias newsletters a las que estoy suscrito me bombardearon con el tema; y llegue a 3 recursos que quisiera compartir:
  1. El primero, https://loige.co/the-senior-dev/ , lectura extensa y sin embargo lejos la mejor visión que he leído últimamente de lo que es y hace un #desarrolladorsenior .
  2. El segundo es uno de los tantos artículos que trata de "entregar tranquilidad/generar inquietud" respecto a la pregunta si las IA van a reemplazar nuestros puestos de trabajo; a estas alturas el tema se ha vuelto un cliché clásico entre muchos quienes escribimos un blog: https://levelup.gitconnected.com/are-programmers-getting-replaced-by-ai-gpt-4s-top-strategies-to-future-proof-your-coding-career-a5a2d4ba95ed
  3. Y finalmente el tercero es un video de #IBM (un santo que no es de mi devoción por otros motivos): https://www.youtube.com/watch?v=r4kButlDLUc Risks of Large Language Models (LLM), o como me gusta decirlo a mi "Dónde se caen los LLMs y porqué puede que no sean la herramienta que necesitas".
Para muchas gerencias TI ChatGPT se ha vuelto un poco como los microservicios, todos creen que son la solución y respuesta a todos los problemas de desarrollo de una organización, y tienden a pasar por alto los muchos problemas y dificultades que puede significar su adopción de manera impulsiva e irresponsable.

Seguramente habrán escuchado o leído la frase:
"Cuando la única herramienta que tienes es un martillo, todos los problemas parecen un clavo."
Al paso que vamos ChatGPT (y en general todos los chatbots entrenados con algún LLM) se están empezando a convertir en el único martillo que muchos quisieran ver.