La inteligencia artificial tiene aún mucho que decir en materia de programación. Si primero nos sorprendió CodeNet, la IA capaz de aprender a codificar ella sola en docenas de lenguajes, y más tarde llegaron AlphaCode (una IA capaz de rendir como un desarrollador promedio) y el polémico servicio de autocompletado de código GitHub Copilot, un asistente perfecto que, a efectos prácticos, permite que la IA coescriba software (basándose en la labor de cientos de miles de programadores open source, claro está).
Pero, ¿qué más puede ofrecer la inteligencia artificial a los programadores?
"Espera, que yo te lo explico"
Marcel Pociot es el CTO de BeyondCode, una compañía que desarrolla herramientas y material formativo para desarrolladores web. Hace un par de días, publicó en su cuenta de Twitter un breve vídeo acompañado del siguiente texto: "¿Alguna vez te has preguntado qué está haciendo una pieza de código en particular? Saluda a TLDR".
"TLDR" son las siglas en inglés de "Demasiado largo, no lo he leído", y se utiliza en general cuando un texto es demasiado largo y/o farragoso como para perder tiempo leyéndolo entero y prefieres que te den un resumen. Aunque no es exactamente eso lo que vemos en el vídeo en cuestión, no se aleja tanto: ahí podemos leer, en su lugar, código de un proyecto web en Laravel que, obviamente, resultará difícil de interpretar para el ojo inexperto.
El código parece encontrarse en el área de trabajo de algún entorno de programación (probablemente PHPStorm), a juzgar por el menú contextual que de pronto vemos aparecer en la imagen, hasta que el usuario selecciona la opción 'TLDR' tras haber seleccionado una porción del texto. Y ahí es cuando, tras unos breves segundos, vemos aparecer el resultado de esta misteriosa función...
Have you ever wondered what a particular piece of code is doing?
— Marcel Pociot 🧪 (@marcelpociot) September 21, 2022
Say hello to TLDR pic.twitter.com/wATh13uJyD
... repetinamente, se nos muestra una viñeta de texto en la que se nos explica, paso a paso qué hace ese código y cuáles son los posibles valores que puede devolvernos la función.
Codex, la mente (artificial) detrás de TLDR y de GitHub Copilot Labs
Cualquier programador sabe que, cuando se nos plantea la necesidad de trabajar con código ajeno (o con código propio, si hace mucho que lo escribimos), puede resultar bastante confuso hasta que finalmente nos hacemos a la idea de qué hace qué y en qué momento. Y ni siquiera los comentarios (en el caso de existir) pueden ser siempre de ayuda fuera del contexto en que se escribieron.
Ahí es donde entra 'TLDR' de BeyondCode, una función -seguro que ya lo has adivinado- impulsada por inteligencia artificial. Concretamente, según explica el propio Pociot, por el modelo Codex de OpenAI, el mismo que podemos encontrar detrás de GitHub Copilot. Y de hecho, el propio Copilot también ha estrenado recientemente una función muy similar.
Y es que resulta que, aunque haya pasado bastante desapercibido, el equipo de GitHub Next liberó recientemente una extensión experimental para Visual Studio Code llamada GitHub Copilot Labs, que nos permite igualmente desplegar una explicación del código seleccionado (en inglés)...
...e incluso una 'traducción' a otro lenguaje, lo cual puede ser muy útil si tenemos que trabajar con un lenguaje en el que nos desenvolvamos aún demasiado bien, permitiéndonos traducirlo a otro con el que tengamos más experiencia. Así, en el siguiente ejemplo, tenemos un código en JavaScript traducido a Python:
Imagen | Basada en originales de Arild Finne Nybø (vía Flickr) y generados por DALL-E 2
Ver 2 comentarios