Todos conocemos el gran impacto de GitHub en el mundo del desarrollo. Actualmente, gran parte del código open-source está en esta plataforma, pero hay ciertos productos que no son muy conocidos. Hace poco fue anunciado GitHub Copilot, junto con GitHub Actions y GitHub Advance Security.
Es una herramienta de inteligencia artificial (actualmente se encuentra en Technical Preview), la cual entrega recomendaciones de código a los programadores. Hay que entender que Copilot no es perfecto y, al igual que el código que nosotros como desarrolladores escribimos, esta herramienta debe ser probada y revisada.
La primera vez que probé GitHub Copilot solo pude decir... “Wow, esto es broma”, sobre todo luego ver que funcionaba al escribir funciones en español.
Cuando GitHub anunció esto hubo mucho temor, pero realmente es una herramienta que nos facilitará el trabajo. Sin embargo, si no conocemos su lógica de funcionamiento o no sabemos cómo diseñar, esta gran herramienta no servirá de nada y no será posible aprovecharla.
Copilot se basa en un modelo de lenguaje similar a GPT-3, por lo que se ha adaptado al código en el que ha sido entrenado. Pero, a medida que lo usas, va “entendiendo” tu estilo y se adapta a ti. Y si no le gusta la primera sugerencia, puedes escribir como te gustaría que comience y él se irá adaptando.
Copilot no es el primero en tener esta funcionalidad; herramientas como Tabnine y Kite cubren estas mismas funcionalidades. Sin embargo, Copilot se destaca por que utiliza Codex, un descendiente de GPT-3 que nos proporciona una comprensión más profunda del contexto en comparación a los otros asistentes. Además, debemos considerar que Copilot ha sido entrenado con una gran cantidad de datos que se encuentran disponibles públicamente dentro de GitHub.
Más allá de un riesgo para nuestro trabajo como desarrolladores, veo en estas herramientas una gran oportunidad para ser aún más productivos, ya que para tareas repetitivas o funciones que acostumbramos a buscar en Internet (validar un RUT, cambiar el formato de una fecha, validar que una contraseña sea segura, etc.) no necesitaremos mucho tiempo, y podremos dedicarnos a mejorar nuestra lógica y desarrollar aplicaciones de mejor calidad.
Como mencioné al principio, actualmente la herramienta se encuentra en Technical Preview, por lo que, si tenemos suerte, GitHub nos dará acceso para una prueba gratuita. Para hacerlo deben ingresar acá e inscribirse.