Acerca de GitHub Copilot sugerencias en línea
Las sugerencias en línea de Copilot son sugerencias de estilo autocompletar generadas en línea por GitHub Copilot. Copilot sugerencias insertadas crean la experiencia de trabajar con un programador de pares con inteligencia artificial, ofreciendo automáticamente sugerencias para completar el código. Además, puede sugerir comentarios de código, pruebas y mucho más. Proporciona estas sugerencias directamente en los editores admitidos mientras escribes el código y puede trabajar con una amplia gama de lenguajes de programación y marcos. Para más información, consulta ¿Qué es GitHub Copilot?.
Las sugerencias de Copilot pueden ser la finalización de la línea actual, pero a veces será un nuevo bloque de código completo. Puedes aceptar toda o parte de una sugerencia, descartar la sugerencia o seguir escribiendo e ignorar las sugerencias.
Copilot las sugerencias insertadas funcionan mediante una combinación de procesamiento de lenguaje natural y aprendizaje automático para comprender el código circundante (en relación con la posición del cursor) y proporcionarle sugerencias. Este proceso se puede dividir en varios pasos.
Procesamiento de entradas
El código circundante del cursor del usuario es preprocesado mediante el sistema de sugerencias insertadas Copilot, combinado con información contextual (como fragmentos de código de pestañas abiertas en el editor) y se envía a un modelo de lenguaje de gran tamaño en forma de solicitud. Para obtener información sobre la retención de datos, consulta el Centro de confianza de GitHub Copilot.
A continuación, el modelo de lenguaje grande toma el mensaje y proporciona una respuesta basada en el mensaje. El sistema solo está pensado para ayudar con la codificación.
Análisis del modelo de lenguaje
El modelo de lenguaje grande que procesa la solicitud de entrada es un modelo de lenguaje afinado para sugerencias en línea, que es una red neuronal que se ha entrenado en un gran cuerpo de datos de código especializado para proporcionar sugerencias en línea.
Puede cambiar el modelo que se usa para las sugerencias insertadas. Consulta Cambio del modelo de IA para sugerencias en línea de GitHub Copilot.
Generación de respuestas
El modelo de lenguaje genera una respuesta basada en su análisis de la solicitud de entrada y el contexto proporcionado en ella. Esta respuesta adopta la forma de código generado y comentarios de texto sin formato, que van desde la finalización de la línea actual hasta un nuevo bloque de código completo.
Formato de salida
La respuesta generada por Copilot tiene el formato "texto fantasma" que es visualmente distinto del código circundante y se presenta al usuario como sugerencia. Solo se agrega al archivo o código base si el usuario acepta explícitamente la sugerencia. Los usuarios pueden aceptar toda o parte de una sugerencia, descartar la sugerencia o seguir escribiendo y omitir las sugerencias en cuyo caso se descarta la sugerencia.
GitHub Copilot sugerencias en línea están diseñadas para proporcionarle las sugerencias de código más relevantes y útiles para mejorar su código existente. Sin embargo, es posible que no siempre proporcione las respuestas que buscas. Los usuarios de Copilot son responsables de revisar y validar las respuestas que el sistema genera antes de aceptarlas para asegurarse de que son precisas y adecuadas. Además, como parte de nuestro proceso de desarrollo de productos, realizamos la formación de equipos rojos para comprender y mejorar la seguridad de Copilot sugerencias insertadas. Las sugerencias generadas también se ejecutan a través de filtros de contenido. El sistema de filtrado de contenido detecta y bloquea Copilot para impedir la salida de cualquier contenido dañino u ofensivo, o código no seguro. Además, en función de la configuración de GitHub del usuario, el filtro también bloquea o anota sugerencias que contienen coincidencias con código público.
Casos de uso para GitHub Copilot sugerencias en línea
GitHub Copilot sugerencias en línea pueden proporcionar asistencia de codificación en una variedad de escenarios.
Generación de código en función de las instrucciones
Además de confiar en Copilot para proporcionar sugerencias, puedes usar comentarios de código para indicar a Copilot sobre el código que esperas que siga al comentario. Por ejemplo, puedes usar comentarios como "usar recursividad" o "usar un patrón singleton" para especificar un tipo de algoritmo que Copilot debe sugerir. O bien, puedes usar comentarios para indicar a Copilot qué métodos y propiedades agregar a una clase.
Generación de casos de prueba unitaria
Copilot sugerencias insertadas pueden ayudarle a escribir casos de prueba unitaria mediante la generación de fragmentos de código basados en el código circundante escrito en el editor. Esto puede ayudarte a dedicar menos tiempo a las tareas repetitivas de escribir casos de prueba. Por ejemplo, si estás escribiendo un caso de prueba para una función específica, puedes usar Copilot para sugerir parámetros de entrada y valores de salida esperados en función del cuerpo y la signatura de la función. Las sugerencias insertadas también pueden sugerir aserciones que garantizan que la función funciona correctamente, en función del contexto y la semántica del código.
Las sugerencias insertadas de Copilot también pueden facilitar la generación de casos de prueba para casos extremos y condiciones límite que pueden ser difíciles de identificar manualmente. Por ejemplo, Copilot puede sugerir casos de prueba para el control de errores, valores NULL o tipos de entrada inesperados, lo que te ayuda a garantizar que el código es sólido y resistente. Sin embargo, es importante que tengas en cuenta que es posible que los casos de prueba generados no cubran todos los escenarios posibles, y las pruebas manuales y la revisión del código siguen siendo necesarias para garantizar la calidad del código.
Esto puede ser una herramienta útil para los programadores, ya que puede proporcionar guías y soporte técnico para tareas y desafíos comunes de codificación.
Mejora del rendimiento de las sugerencias inline de GitHub Copilot
Copilot las sugerencias en línea pueden generar sugerencias de código en una variedad de contextos diferentes, con métricas de rendimiento y calidad diversas. Para mejorar el rendimiento y abordar algunas de las limitaciones de Copilot sugerencias insertadas, hay varias medidas que puede adoptar. Para obtener más información sobre las limitaciones de Copilot sugerencias en línea, vea Limitaciones de GitHub Copilot sugerencias en línea.
Limite sus solicitudes al tema en cuestión
Copilot está diseñado exclusivamente para generar finalizaciones relacionadas con código o código en sí. Por lo tanto, limitar el contexto del contenido del editor al código o la información relacionada con la codificación puede mejorar la calidad de salida del modelo.
Utiliza Copilot sugerencias en línea como una herramienta, no como un reemplazo
Si bien Copilot puede ser una herramienta eficaz para generar código, es importante que la utilices como herramienta y no como reemplazo de la programación humana. Siempre debes revisar el código generado por Copilot antes de aceptar una sugerencia y validarlo después para asegurarse de que cumple tus requisitos y está libre de errores o problemas de seguridad.
Importante
Los usuarios asumen todos los riesgos asociados con el código generado, incluidas las vulnerabilidades de seguridad, los errores y la infracción de IP.
Uso de procedimientos de codificación segura y revisión del código
Aunque Copilot sugerencias en línea pueden generar código sintácticamente correcto, es posible que no siempre sea seguro. Siempre debe seguir las prácticas recomendadas para la codificación segura, como evitar contraseñas embebidas o vulnerabilidades de inyección SQL, así como seguir las prácticas recomendadas de revisión de código, para abordar las limitaciones de Copilot.
Manténgase actualizado.
Copilot las sugerencias en línea son todavía una tecnología bastante nueva y es probable que evolucionen con el tiempo. Debes mantenerte al día con las actualizaciones o los cambios en la herramienta, así como con los riesgos de seguridad o procedimientos recomendados nuevos que puedan surgir. Las actualizaciones de extensiones automatizadas están habilitadas de forma predeterminada en Visual Studio Code, Visual Studio y el conjunto de IDE de JetBrains. Si tienes habilitadas las actualizaciones automáticas, Copilot se actualizará automáticamente a la versión más reciente cuando abras el IDE. Para obtener más información sobre las actualizaciones automáticas en el IDE, consulta la documentación del IDE o editor de código que prefieras.
Limitaciones de GitHub Copilot sugerencias en línea
En función de factores como el código base y los datos de entrada, usted puede experimentar diferentes niveles de rendimiento al interactuar con Copilot sugerencias en línea. La siguiente información está diseñada para ayudarle a comprender las limitaciones del sistema y los conceptos clave sobre el rendimiento tal como se aplican a las sugerencias en línea de Copilot.
Ámbito limitado
Copilot sugerencias en línea se entrenan en una gran cantidad de código, pero aún tienen un ámbito limitado y es posible que no puedan gestionar estructuras de código más complejas o lenguajes de programación poco conocidos. Para cada idioma, la calidad de las sugerencias que reciba puede depender del volumen y la diversidad de datos de entrenamiento para ese idioma. Por ejemplo, JavaScript está bien representado en repositorios públicos y es uno de los mejores lenguajes admitidos de GitHub Copilot. Los lenguajes con menos representación en repositorios públicos pueden ser más problemáticos para Copilot en términos de apoyo. Además, Copilot sugerencias en línea solo pueden sugerir código basado en el contexto del código que se está escribiendo, por lo que es posible que no pueda identificar problemas de diseño o arquitectura de mayor envergadura.
Por último, las sugerencias en línea de Copilot están pensadas para generar código y salida relacionada con el código. El uso de sugerencias insertadas de Copilot no está pensado para generar salidas de lenguaje natural.
Sesgos posibles
Los datos de entrenamiento de Copilot se extraen de los repositorios de código existentes, que pueden contener sesgos y errores que la herramienta puede perpetuar. Además, Copilot sugerencias insertadas pueden estar sesgadas hacia determinados lenguajes de programación o estilos de codificación, lo que puede dar lugar a sugerencias de código poco óptimas o incompletas.
Riesgos de seguridad
Copilot genera código basado en el contexto del código que se está escribiendo, lo que puede exponer información confidencial o vulnerabilidades si no se usa cuidadosamente. Debes tener cuidado al usar Copilot para generar código para aplicaciones que afectan a la seguridad y siempre debes revisar y probar el código generado de manera exhaustiva.
Coincidencias con código público
Copilot sugerencias en línea son capaces de generar código nuevo, haciéndolo de forma probabilística. Aunque la probabilidad es baja, Copilot puede generar sugerencias de código que coincidan con el código del conjunto de entrenamiento.
Código inexacto
Una de las limitaciones de Copilot es que puede generar código que aparenta ser válido, pero que en realidad no es semántica o sintácticamente correcto o puede que no refleje con precisión la intención del desarrollador. Para mitigar el riesgo de código inexacto, debes revisar y probar cuidadosamente el código generado, especialmente cuando se trabaja con aplicaciones críticas o confidenciales. También debes asegurarte de que el código generado cumple con los procedimientos recomendados y los modelos de diseño y se ajusta a la arquitectura general y al estilo del código base.
Consideraciones normativas y de cumplimiento
Los usuarios deben evaluar posibles obligaciones legales y normativas específicas al usar cualquier servicio y soluciones de inteligencia artificial, que pueden no ser adecuados para su uso en todos los sectores o escenarios. Además, los servicios o soluciones de inteligencia artificial no están diseñados para y pueden no usarse de maneras prohibidas en términos de servicio aplicables y códigos de conducta pertinentes.
Pasos siguientes
Para obtener más información sobre cómo usar las sugerencias en línea de Copilot, consulte:
-
[AUTOTITLE](/copilot/using-github-copilot/getting-code-suggestions-in-your-ide-with-github-copilot)
Información adicional
-
[AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-terms-for-additional-products-and-features#github-copilot) -
[Centro de confianza de GitHub Copilot](https://copilot.github.trust.page/)