Microsoft y OpenAI han lanzado una nueva herramienta de inteligencia artificial, denominada Copilot, que dará sugerencias de programación a los desarrolladores de software. Los desarrolladores escriben el código en editores especializados, llamados entornos de desarrollo integrados, que ofrecen muchas funciones para ahorrar tiempo. Corrigen errores de sintaxis, como puntos y comas mal colocados, y con la ayuda de plugins de terceros pueden incluso realizar tareas como señalar problemas de ciberseguridad. Copilot tiene la misma finalidad básica, ahorrar tiempo a los desarrolladores mediante la automatización de tareas comunes, aunque aplica el concepto de una forma mucho más sofisticada que las tecnologías existentes.
GitHub dice que la herramienta puede detectar cuando un programador empieza a escribir un nuevo fragmento de código y completarlo automáticamente. Si es necesario, Copilot es capaz de generar hasta media docena de líneas de código más para completar el fragmento en el que está trabajando el programador. La herramienta entiende decenas de lenguajes de programación y puede ayudar en muchos tipos de proyectos diferentes.
Un área en la que GitHub considera que Copilot ahorra una cantidad de tiempo especialmente considerable a los desarrolladores es la integración de componentes. Una parte sustancial del trabajo que supone la creación de una aplicación consiste en añadir integraciones con componentes externos: la base de datos que la aplicación utiliza para almacenar la información de los clientes, el servicio de pago en el que se basa para procesar las compras, etc.
La tarea suele ser bastante sencilla y, en algunos casos, sólo requiere unas pocas líneas de código. Pero antes de que los desarrolladores puedan escribir esas pocas líneas de código, tienen que aprender a utilizar el componente que están integrando, lo que puede llevar horas o días.
Copilot genera automáticamente una parte del código necesario para la tarea. De este modo, la herramienta no sólo acelera el proceso de integración del componente en sí, sino que también reduce la cantidad de tiempo que los desarrolladores deben dedicar a estudiar el componente de antemano, ya que se reduce la complejidad general de la tarea. El ahorro de tiempo resultante puede acelerar los proyectos de software.
El testeo es otra tarea en la que Copilot puede ayudar. Para comprobar la fiabilidad de sus aplicaciones, los desarrolladores suelen incorporar modelos de pruebas de fiabilidad del ecosistema de código abierto en la base de código de las aplicaciones. Copilot puede analizar el código de un desarrollador y encontrar automáticamente los módulos de pruebas de código abierto más adecuados para evaluar su fiabilidad.
Copilot genera recomendaciones utilizando Codex, un modelo de inteligencia artificial desarrollado por el laboratorio de investigación de aprendizaje automático OpenAI. Codex se basa en GPT-3, un innovador modelo de procesamiento del lenguaje natural que OpenAI estrenó el año pasado. GPT-3 puede generar numerosos tipos de texto, desde poesía hasta largos ensayos sobre temas empresariales, en respuesta a breves indicaciones de escritura proporcionadas por el usuario.
Uno de los principales detalles que diferencian a Codex de su predecesor son los datos de entrenamiento que OpenAI utilizó para construir el modelo. Los científicos del laboratorio entrenaron a GPT-3 con textos en lenguaje natural procedentes de fuentes como Wikipedia. Codex, por su parte, se entrenó con miles de millones de líneas de código abierto de GitHub, lo que permitió al modelo aprender patrones de código comunes que aprovecha para generar sugerencias de programación para los desarrolladores.
Copilot es el último fruto de la larga colaboración de Microsoft con OpenAI. La compañía aportó hace dos años 1.000 millones de dólares de financiación a OpenAI para apoyar su investigación y también ofrece a los científicos del laboratorio acceso a los recursos de infraestructura de su nube pública Azure.
Inicialmente, Microsoft pondrá Copilot a disposición del público de forma gratuita.
Ilustración: Canva