En este momento estás viendo Copiloto de Github: Programación por pares mediante Inteligencia Artificial
Copiloto de Github: Programación por pares vía Inteligencia Artificial

Copiloto de GitHub es un programador por pares mediante Inteligencia Artificial que te ayuda a escribir código más rápido y con menos trabajo.

El copiloto de GitHub es capaz de extraer el contexto de los comentarios y el código, para sugerirte líneas individuales y funciones completas.

Funciona con OpenAI Codex, un nuevo sistema de inteligencia artificial creado por OpenAI y está disponible previa solicitud como una extensión de VSC para el editor de Visual Studio.

¿Cómo funciona GitHub Copilot?

OpenAI Codex fue capacitado en código fuente y lenguaje natural disponible públicamente, por lo que es capaz de comprender tanto la programación como los lenguajes humanos.

La extensión del editor Copiloto de GitHub envía tus comentarios y el código a un servicio, que luego utiliza OpenAI Codex para sintetizar y sugerirte amplios completados.

¿Qué tan bueno es GitHub Copilot?

El equipo de Github ha comparado el Copiloto de Github con un conjunto de funciones de Python que tienen una buena cobertura de pruebas en repositorios de código abierto.

Dejando en blanco el cuerpo de las funciones y dejando al Copiloto el autocompletado.

El modelo fue capaz de acertar el 43% del tiempo en un primer intento y hasta un 57% en cada 10 intentos; teniendo en cuenta, de que la IA se convierte más inteligente cada vez que se la utiliza.

¿GitHub Copiloto escribe código perfecto?

No. El Copiloto intenta comprender tu intención y generar el mejor código posible, pero el código que te sugiera puede que no sea siempre el correcto e incluso que no tenga sentido.

El código sugerido por GitHub Copiloto debe ser probado, revisado y examinado cuidadosamente, como cualquier otro código.

¿Cómo aprovechar al máximo GitHub Copiloto?

El equipo de Github ya ha comprobado que el Copiloto funciona mejor cuando se divide el código en funciones más pequeñas, se usan nombres significativos para los parámetros de las funciones y se escriben buenas cadenas de documentación y comentarios.

También, parece funcionar mejor cuando se le ayuda a navegar por las bibliotecas o frameworks desconocidos.

¿Qué contexto usa GitHub Copiloto para generar sugerencias?

GitHub Copiloto utiliza el archivo en el que se está trabajando como contexto para generar las sugerencias.

Aún no se utiliza sobre otros archivos del proyecto.

Eso significa que, por ejemplo, copiar/pegar una declaración de tipo en el archivo en el que estás trabajando puede mejorar las sugerencias del Copiloto de GitHub.

Se trabaja en mejorar este aspecto, buscando que la propia extensión sea capaz de reconocer ciertos parámetros dentro de todo el proyecto.

¿Cómo mejorará GitHub Copiloto con el tiempo?

GitHub Copiloto en realidad no prueba el código que sugieres, por lo que es posible que el código ni siquiera se compile o se ejecute.

GitHub Copiloto solo puede contener un contexto muy limitado, por lo que incluso los archivos de origen únicos de más de unos pocos cientos de líneas se recortan y solo se usa el contexto inmediatamente anterior.

GitHub Copiloto puede sugerir usos antiguos o en desuso de bibliotecas y lenguajes; puedes utilizar el código creado en cualquier lugar, pero bajo tu propio riesgo.

¿En qué datos se ha entrenado GitHub Copiloto?

GitHub Copiloto funciona con OpenAI Codex y ha sido capacitado en inglés, el código fuente se encuentra disponible públicamente, puedes encontrar el código en los repositorios públicos del proyecto en GitHub.

¿Por qué se capacitó a GitHub Copiloto con datos de fuentes disponibles públicamente?

El entrenamiento de modelos de aprendizaje automático sobre los datos disponibles públicamente se considera un uso legítimo dentro de la comunidad de aprendizaje automático.

Los modelos obtienen el conocimiento y la precisión de la inteligencia colectiva pública.

¿Me ayudará GitHub Copiloto a escribir código para una nueva plataforma?

Cuando se lanza una nueva plataforma o API por primera vez, los desarrolladores son los que menos están familiarizados con ella.

Además, hay muy poco código público disponible que use esa API y es muy poco probable que un modelo de aprendizaje automático sea capaz de generar un código completo, sin la necesidad de ajustar todo el código.

¿Puede GitHub Copiloto introducir código inseguro en tus sugerencias?

Hay una gran cantidad de código público en el mundo con patrones de codificación inseguros, errores o referencias a API o modismos obsoletos.

Cuando GitHub Copiloto sintetiza sugerencias de código basadas en estos datos, también puede sintetizar código que contiene estos patrones indeseables.

Esto es algo que GitHub tiene en cuenta, y en los últimos años ha proporcionado herramientas como Actions, Dependabot y CodeQL a proyectos de código abierto buscando ayudar a mejorar la calidad del código.

De manera similar, a medida que GitHub Copiloto mejore, se trabajará para excluir el código inseguro o de baja calidad del conjunto de entrenamiento de la IA.

Por supuesto, siempre debes usar GitHub Copiloto junto con prácticas de prueba y herramientas de seguridad, así como con tu propio criterio.

¿Cómo afectarán las herramientas avanzadas de generación de código como GitHub Copiloto a los trabajos de desarrollo?

La incorporación de sistemas más inteligentes tiene el potencial de generar un cambio enorme en la experiencia del desarrollador.

Esperamos que esta tecnología permita a los ingenieros existentes ser más productivos, reduciendo las tareas manuales y ayudándoles a concentrarse en trabajos más interesantes.

También, creemos que GitHub Copiloto tiene el potencial de reducir las barreras de aprendizaje e iniciación, lo que puede permitir a más personas explorar el mundo del desarrollo de software para unirse a la próxima generación de desarrolladores.

¿Cómo se utilizan los datos que recopila GitHub Copilot?

Para generar sugerencias, GitHub Copiloto transmite parte del archivo que está editando al servicio. Este contexto se utiliza para generar sugerencias con las que completar el código.

GitHub Copiloto registra si las sugerencias son aceptadas o rechazadas.

Esta telemetría se utiliza para mejorar las versiones futuras del sistema de Inteligencia Artificial, de modo que GitHub Copiloto pueda hacer mejores sugerencias en el futuro.

¿Están seguros los datos transmitidos?

Los datos se transmiten y almacenan de forma segura. El acceso a la telemetría está estrictamente limitado a las personas que lo necesiten.

La inspección del código fuente recopilado será predominantemente automática y cuando los humanos lo lean, será específicamente con el objetivo de mejorar el modelo o detectar posibles abusos.

¿Se compartirá mi código privado con otros usuarios?

No. Se usan los datos de telemetría, incluida la información sobre las sugerencias que los usuarios aceptan o rechazan, para mejorar el modelo.

Por tanto, no se hace referencia al código privado cuando se genera código para otros usuarios.

¿Por qué la prueba previa es una versión restringida y no está disponible para todos?

GitHub Copiloto requiere hardware de Inteligencia Artificial de última generación.

Durante la prueba previa, se ofrecerá GitHub Copiloto a un número limitado de probadores de forma gratuita.

Si la vista previa técnica tiene éxito, el plan es crear una versión comercial.

Características del Copiloto de Github

Github Copiloto está capacitado de miles de millones de líneas de código público, poniendo el conocimiento necesario al alcance de los desarrolladores, esto debería ahorrar tiempo y ayudar a mantenerse más enfocados a los desarrolladores.

Más que un autocompletado cualquiera

GitHub Copiloto funciona con Codex, el nuevo sistema de inteligencia artificial creado por OpenAI.

GitHub Copiloto comprende mucho más contexto que la mayoría de los asistentes de código.

Por lo que; ya sea en una cadena de documentos, un comentario, un nombre de función o el código en síM GitHub Copiloto usa el contexto que se le ha proporcionado con anterioridad para sintetiza el código de la manera presuntamente más correcta.

Posibles casos de uso

  • Omite los documentos y deja de buscar ejemplos. GitHub Copiloto te ayudará a mantenerte enfocado directamente en el editor.
  • Convierte los comentarios en código. Escribe un comentario que describa la lógica que deseas y deje que GitHub Copiloto ensamble el código por ti.
  • Autocompleta todo el código repetitivo. GitHub Copiloto funciona muy bien para producir rápidamente patrones de código repetitivo y repetitivo. ¡Dale algunos ejemplos y deja que genere el resto!
  • Realiza pruebas sin esfuerzo. Las pruebas son la columna vertebral de cualquier proyecto de ingeniería de software sólido. Importa un paquete de pruebas unitarias y deja que GitHub Copiloto sugiera pruebas que coincidan con tu código de implementación.
  • Muestra alternativas válidas para tu código. ¿Quieres evaluar algunos enfoques diferentes? GitHub Copiloto puede mostrarte una lista de soluciones. Utiliza el código que proporciona o edítalo para satisfacer tus necesidades.

Codifica con confianza en un territorio desconocido

Ya sea que estés trabajando en un nuevo lenguaje o framework, o simplemente aprendiendo a programar, GitHub Copiloto puede ayudarte a encontrar tu camino.

Aborda un error y aprende a usar un nuevo framework sin perder la mayor parte del tiempo revisando los documentos de la información o buscando a través de la web.

  • Agregar tweets (desde su API) de forma rápida y sencilla.
  • Dibuja una gráfica de dispersión.
  • Mejoras las funciones con la «memorización» rápida.
  • Busca calificaciones en Goodreads.

Extiende el potencial de tu editor

GitHub Copiloto está disponible como una extensión de Visual Studio Code. Funciona donde funcione Visual Studio Code: Desde una máquina o en la nube, o bien en los editores online de código de GitHub.

Además, es lo suficientemente rápido para usarlo mientras escribes.

Habla todos los idiomas que amas

GitHub Copiloto funciona con un amplio conjunto de lenguajes y frameworks.

Por ahora, funciona especialmente bien para Python, JavaScript, TypeScript, Ruby y Go; pero comprende docenas de idiomas y puede ayudarte a orientarte casi en cualquier cosa.

Tu eres el piloto

Con GitHub Copiloto, siempre vas a estás al mando. Puedes recorrer las sugerencias alternativas, elegir cuál aceptar o rechazar y editar manualmente el código sugerido.

GitHub Copiloto se adapta a las ediciones que realices, coincidiendo con tu estilo de codificación.

💪 ¡ÚNETE A LA LISTA DE ESPERA DE LA HERRAMIENTA DE GITHUB COPILOTO!