Copilot X, es el nombre que dio Github a un nuevo set de herramientas que está desarrollando que incluye como núcleo la Inteligencia Artificial. En el blogpost de lanzamiento han dicho que el nombre Copilot X hace referencia a que planean integrar su «Copiloto» de IA en todas las facetas del desarrollo de software, básicamente los productos serán llamados Copilot for [producto].
Al día de publicación de este artículo, los productos Copilot que se encuentran disponibles son: Copilot Chat, Copilot para pull request, Copilot para documentación y Copilot para línea de comandos (CLI), entre otros experimentos que Github realiza en su laboratorio Github Next.
A pesar de que todos estos productos basados en IA se encuentran en fase de preview, lo cual quiere decir que no están disponibles aún para el público general, he tenido acceso recientemente para comenzar a utilizar Github Copilot Chat. Hoy les comentaré mis observaciones al respecto de este nuevo producto.
En la variedad de productos de inteligencia artificial de Github, Copilot Chat y Copilot «clásico» son los están diseñados para ayudar a escribir código. A continuación nos adentraremos un poco más en ambos.
¿Qué es Github Copilot Chat?
Github Copilot Chat es la novedad. Es una nueva herramienta que permite integrar dentro de tu IDE (Entorno de desarrollo Integrado) un asistente a modo de chat, que responderá todo tipo de preguntas relacionadas con programación en diversos lenguajes. Además, puede escribir y refactorizar código con base en las indicaciones otorgadas. Como este chat está integrado en el IDE, es fácil dar contexto desde la ventana de código hacia el chat y desde el chat a la ventana de código, en ambos sentidos.
Antes de Copilot Chat, ya era posible utilizar extensiones para conectar la tecnología de OpenAI (la misma utilizada por Copilot) en varios IDE, también a modo de chat. Al parecer, Github ha observado lo útil que estas herramientas resultaron ser y dio el mismo paso.
Después de haber utilizado Copilot Chat durante varias semanas, mi percepción general es que el producto funciona, en general cumple con lo prometido. Da buenas sugerencias y respuestas a preguntas, permite refactorizar y mejorar código. Te da una mano cuando olvidas alguna sintaxis. Sin embargo, siento que aún es inferior a otras herramientas que integran un asistente de chat para programar, incluso inferior a ChatGPT en resolución de problemas y «comprensión» del contexto y del código. Esto me llama la atención, ya que Copilot Chat está entrenado específicamente para trabajar sobre código, lo cual supuestamente debería mejorar ese resultado.
Puntos de mejora
Hay varios aspectos en los que aún falta mejorar Copilot Chat para que sea el asistente definitivo de los programadores.
Contexto del desarrollo: El contexto de código en la ventana activa y del proyecto en general aún es escaso. Además, hay momentos en que la IA no comprende del todo si se le está hablando del código seleccionado en la ventana o si se le está hablando de algo ya conversado anteriormente. A veces la única solución para «recuperar» el hilo de la charla y conseguir una respuesta coherente es limpiar la conversación completa e iniciar nuevamente.
Limitación a respuesta que «parecen» sobre programación: Con este punto me refiero a que el chat como tal evita a toda costa responder alguna pregunta que no sea de programación, lo cual me parece correcto, ya que ese es su objetivo primordial. Sin embargo, hay solicitudes que pueden llegar a estar relacionadas con tu código o con el proyecto que estás desarrollando y que no le parece a la IA que estén relacionadas con programación, así que directamente, en estos casos, se niega a responderte. Prácticamente, tienes que convencer a la IA trabajando el prompt para que considere que le estás pidiendo algo relacionado con código. Lo cual te hace perder un poco de tiempo.
Funcionamiento de las extensiones: En VS Code la extensión funciona de maravillas, es rápida, fácil de utilizar. Sin embargo, en Visual Studio aún hay mucho que trabajar. No funciona del todo bien. La experiencia no es muy buena, a veces se rompen los formatos en la respuesta que te da, a veces directamente no funciona, no se puede copiar código a la ventana en un clic como en VS Code.
Github Copilot (Clasico)
En este nuevo set de herramientas seguimos contando con la función de Copilot «clásico» de sugerir código autocompletando la línea actual o incluso ofreciendo snippets completos. Esta herramienta sigue siendo igual de útil que en la versión actual abierta a todo público. A pesar de haber otras opciones similares, creo que Copilot es la extensión que mejor funciona para autocompletar código, me atrevería a decir que ya es una herramienta esencial para el trabajo diario de cualquier programador.
En resumen
¿Hoy compraría una suscripción a Github Copilot para obtener Copilot Chat? No. Siento que aún hay mucho por mejorar y hay herramientas de chat mejores. En caso de necesitarlo, directamente optaría por utilizar ChatGPT u otra herramienta como mi asistente para programar.
¿Compraría una suscripción a Github Copilot para contar con el autocompletado de Github Copilot clasico? Sí 100%. El autocompletado mejora la velocidad y productividad de cualquier programador.