GitHub Copilot X y el futuro de la programación

GitHub Copilot X es la visión del equipo de GitHub para el futuro de GitHub Copilot con una mayor integración de inteligencia artificial y, ahora con GPT-4 en el campo de juego. Sin embargo, con el auge de la inteligencia artificial y ChatGPT en todas partes, cabe preguntarse si este cambio nos volverá más productivos o más dependientes de la inteligencia artificial a la hora de programar.

Aunque aún no se han lanzado estas características que el equipo promete, se espera que se implementen de forma gradual a lo largo del año. Su principal objetivo, según el equipo de GitHub, es facilitar la vida de los desarrolladores, evitar tareas repetitivas y manuales, y promover la creatividad más que la escritura de código en sí. Las herramientas que se lanzarán incluyen GitHub Copilot Chat, Copilot for Pull Requests, GitHub Copilot for Docs y Copilot for CLI. A continuación, hablaremos de cada una de ellas.

GitHub Copilot Chat

La futura integración de ChatGPT en GitHub Copilot, estará disponible directamente en VSCode y Visual Studio. Esta herramienta proporcionará una interfaz de chat donde los desarrolladores podrán preguntar sobre sus proyectos, el código que están escribiendo o sobre alguna duda que tengan respecto al framework, lenguaje de programación o tecnología que estén usando. También se espera que analice el código, sugiera tests unitarios, proponga soluciones a bugs y utilice el poder del buscador Bing para realizar búsquedas en Internet que necesitemos. Además, incorporará GitHub Copilot Voice, la herramienta que interpreta comandos de voz y los transforma en código.

Prácticamente, ChatGPT estará incrustado directamente en tu editor de código favorito. Si ya usas ChatGPT para resolver tus dudas, esto solo lo hará más rápido y preciso. Un gran asierto para los que ya solucionamos dudas usando chatGPT.

Copilot for Pull Requests

La visión de GitHub Copilot para los pull requests incluye que el editor de texto automáticamente sugiera la descripción, el título y etiquetas basadas en el código agregado o modificado en el pull request.

Básicamente, ya no necesitarás recordar lo que hiciste en cada commit o si realizaste una modificación adicional al código. El analizador de código usará GPT-4 para revisar tus cambios y sugerir una descripción que resuma lo que hiciste en el pull request. Esta herramienta ayudaría a tener pull requests más descriptivos, asistiendo así a los code-reviewers para tener más detalle de lo que se trabajó en el pull request y revisarlo adecuadamente y con mayor contexto.

GitHub Copilot for Docs

Se espera que GitHub Copilot for Docs sea una herramienta de chat muy similar a ChatGPT pero integrada directamente en GitHub y preparada para responder preguntas sobre la documentación, el framework, las tecnologías y el lenguaje de programación utilizados en un proyecto de GitHub.

Pienso que es una evolución natural de la documentación como tal, ya que de esta forma solo necesitarás preguntarle a esta herramienta sobre lo que buscas en el proyecto o que te haga ejemplos de uso, minimizando el tiempo de búsqueda e investigación del proyecto en cuestión. De hecho, esto ya comienza a ser usado por algunas herramientas que están utilizando la API de GPT-4 para integrarla en sus documentaciones.

Copilot for CLI

La futura herramienta Copilot for CLI funcionaría en la terminal, permitiendo a los desarrolladores componer comandos más fácilmente. Solo necesitarían preguntar en lenguaje natural qué es lo que desean hacer o el output que necesitan obtener, y la herramienta sugerirá el comando adecuado para esa necesidad.

A menudo, como desarrolladores, tenemos una libreta de apuntes (Notion u otra herramienta) sobre los comandos que usamos o, si no sabemos algo, recurrimos rápidamente a Google para buscar alguna herramienta o comando que necesitemos. Ahora, bastará con preguntarle a la terminal y esta te sugerirá la herramienta que necesitas usar o, si ya la tienes instalada, el comando que debes ejecutar. Sin duda, una herramienta que acortará el proceso de búsqueda e investigación.

Conclusión

Aunque aún no se han lanzado, estas herramientas prometen transformar la experiencia de escribir código, leer la documentación y la creación de nuestros pull requests. Al menos yo estoy ansioso por probar estas nuevas características que, sin duda, revolucionarán la industria del desarrollo de software. Pero hay que ser conscientes de lo fácil que puede resultar todo y lo confiados que nos pueden volver estas herramientas. Sabemos que ChatGPT suele equivocarse y, si ejecutamos o instalamos, por ejemplo, una herramienta que ChatGPT nos sugiere sin investigar previamente, podemos cometer errores y agregar brechas de seguridad a nuestro computador o proyectos.

Por otro lado, confiarse demasiado en la inteligencia artificial nos puede volver dependientes y, si no tenemos un punto de vista crítico, hasta obsoletos, ya que esperaremos que GPT-4 o futuras versiones hagan nuestro trabajo y quizás lo hagan mejor, pero sin la supervisión de nadie, solo estarán haciendo crecer un proyecto sin las bases necesarias para sobrevivir a los cambios repentinos de la industria y la tecnología.

Desde mi punto de vista, debemos usar estas herramientas, pero también debemos ser críticos con el resultado que nos brindan, ya que, como desarrolladores, es nuestra responsabilidad entregar un software de calidad y no un conjunto de piezas puestas una sobre otra que solo cumplen lo que prometen pero no están cimentadas con el punto de vista crítico de una inteligencia humana. Creo que, con el tiempo, estas herramientas nos volverán mejores si las sabemos usar; los seniors se volverán más seniors si tienen un punto de vista crítico sobre sus respuestas, pero los juniors podrían volverse aún más juniors si no investigan correctamente lo que la inteligencia artificial les brinda.

Fuentes