Las nuevas herramientas de inteligencia artificial, con ChatGPT al frente, revolucionarán la creación de texto, imágenes, vídeos o música. Su capacidad de redactar código ha tenido menos impacto, mas es igualmente increíble. Como en otras disciplinas, en los últimos meses ha habido asimismo artículos apocalípticos escritos por especialistas titulados “El fin de la programación” o “ChatGPT reemplazará a los programadores en diez años”. La clave, no obstante, está en los detalles: ¿qué es precisamente lo que es capaz de programar?
Primero, es capaz de solucionar desafíos que merecen mucha influencia. La gaceta Nature publicó este miércoles un artículo de estudiosos de DeepMind (Google) donde agilizan un setenta% la eficiencia de un algoritmo del lenguaje C++ que llevaba décadas en uso: “Demostramos cómo la inteligencia artificial puede ir más allá del estado actual del arte al descubrir rutinas hasta ahora desconocidas”, afirma el artículo. “Lo que realmente es interesante es que el sistema aprendió a escribir una serie de instrucciones sin que nadie le dijera cómo”, explica Armando Solar-Lezama, estudioso del MIT (EE UU) que tuvo acceso al artículo ya antes de su publicación.
“Le dijeron qué instrucciones podía usar y empezó a probar combinaciones. Lo único que le decían es si estaban bien o mal. Solo con eso el sistema pudo inferir cuáles eran las instrucciones que debía escribir y conectar para generar el programa”, agrega el especialista sobre AlphaDev, el programa creado por DeepMind.
Estos avances prueban que la inteligencia artificial (IA) supera desafíos complejos. ¿Pero hasta dónde puede llegar sin intervención del ser humano? El artículo de Nature explica que propusieron el inconveniente como un juego para la máquina, que había sido entrenada particularmente, y los humanos además de esto guiaban el proceso. Es esencial, mas no una revolución absoluta. “La gente está muy emocionada”, prosigue Solar-Lezama. “Con estos modelos de IA hemos visto que de pronto pueden hacer cosas que antes se consideraban muy difíciles. Pero una pregunta que tenemos ahora es ver qué pueden hacer bien y qué no. Basándonos en eso, ¿cómo podemos reimaginar la programación para hacerla más efectiva? Ya hay herramientas que empiezan a ayudar a los programadores, pero solo como un ayudante”.
Es como un practicante listo
Esa palabra de “asistente” o “ayudante” se repite frecuentemente en conversaciones con programadores y profesores de computación, tal y como si la IA fuera un practicante despierto. Aunque la novedad sea sorprendente, pocos prevén un seísmo en el oficio. Como explica Brigitte Pientka, maestra de la Universidad McGill de Montreal (Canadá) y coautora de un artículo que muestra que ChatGPT sacaría un notable en un curso de introducción a la programación: “ChatGPT puede ser sorprendente y engañosamente bueno para generar programas cortos. Pero no es muy fiable por ahora. Diría que en el futuro será más importante poder evaluar y validar programas generados automáticamente para garantizar un nivel de seguridad y fiabilidad”. Los programadores, por lo tanto, proseguirán siendo igualmente precisos, quizás con un rol diferente, conforme Pientka: “Decir que ya no necesitamos informáticos gracias a ChatGPT es como decir que gracias a las calculadoras y Excel no necesitamos matemáticos ni estadísticos”.
“Decir que ya no necesitamos informáticos gracias a ChatGPT es como decir que gracias a las calculadoras no necesitamos matemáticos”
Brigitte Pientka, Universidad McGill
La misma gaceta especializada que publicó en el primer mes del año sobre el “fin de la programación”, propagó este fin de semana un artículo titulado “La IA no ayuda a los programadores”, del insigne maestro Bertrand Meyer. Como programador, escribe Meyer, le iría bien un asistente que le sostuviera a raya y alarma cuando se desvía. Y sigue: “Pero eso no es lo que obtengo [de una IA]. Obtengo el equivalente de un licenciado engreído, inteligente y muy leído, también educado y rápido para disculparse, pero completamente, y sin remedio, descuidado y poco fiable. De poco me sirve esa supuesta ayuda”.
En foros de discusión de programadores como Hacker News hay docenas de debates abiertos sobre de qué forma y cuánto ayuda ChatGPT y otras aplicaciones más concretas. La pluralidad de contestaciones es enorme, mas el entusiasmo irresoluble de hace unos meses ha decaído. Solar-Lezama lo pone en un contexto de una etapa más en la historia de la programación: “Va a cambiar la programación como ya ha cambiado en los últimos 20 años. Y en los anteriores 20. Hoy es diferente a cuando me gradué. También llegaron lenguajes de programación nuevos que permitían automatizar cosas que la gente hacía a mano. Era fácil reusar el código que alguien había escrito. Hoy puedo escribir programas extremadamente complejos en Python en 10 minutos que hace una generación hubieran tomado meses de un equipo grande”, agrega.
As society becomes more digital, it’s critical to improve the code powering the world’s computing.
Today in @Nature, we present AlphaDev, an AI system using reinforcement learning to discover enhanced computer science algorithms.
How does it work? ? https://t.co/2ukGaPey5w pic.twitter.com/dSedrv7eik
— Google DeepMind (@DeepMind) June siete, 2023
No ahorra tanto tiempo
La IA se ha transformado en ese asistente que deja reducir algo el tiempo dedicado al trabajo de programar. Pero no en cantidades extraordinarias: “Al principio me sorprendió descubrir que ChatGPT daba bien código del software”, afirma Daniel Lemire, maestro de la Universidad de Québec (Canadá), que hace trabajos de programación avanzados. “Copilot [una herramienta de Microsoft] puede escribir secciones enteras de código, como si pudiera leer mi mente. Pero a veces se equivoca. Es difícil de medir el tiempo que ahorro quizá un 10%. Escribir código es una pequeña fracción de programar, que incluye diseño, pruebas, evaluación comparativa, debates, especificaciones”.
“Va a cambiar la programación como ya ha cambiado en los últimos 20 años”
Armando Solar-Lezama, MIT
Por esos motivos, el trabajo de programador semeja por el momento una apuesta razonable para el futuro. Pese a los avances en automatización de software hasta el momento, el uso de programador medra. La única certidumbre es que en el futuro va a haber más código, en una buena parte merced a la agilidad que deja la IA, mas no por este motivo menos programadores. “Predigo que seguiremos contratando a más personas, al margen de los avances en IA”, asegura Lemire. “Los trabajos serán diferentes, incluso completamente nuevos, pero no habrá una caída en el corto plazo debido a la inteligencia artificial. Los estudiantes que aspiran a una carrera en la industria del software deben mantener el rumbo”, agrega.
La eficacia de los programadores, no su substitución, va a ser la enorme ventaja de esta revolución, conforme Stephen Piccolo, maestro de la Universidad Brigham Young (EE UU): “Seguro que algunas empresas contratarán menos, al menos inicialmente, mientras se entienden las implicaciones de la tecnología. Pero en el futuro próximo, esta tecnología hará que los programadores sean más eficientes en lugar de reemplazarlos”.
Otra de las aspiraciones repetidas que podría permitir a la IA es programar en lenguaje natural: solicitar en castellano a ChatGPT que escriba el código preciso para crear una aplicación, una web o un gráfico. Aunque algo va a poder hacerse, asimismo va a tener un alcance limitado por el momento. “Los lenguajes naturales están llenos de ambigüedades”, afirma Emily Morgan, maestra de Lingüística en la Universidad de California Davis y coautora de un artículo sobre de qué forma estos sistemas hallan fallos informáticos. “Al contrario, los lenguajes de programación tienen que ser inequívocos. Por eso, queremos que nuestros lenguajes de programación no sean ambiguos”.
Pero sí va a poder solicitarse en castellano algo que ChatGPT transforme en código. El inconveniente entonces va a ser buscar o lijar los problemas: “Vamos hacia el uso de interfaces de lenguaje natural (como ChatGPT) para ayudar a generar gran parte de nuestro código”, apunta Morgan. Y explica: “Puedes pedirle a ChatGPT cosas como ‘genera una plantilla para un sitio web’, pero seguirá generando código o HTML. Necesitará que el lenguaje natural se traduzca a un lenguaje de programación inequívoco”.
Santander (España), 1985. Después de obtener su licenciatura en Periodismo en la Universidad Complutense de Madrid, decidió enfocarse en el cine y se matriculó en un programa de posgrado en crítica cinematográfica.
Sin, embargo, su pasión por las criptomonedas le llevó a dedicarse al mundo de las finanzas. Le encanta ver películas en su tiempo libre y es un gran admirador del cine clásico. En cuanto a sus gustos personales, es un gran fanático del fútbol y es seguidor del Real Madrid. Además, ha sido voluntario en varias organizaciones benéficas que trabajan con niños.