¿Qué es GitHub Co-Pilot?
GitHub Copilot es una herramienta de completado de código de inteligencia artificial (IA) diseñada para trabajar con editores de código como Visual Studio Code. La herramienta, que fue desarrollada por GitHub en colaboración con OpenAI, tiene el mérito de acelerar el proceso de desarrollo para los programadores experimentados y reducir la barrera de entrada para los nuevos programadores.
Copilot facilita la escritura de código y la hace más eficiente al ofrecer sugerencias de autocompletado en tiempo real a medida que los desarrolladores escriben en un entorno de desarrollo integrado (IDE) compatible.
Definición de GitHub Co-Pilot
Las sugerencias de la herramienta pueden abarcar desde una sola línea de código sencillo hasta grandes bloques de código complejo. Los desarrolladores pueden aceptar o rechazar las sugerencias, y Copilot refina sus predicciones basándose en estos comentarios.
Las sugerencias de GitHub Copilot se basan en patrones y sintaxis que Copilot aprendió durante su entrenamiento con repositorios de código abierto disponibles públicamente en GitHub.
Según la documentación de GitHub, Copilot está entrenado en todos los lenguajes de desarrollo de software que aparecen en los repositorios públicos. Sin embargo, es más conocido por su compatibilidad con Python, JavaScript, TypeScript, Ruby y Go.
¿Cómo funciona GitHub Copilot?
Los suscriptores pueden instalar GitHub Copilot como una extensión del editor de código para Visual Studio Code, Visual Studio y un número cada vez mayor de entornos de desarrollo integrados (IDE) populares. A medida que el desarrollador escribe nuevo código, Copilot analiza el código circundante para generar sugerencias para completar líneas, corregir errores y optimizar algoritmos de IA.
Copilot utiliza grandes modelos lingüísticos (LLM) similares a los de ChatGPT. GitHub Copilot se construyó originalmente sobre OpenAI Codex, un LLM que se entrenó con decenas de miles de millones de líneas de código abierto de GitHub.
Desde entonces, Open AI ha retirado el Codex, y las últimas versiones de GitHub Copilot se entrenaron con nuevos modelos desarrollados a través de una colaboración entre GitHub, OpenAI y Microsoft Azure AI.
Los modelos más recientes tienen una comprensión más profunda del contexto del código porque pueden consultar los archivos del proyecto y la documentación para entender la intención del programador.
¿Para qué se utiliza GitHub Copilot?
GitHub Copilot es una herramienta versátil que puede ser utilizada por programadores con diferentes niveles de habilidad.
Los programadores principiantes pueden utilizar las sugerencias de Copilot para:
- Generar código repetitivo para tareas como la definición de funciones y clases básicas.
- Ayudar con estructuras de datos y bucles comunes.
- Simplificar la instalación de configuraciones e importaciones repetitivas.
- Proporcionar ejemplos de prácticas básicas de gestión y registro de errores.
- Generar comentarios que pueden ser utilizados para ayudar a escribir la documentación del código.
- Ayudar con modismos específicos del lenguaje.
- Proporcionar ejemplos de funciones de bibliotecas de software y componentes de marcos de trabajo de software.
Los programadores más experimentados pueden utilizar las sugerencias de Copilot para:
- Escribir código repetitivo para automatizar tareas de codificación repetitivas o mundanas.
- Explorar diferentes enfoques y soluciones a problemas de codificación complejos.
- Generar estructuras de código complejas.
- Sugerir refactorizaciones para mejorar la eficiencia, legibilidad y mantenimiento del código.
- Ayudar a escribir pruebas unitarias y pruebas de integración.
- Proporcionar ejemplos de código y sintaxis relevantes para diferentes lenguajes y marcos de trabajo.
- Automatizar la integración de interfaces de programación de aplicaciones (API).
Ventajas e inconvenientes
GitHub Copilot ha generado tanto entusiasmo como aprensión en la comunidad de programadores. Según GitHub, los usuarios empresariales utilizan Copilot para generar más del 46% de su código, y la herramienta les ha ayudado a escribir código un 55% más rápido. Sus defensores han aplaudido la capacidad de Copilot para acelerar el desarrollo de software y democratizar la programación.
Los detractores, sin embargo, han expresado su preocupación por las implicaciones legales y éticas del uso de la IA para generar código. Aunque su capacidad para aumentar la productividad es innegable, Copilot se enfrenta a muchas de las mismas preocupaciones que el resto de la IA generativa.
Por ejemplo, las posibles desviaciones en los resultados, la posibilidad de que una dependencia excesiva de la IA provoque una degradación de las competencias y la posibilidad de que los generadores de código limiten las oportunidades de trabajo de los programadores humanos.
En última instancia, el potencial de Copilot depende de que se reconozcan las limitaciones de la herramienta y se promueva su uso juicioso caso por caso o proyecto por proyecto.
Opciones de suscripción
GitHub Copilot tiene varios planes de suscripción para uso personal y empresarial.
Copilot es gratuito para estudiantes, profesores y responsables de proyectos de código abierto verificados. También está disponible de forma gratuita para cuentas personales de usuarios individuales como prueba única de 30 días.
Después de la prueba gratuita, las personas que deseen seguir utilizando Copilot deben comprometerse a un plan de suscripción mensual o anual a una cuenta personal de pago.
Actualmente, las suscripciones de cuentas personales para GitHub Copilot cuestan 10 dólares al mes o 100 dólares al año. Copilot Business cuesta 19 dólares por usuario al mes, y Copilot Enterprise cuesta 39 dólares por usuario al mes.
¿Qué es GitHub Copilot X?
GitHub Copilot X es una futura iteración de Copilot que se espera que incluya Copilot Chat, Copilot Voice y Copilot Pull Requests projects como características básicas.
- Copilot voz
Antes se conocía como “¡Eh, GitHub!”. Esta función permite a los desarrolladores utilizar indicaciones de voz en lugar de indicaciones de texto.
- Copilot Pull Request
La característica Copilot Pull Request (PR) está diseñada para ayudar a los equipos de desarrollo a escribir mejores descripciones de pull request y ayudar a los miembros del equipo a revisar y fusionar PRs más rápido. En los sistemas de control de versiones, una solicitud de extracción garantiza que cada fragmento de código se revise antes de integrarlo en otra rama o repositorio.
- GitHub Copilot Chat
Es una extensión de IA conversacional para GitHub Copilot que permite a los desarrolladores interactuar con GitHub Copilot. Los desarrolladores pueden utilizar Copilot Chat para hacer preguntas relacionadas con la codificación y recibir respuestas formateadas. Copilot Chat, que se introdujo por primera vez como una extensión para Visual Studio Code, ya está disponible tanto en suscripciones empresariales como individuales.
En este momento, no está claro si Copilot X será el nombre de lanzamiento de una futura iteración de Copilot o si seguirá siendo un nombre de proyecto.
Actualmente, GitHub parece estar priorizando el desarrollo y la promoción de Copilot Workspace, que ya incorpora las características mencionadas anteriormente.
Competidores de GitHub Copilot
Se espera que el mayor competidor de GitHub Copilot sea Google Duet AI for Developers. Ambas herramientas tienen plug-ins IDE, pueden generar código a partir de indicaciones en lenguaje natural, pueden hacer sugerencias para completar fragmentos de código y pueden proporcionar sugerencias contextuales dentro de bases de código específicas.
Otros competidores destacados son:
Amazon CodeWhisperer
Ofrece complementos para JetBrains IDEs, Visual Studio Code y AWS Cloud9.
Ask Codi
Ofrece plugins para JetBrains IDEs, Visual Studio Code y Sublime Text.
Tabnine
Ofrece plugins para JetBrains IDEs, Visual Studio Code y Sublime Text. También tiene plug-ins desarrollados por la comunidad para Vim, Emacs y Jupyter Notebook.
Referencias
- Visual Studio Code – Code Editing. Redefined (Visual Studio Code)
- TypeScript: JavaScript With Syntax For Types (TypeScript)
- Managing Extensions in Visual Studio Code (Visual Studio Code)
- Azure AI Platform – Artificial Intelligence (Azure AI)
- GitHub Copilot X: The AI-powered developer experience (GitHub Copilot X)
- GitHub Copilot · Your AI pair programmer · GitHub (GitHub Copilot)
- Using GitHub Copilot Chat in Your IDE – GitHub Docs (Using GitHub Copilot)
- GitHub Next | Copilot Voice (GitHub Next)
- Copilot for Pull Requests ( Copilot for Pull Requests)
- About GitHub Copilot Chat (GitHub Copilot Chat)
- GitHub Copilot Chat beta now available for all individuals (Product GitHub Copilot Chat beta)
- GitHub Next | Copilot Workspace (GitHub Next Copilot Workspace )
- Duet AI for Developers (Duet AI)
- AI Code Generator – Amazon CodeWhisperer – AWS (Amazon CodeWhisperer)
- JetBrains: Essential tools for software developers and teams (JetBrains)
- AWS Cloud9 – Cloud IDE for Writing, Running, and Debugging Code (AWS Cloud9)
- AskCodi (AskCodi)
- Sublime Text – Text Editing, Done Right (Sublime Text)
- The Leading AI Assistant for Software Development (Tabnine)