Los ordenadores que se programan a sí mismos
Un ingeniero de software que trabaja en Madrid, David Gomes, ha escrito un artículo en su página, «Just have AI build an app for that«, reflejando paso a paso cómo ha programado desde cero una aplicación sencilla, en este caso una para cambiar de tamaño archivos de tipo .svg, pero también apunta a otras posibilidades, como cambios de formato, etc., utilizando un agente de inteligencia artificial sencillo, Replit, que prácticamente cualquier usuario sin apenas conocimientos de programación podría utilizar.
¿Resulta realmente tan sencillo cómo David lo cuenta? Aparentemente, el interfaz del agente está efectivamente preparado para guiar al usuario paso a paso, y si bien seguramente no sea tan sencillo a medida que uno se adentra en el desarrollo de un proyecto de software complejo, sí parece hacer su trabajo muy bien a la hora de obtener funcionalidades básicas, de esas que en muchos casos, cuando las necesitas, te ves obligado a andar buscando aplicaciones en la web que, en muchos casos, requieren entregar datos o trabajar con herramientas de muy dudosa reputación. A mí me pasa constantemente cuando busco formas de descargarme vídeos o sonidos de Youtube, de LinkedIn, de Twitter o de otros sitios para integrar en mis presentaciones de clase, cuando necesito convertir archivos de un formato a otro, etc.
¿Hemos llegado realmente ya a un momento en el que cualquier persona puede hacerse una aplicación sencilla mediante inteligencia artificial? No estoy completamente seguro de ello, pero sí tengo claro que si ese momento no ha llegado aún, está a punto de llegar. Que muchas de las operaciones pesadas y repetitivas que hago todos los días, como compartir mis artículos en redes sociales con las especificidades que requiere cada una de ellas (que son muchas), podrán ser completamente automatizadas en breve, o que posiblemente podrían serlo ya si me pongo en serio con ello.
Pasar del Automator del Mac a un agente que realmente te guíe en el desarrollo de una aplicación, genere el código para ti y te permita hacerlo de una manera sencilla es algo que puede suponer un auténtico salto de calidad en las relaciones de los usuarios con sus ordenadores, aunque también posiblemente crear muchos «monstruos» dotados de cierto nivel de peligro. El software es algo complejo: aunque programar en muchos lenguajes no es una tarea terriblemente complicada, hacerlo bien, decididamente, sí lo es, y la diferencia entre alguien que simplemente entiende los comandos y alguien que tiene experiencia programando es enorme. ¿Qué tipo de escenario va a generarse cuando cualquier usuario se lance a pedirle a un agente que le desarrolle una aplicación para prácticamente cualquier cosa, más allá, cuando directamente los ordenadores se programen a sí mismos?
La realidad es que artículos hablando de agentes de inteligencia artificial capaces de programas una aplicación más o menos sencilla los tenemos desde 2001 o antes, cuando OpenAI aún era bastante poco conocida, y sin embargo, no hemos dado aún el salto a que los usuarios normales empiecen a hacer ese tipo de cosas. Un salto que, por otro lado, podría simplemente no producirse, porque las necesidades de esos usuarios son razonablemente estándar y podrían encontrarse con que el trabajo de llevar a cabo un nuevo desarrollo, aún siendo completamente guiado, no compensa porque pueden utilizar aplicaciones que ya existen en condiciones razonables.
Un lenguaje de programación es algo similar a un idioma, pero con muchas complicaciones de los idiomas convenientemente resueltas, como la ambigüedad o las excepciones de todo tipo. En un lenguaje de programación no vas a encontrarte los típicos problemas de reglas completamente arbitrarias basadas en la costumbre que separan el cómo funciona un idioma de cómo se utiliza realmente. Esa falta de ambigüedad hace que llevar a cabo tareas de programación y escritura de código sea algo razonablemente sencillo para unos algoritmos de inteligencia artificial que, no lo olvidemos, ya manejan el lenguaje humano, mucho más complejo y arbitrario, mucho mejor que la inmensa mayoría de los humanos.
Y sin embargo, a pesar de que aprender un lenguaje de programación pueda ser más sencillo que aprender un idioma, el dominio de los lenguajes de programación sigue estando reservado para los desarrolladores, que además ahora son más eficientes gracias al hecho de que la inmensa mayoría de ellos utilizan asistentes de programación basados en inteligencia artificial. ¿Visualizamos un futuro en el que nuestros ordenadores se programen a sí mismos y los usuarios usen esa posibilidad para generarse las aplicaciones que necesitan, o seguiremos simplemente utilizando aplicaciones off-the-shelf que los desarrolladores siguen creando, como hemos hecho siempre? ¿Hasta dónde llega – o debe llegar – el recorrido de esa idea futurista de «el ordenador que se programa a sí mismo»?
Nota:https://www.enriquedans.com/