Leía en Harvard Business Review un artículo reciente sobre el desempeño de trabajadores Junior usando Inteligencia Artificial y qué características generan más valor en las organizaciones. El artículo se titula Why Some Junior Employees Work Well with AI—and Others Don’t? (¿Por qué algunos trabajadores junior trabajan bien con la IA y otros no?).
Alli se menciona un estudio desarrollado en conjunto por KPMG y la Universidad de Texas, el cual consistió en 523 profesionales junior, con menos de 18 meses de antigüedad, a quienes se les asignaron tareas usando IA. El análisis realizado clasificó los profesionales en tres grupos, según sus resultados:
Los «aprendices» (24.1 %) sus resultados estuvieron por debajo del nivel de referencia de la IA.
Los «delegadores» (25.8 %) sus resultados son comparables al nivel de referencia de la IA.
Los «amplificadores» (50.1 %) sus resultados superaron el nivel de referencia de la IA.
Los aprendices, en su mayoría, estaban mejor preparados en las tres dimensiones, pero sus resultados fueron inferiores.
Inicialmente se creía que las habilidades importantes para trabajar con IA eran i) pensamiento crítico, ii) conocimientos especializados en el área y iii) alfabetización en IA. Pero los resultados contradicen esa expectativa y lo que hace la diferencia es la manera como se trabaja, la manera como se usa la IA en cada tarea:
Los aprendices se limitaron a pedirle a la IA hacer tareas elementales y casi irrelevantes y aceptar el resultado sin revisar en detalle.
Los delegadores, en cambio, especificaron muy bien la tarea y el resultado esperado, pero no hicieron un verificación de ese resultado.
Los amplificadores, en cambio, usaron la IA como un crítico de su trabajo, como un "socio intelectual" (thought partner), cuestionando, buscando alternativas diferentes y generando todo el valor que supone la tecnología.
Si bien el estudio estaba centrado en la búsqueda y contratación inicial de talento junior y su desarrollo dentro de las organización, estos resultados son muy importantes y orientadores desde un punto de vista de la educación, en especial la educación universitaria. Es importante observar, analizar, sistematizar, teorizar sobre cómo usan la IA los estudiantes y si ese uso es sostenible en el tiempo, es decir, si ese "aprender a usar la IA" es repetible a través del tiempo y de contextos diferentes.
Como ya se ha escrito en otras entradas, el desafío es la educación, es ahí donde debemos hacer los ajustes para que el futuro sea mejor y un robot no desplace la humanidad...
El primer semestre de este año leí varios artículos que sugieren el fin de la programación de computadores o, por lo menos, sugieren una transformación profunda que incluye el desuso de los lenguajes de programación. Por eso titulo esta entrada como una pregunta y no como una afirmación, para contrastar un poco con los gurúes que insisten en enterrar la programación de computadores, incluso algunos que jamás programaron en su vida.
1) El concepto de abstracción y la evolución del software en capas de abstracción, como la arquitectura de cebolla. Cada capa interior es más compleja para el humano y cada capa exterior es más sencilla para el humano. La capa más interna es lenguaje ensamblador y en la actualidad Python es, aparentemente, más sencillo, pero internamente usa C++ y siempre hay ensamblador... Con la inteligencia artificial, casi que se logra la singularidad y hoy basta con saber escribir (en inglés) para indicarle a la máquina lo que debe hacer. Es decir, la programación de computadores murió y basta con saber leer, escribir y pensar...
2) Los conceptos de programación declarativa y programación imperativa. De la mano con la primera idea, ya no es necesario saber cómo hacer algo, simplemente hay que declarar lo que se quiere y la inteligencia artificial lo hará. Es algo así como el sueño de ser gerente de cualquier cosa sin saber hacer nada, solo saber dar ordenes... Pero algo hay que saber... En realidad no creo que una persona pueda desarrollar software sin saber los fundamentos de la programación. De cualquier forma, de nuevo, la promesa es que será suficiente con saber leer, escribir y pensar...
3) Los problemasPESTEL (política, economía. sociedad, medio ambiente, legislación) que se derivan de la revolución tecnológica, en especial la inteligencia artificial. Problemas como empleo, educación, ingresos, desigualdad... Si la inteligencia artificial puede remplazar decenas, cientos, miles o millones de personas y lo de la abstracción es verdad, solo las personas con mejor lectura, escritura y razonamiento podrán sobrevivir en la industria, los demás tendrán que lavar platos, al menos mientras fabrican robots económicos que lo hagan. Como concluye el artículo:
"Puede que la abstracción venga por todos nosotros"...
Quienes hemos tenido la oportunidad de estar en la industria, de hacer cosas y liderar equipos para que las cosas se hagan y que también nos dedicamos a enseñar, tenemos claro que las tres cosas fundamentales son leer, escribir y pensar. Y justamente eso es lo que enseñamos en un curso de fundamentos de programación de computadores...
Cuando enfrentamos al estudiante a un enunciado de un reto de programación o a un código de ejemplo, estamos propiciando el aprendizaje de la lectura. Cuando enfrentamos al estudiante a que escriba código, responda preguntas sobre ese código y explique ese código, se está aprendiendo a escribir. Y cuando el estudiante logra resolver o comprender la solución a un reto de programación y compara varias soluciones, se está cultivando el pensamiento, que por naturaleza debe ser crítico...
Un segundo artículo, menos profundo, se titula "Este es el "lenguaje" que acabará con Python" y afirma que el lenguaje de programación del futuro es el inglés. Ya no es necesario ningún lenguaje de programación y es suficiente con declarar a la inteligencia artificial nuestros deseos y ella los cumple como un genio o dios todopoderoso. Aquí una copia en PDF por si se desaparece de la web...
Un tercer artículo argumenta que la inteligencia artificial ya logró imitar a los humanos, ser como nosotros, desarrollar la función metalingüística. Aquí la versión original en inglés y su traducción al español. La frase final del artículo es contundente:
“It appears that we’re less unique than we previously thought we were.”
"Parece que somos menos únicos de lo que creíamos".
En otra entrada planeo escribir en detalle sobre la importancia de la escritura y la lectura, creaciones humanas que no vienen en nuestro ADN. Nuestra biología nos permite hablar y escuchar, somos animales físicamente orales. El texto escrito es nuestra primer y más importante artefacto tecnológico, que ampliamos con la máquina al crear el código y la programación de computadores. Programar un computador no es otra cosa que leer y escribir en un lenguaje especializado. Si los humanos delegamos a la inteligencia artificial la facultad de leer y escribir (eso incluye el código), estaríamos retrocediendo en el tiempo... Por supuesto, hay que unirse a los avances tecnológicos, pero nunca a merced de perder nuestra humanidad...
"...we find that AI assistance improves immediate performance, but it comes at a heavy cognitive cost: after just ∼10 minutes of AI-assisted problem-solving, people who lost access to the AI performed worse and gave up more frequently than those who never used it."
Se puede leer el detalle del estudio en Arxiv y un resumen en Github. Aquí una copia del PDF del estudio completo y una copia en PDF del resumen. Este estudio es uno entre muchos otros, que apuntan a la idea de deuda cognitiva (cognitive debt), es decir, eso que perdemos y jamás recuperamos por entregarle nuestra humanidad a la inteligencia artificial. Por ejemplo, en este estudio se analizan imágenes del cerebro cuando las personas usan inteligencia artificial y logran identificar que la tecnología mejora los resultados momentáneamente, pero con el tiempo se pierde todo. Es lo que Nicholas Carr menciona como Efecto Degenerativo en su libro Atrapados y de lo cual ya había escrito hace muchos años en este blog...
Como es importante enfrentar el problema e intentar soluciones, hay un quinto artículo que propone "Preservar el esfuerzo". Para tal efecto recurre a la propuesta del psicólogo Carol Dweck sobre la mentalidad de crecimiento y del psicólogo Anders Ericsson sobre la práctica deliberada o intencional. Estas dos propuestas se resumen a una disciplina de deportista, que quiere ganar una competencia o subir su propio nivel. Para lograrlo reconoce sus capacidades, sus debilidades, sus fortalezas, sus brechas. Se entrena, se esfuerza y crece poco a poco, con ayuda, enfrentando retos cada vez más difíciles y recibiendo retroalimentación permanente. Y justo eso hacemos en nuestro semillero de programación de computadores y en nuestros cursos de programación de computadores. Y los resultados han sido satisfactorios, tres veces en el podio y campeones nacionales.
Podría seguir citando muchos otros documentos, la lista es extensa. Por ejemplo, la iniciativa de la UNESCO sobre rescatar el pensamiento en tiempos de inteligencia artificial. Pero solo con la lectura de los artículos anteriores puedo atreverme a afirmar que no es el fin de la programación de computadores, sino el inicio de una nueva era, en la que saber programar computadores es indispensable.
Cierro con este video que vi ayer en Twitter (ahora X) donde contradicen a los gurúes apocalípticos y hacen un llamado a seguir aprendiendo y a evolucionar... Dice el texto que acompaña el video:
"Decir a los los jóvenes graduados que no estudien ingeniería de software es erróneo porque vamos a necesitar más ingenieros. Los CEOs de IA (con su complejo de superioridad) asustan con tonterías que no van a suceder, cómo que va a eliminar el 50% de los empleos rápido".
ConTICtualizando y para cerrar, pienso que la programación de computadores implica leer, escribir, pensar. No es el fin y depende de las universidades y los profesores que las cosas no empeoren y las brechas no aumenten. El camino es sencillo: hay que cerrar las brechas de competencias digitales, pensamiento computacional y humanidades digitales. Si esas brechas no se cierran, la inteligencia artificial siempre estará millones de años luz adelante...
En mi caso particular, inicia un nuevo semestre universitario, seguiré intentando mejorar y buscando la transformación digital de la educación. Me niego a una condena eterna de anacronismo, inercia y mala política. Cueste lo que cueste, hay que seguir batallando por algo mejor...
VPL Training es un curso virtual sobre el LMS Moodle que usa el plugin VPL y que ofrece un banco de problemas para aprender programación de computadores a nivel universitario. Allí hay un problema titulado Calendario raro pero inteligente, que desafía el pensamiento aritmético y computacional, busca que el estudiante proponga una solución matemática simple y la lleve al computador.
A continuación transcribo el texto del enunciado y luego analizo brevemente dos tipos de soluciones y hago una pequeña anotación al respecto:
Enunciado:
Se diseñó un calendario digital raro pero inteligente, el cual representa la fecha según la siguiente descripción:
El día del calendario raro es la unión del código ASCII que representa a los dígitos del día real. Por ejemplo, si el día real es 25, el calendario raro lo representa como 5053, porque 50 es el código ASCII del '2' y 53 es el código ASCII del '5'. Si el día tiene sólo un dígito, el cero se representa según su ASCII 48. Por ejemplo, si el día es 07, el calendario raro lo representa como 4855 (revise https://ascii.cl/es/).
El mes del calendario raro se representa de manera similar al dia. Por ejemplo, el mes Noviembre es 4949 y Febrero es 4850.
El año del calendario raro se representa como la cuenta regresiva de los años que faltan para llegar a 9999. Por ejemplo, si el año real es 2018, el calendario raro lo representa como 7981.
Todos los números (día, mes y año) se unen. Por ejemplo, si la fecha es 25 de febrero de 2018, la representación del calendario raro es 505348507981, un total de doce (12) dígitos (caben en un long de Java). A continuación varios ejemplos explicados:
Se requiere un programa que reciba como entrada un número de máximo ocho (8) dígitos, que representan una fecha, en el formato estándar de los seres humanos DDMMYYYY (asuma que la fecha siempre es válida). El programa debe generar como salida la representación de la fecha según el Calendario Raro pero Inteligente. Por ejemplo, la entrada 25022018 corresponde a la fecha 25 de febrero de 2018 y debe generar como salida 505348507981.
Tenga en cuenta que los caracteres de los dígitos del cero (0) al nueve (9) se representan en el código ASCII con la secuencia de códigos 49 al 57:
0 = 48 | 1 = 49 | 2 = 50 | 3 = 51 | 4 = 52
5 = 53 | 6 = 54 | 7 = 55 | 8 = 56 | 9 = 57
Entradas: Un número entero de máximo ocho (8) dígitos.
Salidas: Un número de doce (12) dígitos.
Dos Soluciones:
La primera solución es aritmética, es la solución esperada. Porque las entradas y salidas son números y las operaciones sugeridas son divisiones, sumas, restas y productos. Se espera un proceso inicial de análisis del número, es decir, partir en pedacitos el número, para lo cual se divide y toma residuo. Luego un proceso de codificación o conversión, que hace sumas y restas. Y finalmente un proceso de síntesis, unir los pedacitos y armar un número, para lo cual se multiplica y se suma.
Solución 1 - Numérica | Matemática | Independiente del lenguaje
La segunda solución es la que entrega la inteligencia artificial, la que se lee en muchos blog y videos, la que muchos usan pero pocos entienden, que usa funciones especializadas del lenguaje, pero que ninguno conoce cómo funcionan y ni siquiera qué hacen. Esta solución usa cadenas de caracteres y arreglos, en un nivel inicial del curso en el que los estudiantes ni siquiera logran comprender el residuo y la aritmética modular.
Solución 2 - Cadenas | "Pythonisa" | Dependiente del Lenguaje
Los estudiantes se sorprenden cuando cuestiono la segunda solución. Algunos profesores explican esta solución, porque en sus tiempos aprendieron lo fundamental y creen que los estudiantes lo aprenderán después. Los más amigos de la historia de la pedagogía lo llaman "constructivismo". Pero la realidad es que los estudiantes de hoy no conocen ni comprenden la primera solución, que es lo básico, lo mínimo...
Con el auge de la inteligencia artificial y el anacronismo, inercia y pasividad curricular de los directivos, las nuevas generaciones no están aprendiendo a leer, ni a escribir, ni a resumir, ni a comprender, ni a sumar, ni a pensar... Eso sí, aprenden el ejemplo y delegan todo a la IA, aprenden de la mala política y la trampa...
Por ahora, creo, pienso que VPL Trainig, sigue siendo un buena alternativa para identificar las brechas y ayudarlas a resolver, para desarrollar pensamiento crítico y pensamiento computacional, para entrenar la inteligencia natural, que tendrá que batallar contra el mercado político y económico de la inteligencia artificial...
La evaluación docente es alentadora. Al parecer los estudiantes han valorado el esfuerzo, la lucha contra la parsimonia burocrática que predica calidad pero ofrece mediocridad... Dejo aquí la evaluación del semestre pasado y gracias a mis estudiantes, ellos son el alma del Alma Mater...