¿Un partner de Inteligencia Artificial para programar? Bienvenidos a GitHub Copilot

¿Un partner de Inteligencia Artificial para programar? Bienvenidos a GitHub Copilot

Hace apenas unas semanas, GitHub lanzaba su nueva propuesta para ayudar a los programadores en sus tareas de desarrollo: GitHub Copilot.

14 Jul 2021

Se trata de un asistente a la programación que ayuda a escribir código gracias a la Inteligencia Artificial, desarrollado en colaboración con OpenAI y entrenado a partir de la enorme base de datos de GitHub. Este asistente está pensado para el uso en múltiples lenguajes y frameworks, pero está especialmente diseñado para asistir en el desarrollo en Python, JavaScript, TypeScript, Ruby y Go. El objetivo de la herramienta es, en esencia, ayudar a los desarrolladores en sus tareas recomendando o generando código automáticamente pero, ¿Qué puede ofrecer exactamente GitHub Copilot? ¿Cómo la hace y qué permite de cara al futuro?

Qué ofrece GitHub Copilot a los programadores

Lejos de querer convertirse en un sustituto de aquellas personas dedicadas al desarrollo, GitHub Copilot trata de simplificar sus tareas gracias a funcionalidades relevantes como son:

  • Las sugerencias de código a partir de lenguaje natural. Esta nueva herramienta es capaz de convertir comentarios en código como asistencia al desarrollador.
  • El completado de tareas repetitivas, identificando y proponiendo código durante el propio desarrollo cuando se identifiquen bloques repetitivos.

¿Cómo lo hace GitHub Copilot?

Como comentábamos al inicio, GitHub Copilot es el resultado de la colaboración entre dos grandes compañías:

  • Por un lado Microsoft, actualmente empresa propietaria de GitHub, el mayor repositorio de código Open Source a nivel global, desde su adquisición en 2018 por 7,5 billones de dólares. La plataforma aloja una gran red de desarrolladores prácticamente en todo el mundo (hasta 200 países), representando a más de 1,5 millones de empresas de todos los sectores. Además, cuenta con 40 millones de usuarios según los últimos datos actualizados y con más de 100 millones de repositorios alojados.
  • Y por otro lado Open AI, compañía que ha desarrollado un modelo inteligente denominado GPT-3. Este modelo se entrena a partir de la información pública de Internet y permite hacer cosas tan interesantes como generar contenido de manera automática, realizar traducciones automáticas sin entrenamiento específico o generar código a partir de aquel publicado en la red.

Gracias a esta colaboración, se unen la capacidad de procesamiento de Azure, el servicio de computación en la nube de Microsoft, con la posibilidad de entrenar la Inteligencia Artificial de Open AI a partir de los códigos recogidos en GitHub. De esta forma, GPT-3 ha aprendido de toda la base de datos de código de GitHub y cuenta con una base de entendimiento de código y ejemplos de desarrollo de millones de funciones, lo que le permite realizar recomendaciones muy acertadas a partir del conocimiento adquirido.

¿Qué beneficios encontramos a nivel de desarrollo?

GitHub Copilot permite acelerar el desarrollo evitando tareas repetitivas y generando partes del código de forma automática, como asistencia al desarrollador. Si GPT-3 ya había demostrado grandes capacidades como generar textos, mantener una conversación o incluso realizar compras de manera automática, el salto a escribir código es un paso más en el desarrollo de sus funcionalidades. Así, GitHub Copilot es capaz de entender más contexto que cualquier otro asistente, llegando hasta el punto de poder convertir los comentarios de un programador (describiendo la lógica que desea implementar) en el código necesario. También podrá completar automáticamente líneas de código que resulte repetitivo, ofreciéndole previamente ciertos ejemplos.

Pero entonces… ¿Realmente programa solo?

Aunque técnicamente podamos decir que sí, realmente lo que se hace es un análisis de lo que el programador ha escrito hasta el momento para escribir el resto. Aun así, el programador siempre deberá de revisar si la solución propuesta es correcta y se adapta a las necesidades o si, por el contrario, hay que modificarlo o rehacerlo de otra manera. El sistema podría devolver un código que no tenga sentido en su contexto o que no esté correctamente optimizado y,  por tanto, la intervención del programador es siempre, y a día de hoy,imprescindible para revisar y probar el código, pero se podrá ahorrar una gran cantidad de tiempo.

¿Qué significa GitHub Copilot para las compañías?

Todo lo visto anteriormente aporta un gran valor para las empresas, que obtienen una mayor rentabilidad de sus equipos, gracias a una mayor eficiencia y productividad que aumenta el valor de los desarrollos y mejora el Time to Market. El impacto sobre las compañías, el mantenimiento de las aplicaciones o las necesidades de formación de los programadores será muy importante, al igual que lo será la aparición de nuevos retos como la ética, evitar sesgos, la seguridad del código generado o la propiedad intelectual, aspectos que desde ya tenemos que tener en cuenta si queremos apoyar nuestro trabajo en este tipo de herramientas.

Sin duda la generación de código asistida por la inteligencia artificial  supondrá una nueva forma de concebir el desarrollo y el negocio de la consultoría tecnológica y su evolución marcará la senda hacia un futuro que cada vez tendrá más de automatización, de inteligencia y de velocidad.

COMPLEX MADE SIMPLE

Construyamos el futuro de la innovación digital juntos

Contáctanos