Skip to main content

Uso responsable de GitHub Copilot CLI

Aprenda a usar CLI de GitHub Copilot de forma responsable mediante la comprensión de sus propósitos, funcionalidades y limitaciones.

¿Quién puede utilizar esta característica?

CLI de GitHub Copilot está disponible con todos los Copilot planes. Si una organización le envía Copilot, la política CLI de Copilot debe estar habilitada en la configuración de la organización.

Acerca de CLI de GitHub Copilot

          CLI de GitHub Copilot proporciona una interfaz similar al chat en el terminal que puede crear y modificar archivos de forma autónoma en el equipo y ejecutar comandos. Puede pedir que Copilot realice cualquier acción en los archivos de Active Directory.

          CLI de GitHub Copilot puede generar cambios personalizados en función de la descripción y las configuraciones, incluidas tareas como correcciones de errores, implementación de nuevas características incrementales, creación de prototipos, documentación y mantenimiento de código base.

Mientras trabaja en la tarea, el Copilot agente tiene acceso al entorno de terminal local donde puede realizar cambios en el código, ejecutar pruebas automatizadas, ejecutar linters y ejecutar comandos disponibles en su entorno.

El agente se ha evaluado en una variedad de lenguajes de programación, con el inglés como idioma principal admitido.

El agente funciona mediante una combinación de procesamiento de lenguaje natural y machine learning para comprender la tarea y realizar cambios en un código base para completar la tarea. Este proceso se puede dividir en varios pasos.

Procesamiento de entradas

La entrada se combina con información contextual relevante para formar un mensaje. Ese mensaje se envía a un modelo de lenguaje grande para su procesamiento. Las entradas pueden adoptar la forma de lenguaje natural sin formato, fragmentos de código o referencias a archivos del terminal.

Análisis del modelo de lenguaje

Después, el mensaje se pasa por un modelo de lenguaje grande, que es una red neuronal entrenada con un cuerpo de datos de gran tamaño. El modelo de lenguaje analiza el mensaje de entrada para ayudar al motivo del agente sobre la tarea y usar las herramientas necesarias.

Generación de respuesta

El modelo de lenguaje genera una respuesta basada en su análisis del mensaje. Esta respuesta puede adoptar la forma de sugerencias de lenguaje natural, sugerencias de código, modificaciones de archivos y ejecuciones de comandos.

Formato de salida

La respuesta generada por el agente tiene el formato y se le presenta. CLI de GitHub Copilot usa el resaltado de sintaxis, la sangría y otras características de formato para agregar claridad a la respuesta generada.

Es posible que el agente también quiera ejecutar comandos en el entorno local y crear, editar o eliminar archivos en el sistema de archivos para completar la tarea.

Puede proporcionar comentarios al agente después de que devuelva una respuesta en la ventana de chat interactiva. Después, el agente volverá a enviar los comentarios al modelo de lenguaje para su posterior análisis. Una vez que el agente complete los cambios en función de los comentarios, el agente devolverá una respuesta adicional.

Copilot está pensado para proporcionarle la solución más relevante para la resolución de tareas. Sin embargo, es posible que no siempre proporcione la respuesta que buscas. Usted es responsable de revisar y validar las respuestas generadas por Copilot para asegurarse de que son precisas y adecuadas. Para obtener más información, vea la sección Mejora de los resultados de CLI de GitHub Copilot, más adelante en este artículo.

Casos de uso para CLI de GitHub Copilot

Puede delegar una tarea en Copilot en una variedad de escenarios, entre los que se incluyen, entre otros:

  •         **Mantenimiento de código base:** Abordar las correcciones relacionadas con la seguridad, las actualizaciones de dependencia y la refactorización dirigida.
    
  •         **Documentación:** Actualización y creación de documentación nueva.
    
  •         **Desarrollo de características:** Implementación de solicitudes de características incrementales.
    
  •         **Mejora de la cobertura de pruebas:** Desarrollo de conjuntos de pruebas adicionales para la administración de calidad.
    
  •         **Creación de prototipos de nuevos proyectos:** Nuevos conceptos de greenfielding.
    
  •         **Configuración del entorno:** Ejecución de comandos en el terminal para configurar el entorno local para que funcione en proyectos existentes
    
  •         **Busque el comando correcto para realizar una tarea:**Copilot puede proporcionar sugerencias para que los comandos realicen tareas que está intentando completar.
    
  •         **Explicar un comando desconocido:**Copilot puede proporcionar una descripción del lenguaje natural de la funcionalidad y el propósito de un comando.
    

Mejora de los resultados de CLI de GitHub Copilot

          CLI de GitHub Copilot puede admitir una amplia gama de tareas. Para mejorar las respuestas que recibe y abordar algunas de las limitaciones del agente, hay varias medidas que puede adoptar.

Para obtener más información sobre las limitaciones, vea la sección Limitaciones de CLI de GitHub Copilot, más adelante en este artículo.

Comprobación de que las tareas tienen un ámbito correcto

          CLI de GitHub Copilot aprovecha el mensaje como contexto clave al completar una tarea. Cuanto más claro y más bien esté en el ámbito que proporcione, mejor será el resultado que obtendrá. Un aviso ideal incluye:
  • Una descripción clara del problema que se va a resolver o del trabajo necesario.
  • Criterios de aceptación completos sobre el aspecto de una buena solución (por ejemplo, ¿debería haber pruebas unitarias?).
  • Sugerencias sobre qué archivos deben cambiarse.

Personalización de la experiencia con contexto adicional

          CLI de GitHub Copilot aprovecha el mensaje y el código del repositorio como contexto al generar cambios sugeridos. Para mejorar Copilotel rendimiento, considere la posibilidad de implementar instrucciones personalizadas Copilot para ayudar al agente a comprender mejor el proyecto y a compilar, probar y validar sus cambios. Para más información, consulta [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/add-custom-instructions).

Usar CLI de GitHub Copilot como herramienta, no como reemplazo

Aunque CLI de GitHub Copilot puede ser una herramienta eficaz para generar código y documentación, es importante usarlo como herramienta, en lugar de reemplazar la programación humana. Siempre debe revisar y comprobar los comandos generados por CLI de GitHub Copilot para asegurarse de que cumple sus requisitos y está libre de errores o problemas de seguridad.

Uso de procedimientos de codificación segura y revisión del código

Aunque CLI de GitHub Copilot puede generar código sintácticamente correcto, es posible que no siempre sea seguro. Siempre tienes que seguir los procedimientos recomendados para lograr una programación segura, como evitar las contraseñas codificadas de forma rígida o las vulnerabilidades por inyección de código SQL, así como los procedimientos recomendados de revisión del código, para abordar las limitaciones del agente. Siempre debes tomar las mismas precauciones que con cualquier código que escribas que use material que no originado de forma independiente, incluidas las precauciones para garantizar su idoneidad. Estas incluyen pruebas rigurosas, examen de IP y revisión de vulnerabilidades de seguridad.

Proporcionar comentarios

Si encuentra algún problema o limitaciones con CLI de GitHub Copilot, se recomienda proporcionar comentarios mediante el /feedback comando .

Medidas de seguridad para CLI de GitHub Copilot

Restricción de Copilotlos permisos

De forma predeterminada, CLI de Copilot:

  • Solo tiene acceso a archivos y carpetas de , y a continuación, el directorio desde el que CLI de GitHub Copilot se invocó. Asegúrese de confiar en los archivos de este directorio. Si Copilot desea acceder a los archivos fuera del directorio actual, solicitará permiso. Concédalo permiso solo si confía en el contenido de ese directorio.
  • Solicitará permiso antes de modificar los archivos. Asegúrese de que está modificando los archivos correctos antes de conceder permiso.
  • Solicitará permiso antes de ejecutar comandos que puedan ser peligrosos. Revise detenidamente estos comandos antes de concederle permiso para ejecutarse.

Puede conceder CLI de Copilot permisos específicos o todos los permisos mediante las distintas opciones de la línea de comandos: por ejemplo, --allow-tool=[TOOLS...], --allow-all-tools, --allow-all (o su comando de barra diagonal equivalente /allow-all para su uso en una sesión interactiva). Para más información, consulta Referencia de comandos de la interfaz de línea de comandos (CLI) de GitHub Copilot. Normalmente, cuando se usa CLI de Copilot en el modo Autopilot, se le concederán permisos completos para permitir que complete una tarea de forma autónoma, sin necesidad de aprobar la actividad a medida que funciona en la tarea. Para más información, consulta Permitir que la CLI de GitHub Copilot funcione de forma autónoma.

Para obtener más información sobre las prácticas de seguridad al usar CLI de GitHub Copilot, vea "Consideraciones de seguridad" en Acerca de GitHub Copilot CLI.

Control de datos al usar su propio proveedor de modelos

Al configurar CLI de Copilot para usar su propio proveedor de modelos, las solicitudes, el contexto de código y las respuestas generadas se envían directamente al proveedor que configure. No se enrutan a través de GitHub. Usted es responsable de revisar y cumplir con los términos de servicio y las directivas de control de datos de su proveedor elegido.

Telemetría

Cuando se usa su propio proveedor de modelos sin modo sin conexión, CLI de Copilot continúa enviando telemetría a GitHub como de costumbre. Esta telemetría no incluye los mensajes ni el código, pero incluye metadatos de uso.

Si habilita el modo sin conexión estableciendo la COPILOT_OFFLINE variable truede entorno en , se deshabilita toda la telemetría. En modo sin conexión, CLI de Copilot solo realiza solicitudes de red al proveedor de modelos configurado.

Autenticación y disponibilidad de características

          GitHub La autenticación no es necesaria cuando se usa su propio proveedor de modelos (BYOK). Sin GitHub autenticación, las siguientes características no están disponibles:

* /delegate, que entrega la sesión al GitHublado del servidor Copilot

  • Servidor GitHub MCP
  •         GitHub Búsqueda de código
    

En el modo sin conexión, también se deshabilitan las herramientas basadas en web, como web_fetch y GitHub Búsqueda de código.

No hay ninguna reserva en GitHublos modelos hospedados

Si la configuración del proveedor de modelos no es válida, CLI de Copilot se cierra con un error. No se revierte a GitHublos modelos hospedados. Los errores comunes, como los rechazados por la conexión, los errores de autenticación, el modelo no encontrado y los tiempos de espera, generan mensajes fáciles de usar con instrucciones que requieren acción.

Limitaciones de CLI de GitHub Copilot

En función de factores como el código base y los datos de entrada, puede experimentar diferentes niveles de rendimiento al usar CLI de GitHub Copilot. La siguiente información está diseñada para ayudarle a comprender las limitaciones del sistema y los conceptos clave sobre el rendimiento a medida que se aplican a CLI de GitHub Copilot.

Ámbito limitado

El modelo de lenguaje usado por CLI de GitHub Copilot se ha entrenado en un gran cuerpo de código, pero aún tiene un ámbito limitado y puede que no pueda controlar determinadas estructuras de código o lenguajes de programación ocultos. Para cada idioma, la calidad de las sugerencias que reciba puede depender del volumen y la diversidad de datos de entrenamiento para ese idioma.

Sesgos posibles

El modelo de lenguaje utilizado por CLI de GitHub Copilot, junto con los datos de entrenamiento y el contexto recogidos por el modelo de lenguaje grande, pueden contener sesgos y errores que la herramienta puede perpetuar. Además, CLI de GitHub Copilot puede estar sesgado hacia determinados lenguajes de programación o estilos de codificación, lo que puede dar lugar a sugerencias poco óptimas o incompletas.

Riesgos de seguridad

          CLI de GitHub Copilot genera código y lenguaje natural en función del contexto de un problema o comentario dentro de un repositorio, que puede exponer información confidencial o vulnerabilidades si no se usa cuidadosamente. Debe tener cuidado de revisar todas las salidas generadas exhaustivamente CLI de GitHub Copilot antes de la combinación.

Código inexacto

          CLI de GitHub Copilot puede generar código que parezca ser válido, pero que realmente no sea semántica o sintácticamente correcto o 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.

Código público

          CLI de GitHub Copilot puede generar un código que coincida o sea similar al código disponible públicamente, incluso si la directiva "Sugerencias que coinciden con código público" está configurada en "Bloquear". Consulta [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/managing-your-copilot-plan/managing-copilot-policies-as-an-individual-subscriber#enabling-or-disabling-suggestions-matching-public-code).

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 IA no están diseñados para usarse de un modo prohibido en términos de servicio aplicables y códigos de conducta pertinentes.

Administración de riesgos y responsabilidad del usuario en la ejecución de comandos

Se requiere precaución adicional al preguntar o permitir CLI de GitHub Copilot ejecutar un comando, especialmente con respecto a la posible destrucción de algunos comandos sugeridos. Es posible que encuentre comandos para la eliminación de archivos o el formato del disco duro, lo que puede causar problemas si se usan incorrectamente. Aunque estos comandos pueden ser necesarios en determinados escenarios, debe tener cuidado al aceptar y ejecutar estos comandos.

Además, en última instancia es responsable de los comandos ejecutados por CLI de GitHub Copilot. Es completamente su decisión si se deben usar comandos generados por CLI de GitHub Copilot. A pesar de la presencia de mecanismos de seguridad y notificaciones de error, debe comprender que la ejecución de comandos conlleva riesgos inherentes. CLI de GitHub Copilot proporciona un conjunto de herramientas eficaz, pero debe abordar sus recomendaciones con precaución y asegurarse de que los comandos se alinean con sus intenciones y requisitos.

Lectura adicional

  •         [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-terms-for-additional-products-and-features#github-copilot)
    
  •         [
            GitHub Copilot Centro de confianza](https://copilot.github.trust.page/)