Introducción a la programación
En este curso aprenderemos los fundamentos a la programación estructurada. Estudiaremos el ciclo de desarrollo de una aplicación: análisis,...
Copilot ha sido uno de los lanzamientos más importantes de los últimos tiempos. Lo hemos probado y te contamos qué es y las primeras impresiones de uso.
Tabla de contenidos
Imagina que tienes que escribir una difícil disertación, quizás un discurso o alguna carta formal a un jefe o un cliente. Imagina ahora que obtienes un texto perfectamente coherente, de una longitud adecuada y con una estructura gramatical impecable únicamente escribiendo en un cuadro de texto la frase: “Texto muy emocional sobre el tema X dedicado a Juan”. Pues esto, en líneas generales, es lo que aspira a lograr Github Copilot para nosotros a nivel de código.
Todo programador conoce el concepto de programación por pares (o “pair programming”) consistente en la realización de código mediante dos programadores en un mismo puesto, útil para aquellos pedazos de código con una complejidad importante o que requiere de un conocimiento profundo de la base de código que sólo poseen entre ambos.
El objetivo final de Copilot es crear una especie de compañero artificial mientras programamos de forma que, definiendo nombres de método y su descripción, esta herramienta sea capaz de mostrar sugerencias a partir de las que genera un código en el lenguaje de nuestra elección. Así idealmente, en muchos casos al menos, nuestro objetivo sería solamente corregir dicho método o añadir funcionalidades faltantes.
Aunque esto pueda resultar ciencia ficción, esta funcionalidad se basa en los últimos avances de inteligencia artificial, sobre todo en los relacionados con la comprensión y generación de lenguaje escrito.
Microsoft, empresa actualmente propietaria de Github, invirtió hace unos años más de 1000 millones de dólares en la empresa OpenAI, responsable entre otras cosas del desarrollo de uno de los modelos de lenguaje más sofisticados y precisos hasta la fecha.
El modelo actual de OpenAI, llamado GPT-3, está actualmente en una fase beta y sólo tienen acceso una serie de compañías y particulares concretos, y es por ello mismo que Copilot no está aún disponible de manera pública. Sin embargo, este modelo es conocido por producir una colección de textos de una precisión asombrosa, con gran coherencia y que en gran parte son indistinguibles de la escritura de un ser humano.
Dos de las grandes características de este modelo son sin duda el sentido común y la memoria. Es capaz de generar textos donde se muestra un conocimiento razonado de la realidad y el desarrollo del mismo demuestra una cierta memoria sobre lo mencionado en fragmentos anteriores. De forma que, a las siguientes preguntas (en negrita) estas son algunas de las respuestas de GPT-3:
Como podemos observar, aunque breves, las respuestas muestran cierto razonamiento, sentido común y memoria sobre sus respuestas anteriores. Además, este conocimiento general se debe a la muestra de entrenamiento, que en principio para la versión de OpenAI implica una muestra gigante de textos extraídos de internet.
En el caso de Copilot, Github dice haberlo entrenado utilizando todo el código disponible en la plataforma, de forma que funcione como una especie de “súper programador” con mucha experiencia y un conocimiento cuasi-infinito sobre algoritmia y lenguajes (O al menos con la capacidad de crear código aparentemente coherente)-
Por estas características, y por la capacidad de entrenar con cualquier tipo de texto sin necesidad de ofrecer un contexto previo, se dice que GPT-3 podría ser el inicio de la AGI o Inteligencia General Artificial, es decir, una inteligencia con un nivel de complejidad parecido al humano y capaz de aprender cualquier tarea dada una fuente extraíble de conocimiento.
Actualmente sólo podemos encontrar pistas por parte de Github aparte de vídeos de aquellos pocos seleccionados para su demo técnica. Sin embargo tal y como podemos ver en algunos streamings de estos “elegidos”, ya tenemos varios indicios de cómo lo usaremos en nuestro día a día.
Para empezar, Copilot funciona recibiendo un comentario que explique el método que queremos construir, es decir, unas instrucciones lo más detalladas posibles sobre lo que queremos que haga, por ejemplo:
# Un método que imprima por pantalla "hola mundo!"
Una vez nos pongamos debajo de este comentario, Copilot ya sugerirá el método completo, incluyendo incluso su nombre. Pero esto no es todo, la descripción nos permitirá hacer variaciones de estos métodos. Por ejemplo, al poner:
# Un método que salude a un usuario concreto
Nos sugerirá un nuevo método con parámetro nombre
que imprima "hola " + nombre
.
Además de esto, ya hemos podido ver que Copilot no sólo sugerirá una posible implementación, y que aparte de aceptar la primera es posible ver una lista de ocurrencias de Copilot, siempre teniendo en cuenta de que no se nos asegura que estas sean correctas.
Además de todo esto, dos factores extra parecen hacer especialmente suculento su uso:
media
que realice la media de varios números donde haga uso de una llamada a un método (inexistente aún) suma_numeros
para luego, en la siguiente línea, sugerirte, e implementarte dicha función.
Actualmente sólo tenemos acceso a las reacciones de otros desarrolladores y a los casos que comparten con nosotros, por ello la mayor duda que nos queda es ¿Cuándo estará disponible? y también ¿Sustituirá esta tecnología de alguna forma algún perfil concreto en nuestro mundo tecnológico?.
Sin embargo, por ahora no nos queda más que seguir usando nuestros simples cerebros humanos y esperar a que Microsoft se decida a hacer pública esta tecnología que tanto parece prometer para nuestro trabajo diario.
También te puede interesar
En este curso aprenderemos los fundamentos a la programación estructurada. Estudiaremos el ciclo de desarrollo de una aplicación: análisis,...
Descubre cómo la formación ayuda a mejorar la productividad de los empleados de tu empresa y cómo comenzar a implantarla.
En este artículo profundizamos en los motivos por los que formarse como programador es una de las mejores opciones a día de...