Desarrollo web

GitHub Copilot: Inteligencia artificial para apoyar a desarrolladores

Desarrollo Web 6 min. de lectura

Una IA que busca revolucionar el desarrollo web y que cuenta con el respaldo de grandes organizaciones ligadas a la tecnología. Se trata de GitHub Copilot, una herramienta que busca apoyar a miles de desarrolladores en sus proyectos digitales.

Icono que hace referencia a GitHub Copilot.

El 29 de Junio, GitHub, empresa propietaria de Microsoft -una gran conocida en el área de desarrollo por ser el repositorio más grande de código-, reveló un proyecto en conjunto con la empresa OpenAI. Esta organización se caracteriza por ser sin fines de lucro y está ligada a la investigación de inteligencia artificial amigable en pos de mejorar la calidad de vida de la humanidad; de hecho, entre sus fundadores podemos encontrar al tan renombrado Elon Musk. 

La génesis de GitHub Copilot

GitHub Copilot nace de esta alianza estratégica para incluir Codex (Modelo de lenguaje de aprendizaje profundo que produce textos simulando redacción humana) creado por OpenAI en el desarrollo de software. Si tenemos en mente proyectos como Tabnine o Kite, esta no sería la primera vez en que veríamos esfuerzos por combinar la IA en el desarrollo.

Sin embargo, lo que diferencia a Copilot de estos competidores es que, tienen el respaldo de dos grandes empresas en el área, GitHub y OpenAI. Sin dudas, dos referentes que representan un porvenir de la tecnología que contempla un futuro más compartido y enfocado en mejorar la calidad de vida del humano. 

Por su parte, GitHub, es el repositorio más grande de código existente, albergando una infinidad de código perteneciente a empresas o independientes. Del mismo modo, cuenta con una base de datos de los proyectos Open Source más importantes como React por Facebook, VueJS, Kernel de Linux, entre otros; junto a la IA proporcionada por OpenAI analizando las millones de líneas de código público de este gran repositorio lo que mejora la calidad de respuesta o sugerencia frente a la competencia haciéndolo un gran contrincante.

Actualmente, Copilot solo está disponible como una extensión para el famoso editor de código Visual Studio Code de Microsoft. Su misión es ser un acompañante en el desarrollo, dejando al desarrollador como piloto de esta travesía sin importar el lenguaje, o así lo plantea GitHub.

¿Cómo funciona Copilot?

Apoyado por Codex de OpenAI, Copilot es capaz de comprender contextos de uso de los códigos que entrega. Esto le permite entregar un resultado personalizado si es que necesitas la misma solución en proyectos distintos.

Entre sus funciones están:

  • Lograr interpretar una petición a través de un comentario y entregar la solución en código.
  • Autocompletado para código repetido.
  • Además de la posible solución, es capaz de ofrecer un listado de posibilidades a escoger por el desarrollador.
  • Testear de forma más rápida y con menos esfuerzo.

Diagrama con el funcionamiento de Copilot.

¿Suplantará Github Copilot el trabajo de un desarrollador?

La respuesta es un rotundo “No”. Tal como es presentada la propuesta, es un acompañante para colaborar en el proceso de desarrollo. Por esto, no es capaz de escribir proyectos complejos a gran escala por sí solo o entregar entre sus soluciones el código perfecto para resolverlos. De esta forma, siempre deberá ser analizado por el desarrollador, el que debe modificar lo necesario para que el resultado cumpla con los requerimientos específicos que se necesitan.

Debemos tener en cuenta que no es la primera vez que este debate entra en el juego de los acompañantes de desarrollo o las IA que construyen códigos. Inclusive, se hace referencia a la suplantación del rol de desarrollador por estas novedosas y sorprendentes propuestas.

Lo que debes saber sobre Copilot

Existen una serie de interrogantes sobre esta IA, las que pueden hacer dudar a los desarrolladores si probarla o no. Por esta razón, te entregamos la respuesta a algunas de ellas.

¿Copilot escribe código perfecto?

No, Copilot solo intenta comprender el contexto o la intención del desarrollador al momento de solicitar una solución y éste entregará una solución. Sin embargo, la respuestas entregadas siempre deben probarse, revisarse y examinarse.

¿Es gratuito?

Actualmente se encuentran en etapa de “Vista previa técnica”. Esto otorga acceso restringido, aunque igualmente los usuarios pueden postular a través de la web oficial para conseguir acceso a ella de forma gratuita. Mirando hacia el futuro, no existen certezas sobre si tienen planeado la creación de una versión comercial de Copilot.

¿Pueden ser las respuestas “código inseguro”?

Tal como explican en su sitio web, hay una gran cantidad de código público y aunque sí se encuentren filtrando la calidad de éste, es posible que llegues a recibir este tipo de solución. Debemos recordar que las respuestas de Copilot nunca deben considerarse la solución definitiva y siempre deben ser cuestionadas por el desarrollador.

¿Código versionado?

Los desarrolladores han encontrado la particularidad de que en algunos contextos, Copilot entrega código sin considerar la versión del lenguaje. Lo anterior, lo supone un problema a la hora de considerar las soluciones. 

Es por esto que en etapa de Vista Previa es donde Copilot está aprendiendo para lograr entregar la mejor solución posible según el contexto solicitado.

La inteligencia artificial cada vez más presente 

El esfuerzo por apostar en tecnologías de inteligencia artificial es cada vez mayor, al mismo tiempo que entrega mejores resultados a medida que el tiempo avanza, y es visible en tecnologías como Siri y Alexa, o en cómo Apple considera la IA y el Machine Learning como parte de su propuesta de valor en sus equipos para lograr las mejores experiencias.

Es de esperar que así, muchas otras empresas se sigan sumando a esta integración en sus productos, entregando mejores soluciones con el fin de mejorar nuestra calidad de vida.

Acerca del Autor

Julio Ramírez - Desarrollador Front End en IDA

Me considero un desarrollador Frontend, siempre interesado en la comunicación hombre-máquina, para construir sobre ella productos con una base sólida en diseño y así lograr generar experiencias de calidad, apoyado siempre de tecnologías innovadoras que estoy constantemente sumando a mis productos de manera autodidacta.

Agregar un comentario