Github Copilot, ese amigo que no baila

GitHub Copilot es una inteligencia artificial que ayuda a los programadores a escribir código. Fue creado por Github y Open AI, la misma compañía que está haciendo temblar a Google con GPT-4, y se lanzó al público en junio de 2022.

Este partner del programador prometía desarrollo “más rápido y con menos trabajo”, como señala en su sitio oficial, y por cerca de 20 dólares mensuales puede acelerar procesos o ser un invitado poco deseable a la fiesta.

Luego de meses utilizándolo, puedo contarles mi experiencia: 

Github Copilot es como ese amigo que no baila. Te puede acompañar y siempre tiene una respuesta. Que esté buena o mala, es otra cosa. Así que no te puedes fiar completamente de él.

Cómo funciona Github Copilot

Copilot está integrado en los Ides (entornos de desarrollo integrados) más populares del mercado. Está disponible como extensión para Visual Studio Code, Visual Studio, Neovim y JetBrains.

En la medida que creas el código, Copilot te va sugiriendo predictivamente lo que debes escribir a continuación.  Esto lo hace identificando el contexto del código y los comentarios que vas haciendo.

En base a millones de líneas de código de los repositorios de Github y en base a Codex, un modelo de lenguaje preentrenado generativo creado por OpenAI, Github Copilot te sugiere líneas de código individuales y funciones completas al instante.

Adiós Google, adiós StackOverFlow

Antes de Copilot y de las IA generativas como Chat GPT-3 y GPT-4, todos los desarrolladores usábamos Google (y desde ahí StackOverFlow) para consultar dudas sobre sintaxis, problemas y/o buscar un pedazo de código.

Hoy este compañero inteligente casi sepultó esas viejas prácticas.

Gracias a que está alimentado de miles de rutinas y repos, tu búsqueda de una lógica específica se puede acelerar por Copilot y si no acierta el resultado, se puede acercar bastante.

Como sus sugerencias se basan en el contexto,  si tu código suma dos números, la IA entiende que estás haciendo una operación matemática y las sugerencias que te hace son en ese contexto.

Ventajas de Copilot y algo sobre Amazon CodeWhisperer

Velocidad y presencia

Como dije, si antes tenías dudas, acudías a Google/StackOverflow o al compañero con más experiencia. Hoy la IA de Copilot te da respuestas inmediatas. Pueden cumplir o no, pero Copilot siempre está ahí a tu lado, escuchando.

Alcance y documentación

Las respuestas de Copilot son globales. Esto porque analiza todo tu proyecto y predice sobre el código que vas escribiendo.

Otro uso posible, que personalmente no he utilizado, pero que puede resultar muy útil es en el ámbito de la documentación. 

Puedes iniciar la documentación de algo, una función o clase y describes entradas, parámetros, tipos de datos y salidas que quieres, y Copilot hace su trabajo dejando el código documentado de inmediato.

Optimización de recursos y esteroides para un Jr

Copilot puede ser una buena forma de optimizar recursos porque quizás ya no necesites un desarrollador supersenior desarrollando. Puedes tener a un dev intermedio con esteroides (Copilot) que puede generar lo mismo que el supersenior a un costo menor. 

En el caso de los desarrolladores junior, es como entregarles súper poderes. Porque en vez de tener un senior sentado al lado para preguntar 10 veces cómo funciona esto o qué hace esto…..tiene a Copilot que va prediciendo.

 CodeWhisperer

Amazon CodeWhisperer es la competencia de Copilot. Pude probarla y en mi opinión no le llega ni a los zapatos a la inteligencia de Github.

Creo que es muy nueva y  no maneja tantos lenguajes como Github Copilot. Estuve probando los dos en paralelo y mientras Copilot iba generando predicciones, CodeWhisper no respondía. 

Desventajas de Copilot: cuando el amigo se pasa de copas

Copilot no es el santo grial ya que no está afinado ni optimizado al 100%. A veces se puede poner demasiado creativo, como ese amigo que bebió de más y te puede hacer pasar una vergüenza.

Pero más allá de su efectividad (Copilot aprende de humanos, por lo que puede aprender de nuestros errores ciertamente), la principal desventaja es que puede generar una dependencia peligrosa en los desarrolladores.

¿Qué pasa si no pueden contar con ella? ¿Cómo van a desarrollar sin Copilot? ¿Pueden desarrollar sin Copilot?

Si dependes de Copilot para desarrollar y te la cortan, vuelves a ser un desarrollador junior de nuevo. Esa dependencia tóxica la debemos evitar porque el desarrollador necesita pasar por el proceso de comprender lo que está haciendo. 

Si te inyectas estos esteroides (Copilot), no vas a desarrollar músculo, vas a desarrollar masa sin fuerza. Así que como cualquier superpoder, hay que usarlo con responsabilidad.  

Artículos Relacionados

GPT, el periodismo y el tsunami IA

No fue hace tanto tiempo. La columna escrita por Javier Villagrán en este blog me presentó GPT y los lenguajes…

01 Junio 2023

Clima laboral en tiempos de teletrabajo

A tres años de convertirnos al teletrabajo, es relevante detenerse y mirar cómo ha funcionado el clima laboral en modo…

30 Marzo 2023

La hora de migrar a Google Analytics 4 es ahora

Si no estás migrando deberías preocuparte porque el tic tac del reloj se acelera. A partir de julio de este…

28 Febrero 2023

Hablando con avatares: desafíos de la comunicación digital en teletrabajo

Columna de opinión de Vivian Valdés, gerente de negocios de Fusiona. Estos últimos años nos hemos volcado a la comunicación…

13 Diciembre 2022

GPT3 y Robots que hablan: el meteorito que viene

Allá por la década del ‘50 el economista austriaco Joseph Schumpeter acuñó el concepto de “destrucción creativa”. En breve, esta…

07 Septiembre 2022