Qué es GitHub Copilot y cómo funciona

14/07/2021Artículo original

Todo el mundo habla de GitHub Copilot, el asistente de pair programming basado en inteligencia artificial (así lo denominan desde GitHub) Pero, ¿realmente merece tanto revuelo? Bueno, la respuesta corta es sí. Hace poco estuvimos hablando sobre esto (y probándolo) en un evento en directo con Bruno Capuano (AI Microsoft MVP) y aquí te dejamos las principales reflexiones de esta charla.

Qué es Copilot

Copilot es un asistente para escribir código basado en inteligencia artificial, o como gustan en llamarlo en GitHub, un asistente de pair programming basado en IA. Para entendernos (y salvando las distancias) es algo así como Intellisense, pero mucho más potente y que va aprendiendo en tiempo real.

Va mucho más allá que Intellisense. No solo te hace pequeñas sugerencias, es una herramienta generativa que intenta predecir qué quieres hacer y te sugiere funciones completas con múltiples variantes. Incluso puede llegar a escribir código a partir de comentarios que sean definiciones escritas en lenguaje natural de qué necesitas.

[youtube:kjYQlUrO8bo]

Probando ejemplos reales con Copilot

Gracias a que Bruno Capuano disponía de acceso a Copilot, pudimos verlo en acción con ejemplos de Python (aunque podría haber sido con C# u otro lenguaje). En el vídeo podemos ver cómo Copilot nos sugiere en nuestro contexto el código a escribir y con diferentes opciones que van variando en tiempo real según escribes, porque va aprendiendo. Por ejemplo, a partir de que definimos una clase “libro” nos sugiere para esa clase los campos “nombre”, “autor” y “precio”, para a continuación sugerirnos crear una clase “biblioteca”.

  TRUCO: Cómo resaltar la inicial de un texto con CSS

Este es solo un ejemplo simple, pero hay más en el vídeo:

[youtube:HJ-tQk2MlsQ]

La principal utilidad de Copilot: detección de los trabajos repetitivos

Es indudable que esta herramienta es ya increíblemente útil para desarrolladores en casos de tareas repetitivas (que es capaz de detectar), una especie de GPT3 de código. Copilot no hace “copy & paste”: aprende, interpreta y escribe código viable.

En ocasiones incluso puede llegar a ser intrusivo por sus interrupciones y darte la sensación de que, más que hacer pair programming es como tener a alguien vigilando por encima del hombro lo que haces para interrumpirte a la mínima. Lo bueno, que lo puedes desactivar y activar cuando quieras, y suponemos que esta molestia se irá minimizando con el tiempo según aprenda a “trabajar en equipo”.

  Cómo convertir tu monitor Full-HD 1080p en uno 4K en Windows (con NVidia)

Está por ver si a medio o largo plazo este tipo de herramientas no se terminan convirtiendo en una nueva capa de abstracción a la hora de desarrollar, pero a priori no parece descabellado pensarlo:

[youtube:TTfJ6ACwUzs]

Cómo funciona Copilot por dentro

Copilot se apoya en tres patas. Ha aprendido del enorme set de datos de código que es GitHub, aprovecha ese conocimiento gracias a OpenIA Codex (el verdadero cerebro de Copilot) y rinde al máximo gracias a la potencia de procesamiento que le brinda Azure.

Es importante recalcar que Copilot NO está copiando código de GitHub, sino que Copilot escribe código nuevo a partir de lo aprendido. Según GitHub, el 99.9% del código generado es nuevo.

En este vídeo, nuestro tutor José Manuel Alarcón y Bruno Capuano comentan cómo funciona Copilot:

[youtube:qOWaM6NSGzY]

Copilot también funciona en español

Por cierto, como en GitHub hay código escrito (y comentado) en muchos idiomas, también podemos usarlo en español. Aunque claro, de forma un poco más limitada porque el set de datos en español del que ha podido aprender es significativamente más pequeño.

  Los programadores open source están hartos: quieren que las empresas que se benefician de su trabajo gratuito empiecen a pagar
[youtube:SHtr64Rm8gw]

Cómo puedo instalar y probar Copilot

Copilot de momento es un plugin para VS Code (en el futuro estará disponible para más editores) pero para poder usarlo necesitas pedir el acceso (y hay lista de espera) ya que actualmente se encuentra en beta cerrada. Si intentas usar el plugin sin tener acceso te va a dar un error.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad