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.