Una inteligencia artificial escribió su propio código de computadora
En cuanto Tom Smith pudo entrar en contacto con Codex —una nueva tecnología de inteligencia artificial que escribe sus propios programas de computadora—, le hizo una entrevista de trabajo.
Le preguntó si podía resolver los “retos de código” que a menudo enfrentan los programadores cuando los entrevistan para trabajos en los que podrían ganar mucho dinero en las empresas de Silicon Valley como Google y Facebook. ¿Podría escribir un programa que remplace por guiones todos los espacios en una oración? Todavía mejor, ¿podría escribir uno que identifique los códigos postales inválidos?
Hizo los dos en un instante, antes de completar varias tareas. “Estos son problemas difíciles de resolver para muchos humanos, me incluyo, y escribió la respuesta en dos segundos”, comentó Smith, un programador experimentado que supervisa una empresa emergente de inteligencia artificial llamada Gado Images. “Fue espeluznante verlo”.
Codex parecía una tecnología que pronto iba a remplazar a los trabajadores humanos. Conforme Smith siguió probando el sistema, se percató de que sus habilidades se extendían mucho más allá de un truco para responder preguntas preparadas para entrevistas. Incluso pudo traducir de un idioma de programación a otro.
Sin amenaza
No obstante, después de varias semanas trabajando con esta nueva tecnología, Smith cree que no representa ninguna amenaza para los programadores profesionales. De hecho, como muchos otros expertos, la considera una herramienta que terminará por impulsar la productividad humana. Incluso podría ayudar a toda una nueva generación de personas a aprender el arte de las computadoras, al mostrarles cómo escribir pequeños pedazos de código, casi como un tutor personal.
“Esta herramienta puede hacer mucho más fácil la vida de un programador”, opinó Smith.
Codex, un producto de OpenAI, uno de los laboratorios de investigación más ambiciosos del mundo, revela información sobre el estado de la inteligencia artificial. Aunque una amplia gama de tecnologías de inteligencia artificial han mejorado rápidamente durante la década más reciente, incluso los sistemas más impresionantes han terminado por complementar a los trabajadores humanos en vez de remplazarlos.
Gracias al rápido ascenso de un sistema matemático llamado red neuronal, ahora las máquinas pueden aprender ciertas habilidades analizando enormes cantidades de datos. Por ejemplo, tras analizar miles de fotos de gatos, pueden aprender a reconocer un gato.
Esta es la tecnología que reconoce las órdenes que le dices a tu iPhone, traduce entre idiomas en servicios como Skype e identifica peatones y señalizaciones en las calles cuando los vehículos autónomos van a toda velocidad por la calle.
Hace más o menos cuatro años, los investigadores en laboratorios como OpenAI comenzaron a diseñar redes neuronales para analizar enormes cantidades de prosa, incluidos miles de libros digitales, artículos de Wikipedia y todos los tipos de otros textos publicados en el internet.
Al ubicar los patrones en todos esos textos, las redes aprendieron a predecir la siguiente palabra en una secuencia. Cuando alguien tecleaba unas pocas palabras en estos “modelos de lenguaje universal”, podían completar la idea con párrafos enteros. De esta manera, un sistema —una creación de OpenAI llamada GPT-3— pudo escribir sus propias publicaciones de Twitter, discursos, poesía y artículos noticiosos.
Para sorpresa incluso de los investigadores que construyeron el sistema, podía escribir sus propios programas de computadora, aunque eran cortos y simples. Aparentemente, había aprendido de una cantidad incalculable de programas publicados en el internet. Por lo tanto, OpenAI fue un paso más allá y entrenó a un nuevo sistema —Codex— en una inmensa variedad de prosa y código.
El resultado es un sistema que comprende tanto la prosa como el código… hasta cierto punto. Simple y llanamente, puedes pedirle que caiga nieve con un fondo negro y te dará el código que crea una tormenta virtual de nieve. Si le pides una pelota azul que esté rebotando, también te la dará.
“Puedes decirle que haga algo y lo hará”, comentó Ania Kubow, otra programadora que ha usado la tecnología.
Beta
Codex puede generar programas en doce lenguajes de computación e incluso traducir entre ellos. Sin embargo, a menudo comete errores y, aunque sus habilidades son impresionantes, no puede razonar como un humano. Puede reconocer o imitar lo que ha visto en el pasado, pero no tiene la agilidad suficiente como para pensar por sí solo.
A veces, los programas que genera Codex no funcionan. O contienen fallas de seguridad. O ni siquiera se acercan a lo que quieres que hagan. OpenAI estima que Codex produce el código correcto el 37 por ciento de las veces.
Este verano, cuando Smith usó el sistema como parte de un programa de prueba “beta”, el código que produjo fue impresionante. No obstante, a veces, funcionaba solo si él hacía un cambio diminuto, como alterar un comando para que se ajustara a su configuración particular de software o agregar un código digital necesario para tener acceso al servicio de internet que intentaba consultar.
En otras palabras, Codex en realidad solo era útil para un programador experimentado.
No obstante, podía ayudar a los programadores a realizar su trabajo diario mucho más rápido. Podía ayudarles a encontrar bloques básicos que necesitaban o mostrarles el camino hacia nuevas ideas. Por medio de la tecnología, GitHub, un popular servicio en línea para programadores, ahora ofrece Co-pilot, una herramienta que te sugiere la siguiente línea de código, de una manera muy similar a cómo las herramientas de “autocompletar” sugieren la siguiente palabra cuando escribes mensajes de texto o correos electrónicos.
“Es un mecanismo para tener código escrito sin tener que escribir mucho código”, comentó Jeremy Howard, quien fundó el laboratorio de inteligencia artificial Fast.ai y ayudó a crear la tecnología de lenguajes en la que se basa el trabajo de OpenAI. “No siempre es correcto, pero se acerca bastante”.
Howard y otros creen que Codex también podría ayudar a los principiantes a aprender a programar. Es particularmente bueno generando programas sencillos a partir de breves descripciones en inglés. Además, también funciona en la otra dirección, al explicar código complejo en inglés. Algunas personas, como Joel Hellermark, un emprendedor de Suecia, ya están intentando transformar el sistema en una herramienta de enseñanza.
“Creíamos que estas herramientas iban a eliminar por completo la necesidad de los humanos, pero después de muchos años aprendimos que en realidad esto no era posible; todavía se necesita un humano capacitado para revisar el resultado”, comentó Smith. “La tecnología se equivoca. Y puede ser tendenciosa. Todavía se necesita una persona que revise qué ha hecho y decida qué está bien y qué no”.
Codex amplía lo que puede hacer una máquina, pero es otro indicio de que la tecnología funciona mejor con los humanos al mando.
“La inteligencia artificial no se está desarrollando como nadie lo esperaba”, comentó Greg Brockman, director de tecnología en OpenAI. “Parecía que iba a hacer este y ese trabajo, y todos querían descubrir cuál iba a ser primero. En cambio, no está remplazando ningún trabajo. Pero está eliminando la parte del trabajo tedioso de todos al mismo tiempo”.