Skip to main content

Uso responsable de GitHub Copilot Chat en tu IDE

Obtenga información sobre cómo usar Copilot Chat de GitHub de forma responsable mediante la comprensión de sus propósitos, funcionalidades y limitaciones.

¿Quién puede utilizar esta característica?

Todos los usuarios con un plan Copilot Pro, Copilot Pro+ o Copilot gratis pueden acceder a Chat de Copiloto en los IDE admitidos y en el sitio web de GitHub.

Los propietarios de organizaciones con un plan de Copilot Business pueden decidir si conceder acceso a Chat de Copiloto.

Acerca de Copilot Chat de GitHub

Copilot Chat de GitHub es una interfaz de chat que le permite interactuar con GitHub Copilot, para hacer y recibir respuestas a preguntas relacionadas con la codificación dentro de la página web GitHub e IDE compatibles. La interfaz de chat proporciona acceso a información de codificación y soporte técnico sin necesidad de navegar por la documentación ni buscar en foros en línea. Para más información, consulta ¿Qué es GitHub Copilot?.

Copilot Chat de GitHub puede responder una amplia variedad de preguntas relacionadas con la codificación sobre temas como sintaxis, conceptos de programación, casos de prueba, depuración, entre otros. Copilot Chat de GitHub no está diseñado para responder preguntas no relacionadas con la codificación ni proporcionar información general sobre temas fuera de la codificación.

El idioma principal admitido para Copilot Chat de GitHub es el inglés.

Copilot Chat de GitHub funciona mediante la combinación del procesamiento del lenguaje natural y el aprendizaje automático para entender tu pregunta y brindarte una respuesta. Este proceso se puede dividir en varios pasos.

Procesamiento de entradas

El sistema Chat de Copiloto procesa previamente el mensaje de entrada del usuario, combinado con información contextual (por ejemplo, el nombre del repositorio que el usuario está viendo actualmente y los archivos que ha abierto) y se envía a un modelo de lenguaje grande. La entrada del usuario puede adoptar la forma de fragmentos de código o lenguaje sin formato.

La información contextual adicional se puede agregar automáticamente a mensajes de chat desde un archivo .github/copilot-instructions.md opcional que el usuario puede crear. Esta información adicional no se muestra en el chat, pero si las instrucciones se envían al modelo, el archivo aparece como referencia en la respuesta de chat. El usuario puede deshabilitar esta característica en la configuración de la extensión de Copilot.

El modelo de lenguaje grande tomará el mensaje, recopilará contexto adicional (por ejemplo, los datos del repositorio almacenados en GitHub), y proporcionarán una respuesta basada en el mensaje. El sistema solo está pensado para responder a preguntas relacionadas con la codificación.

Análisis del modelo de lenguaje

La solicitud procesada previamente luego se pasa a través del modelo de lenguaje de Chat de Copiloto, que es una red neuronal entrenada en un cuerpo de datos de texto de gran tamaño. El modelo de lenguaje analiza la solicitud de entrada.

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. El modelo de lenguaje puede recopilar contexto adicional y proporcionar una respuesta basada en la consulta. Esta respuesta puede adoptar la forma de código generado, sugerencias de código o explicaciones del código existente.

Cuando utilices el participante de chat @github, Chat de Copiloto podrá recopilar el contexto de tu código almacenado en GitHub y de los resultados de búsqueda de Bing (si tu administrador lo habilita).

Formato de salida

Se aplica formato a la respuesta generada por Chat de Copiloto y se la presenta al usuario. Chat de Copiloto puede usar el resaltado de sintaxis, sangría y otras características de formato para agregar claridad a la respuesta generada. Dependiendo del tipo de pregunta del usuario, también se pueden proporcionar vínculos al contexto que el modelo usó al generar una respuesta, como archivos de código fuente o documentación.

Copilot Chat de GitHub está pensado para proporcionarte la respuesta más pertinente para tu pregunta. Sin embargo, es posible que no siempre proporcione la respuesta que buscas. Los usuarios de Chat de Copiloto son responsables de revisar y validar las respuestas que el sistema genera para asegurarse de que son precisas y adecuadas. Además, como parte del proceso de desarrollo de productos, realizamos equipos rojos para comprender y mejorar la seguridad de Chat de Copiloto. Los mensajes de entrada y las finalizaciones de salida se ejecutan a través de filtros de contenido. El sistema de filtrado de contenido detecta e impide la salida en categorías específicas de contenido, incluido contenido dañino, ofensivo o fuera del tema. Para obtener más información sobre cómo mejorar el rendimiento de Copilot Chat de GitHub, consulta Mejora del rendimiento para Copilot Chat de GitHub.

Uso de una búsqueda web para responder a una pregunta

Al usar el participante del chat @github, Copilot Chat de GitHub puedes usar una búsqueda de Bing para ayudar a responder a tu pregunta si el administrador lo ha habilitado.

El administrador de GitHub Enterprise puede habilitar Bing para toda la empresa o delegar esta decisión al administrador de la organización. Para más información, consulta Aplicación de directivas para GitHub Copilot en la empresa.

Al usar Bing, Copilot utilizará el contenido del mensaje, así como contexto disponible adicional, para generar una consulta de búsqueda de Bing en su nombre que se envía a Bing Search API. Copilot proporcionará un vínculo a los resultados de búsqueda con su respuesta. La consulta de búsqueda enviada a Bing se rige por la Declaración de privacidad de Microsoft.

Uso de Bring Your Own Key (BYOK) con GitHub Copilot

Al usar Bring Your Own Key con Copilot Chat de GitHub, puede conectar la experiencia de chat a modelos de lenguaje de gran tamaño de proveedores compatibles más allá del modelo predeterminado Copilot. Entre los ejemplos de proveedores admitidos se incluyen Anthropic, AWS Bedrock, Google AI Studio, Microsoft Foundry, OpenAI, proveedores compatibles con OpenAI y xAI. Puede añadir la clave de API para el proveedor elegido directamente en la configuración de Copilot.

Cuando BYOK está activo:

  • Alcance de la funcionalidad: el modelo que has elegido se usa en Copilot Chat de GitHub. En el modo agente, BYOK potencia la conversación principal, pero ciertas acciones, como la aplicación de código u otras llamadas a herramientas, pueden seguir usando modelos hospedados por GitHub optimizados para esas tareas. Estos modelos integrados no se ejecutan a través del proveedor BYOK.
  • Procesos de seguridad: independientemente del proveedor que esté activo, las respuestas siguen pasando por GitHublos sistemas de seguridad de }, incluido el filtrado de contenido, antes de que se muestren los resultados.
  • Consideraciones de calidad: las sugerencias pueden variar en función de las fortalezas y la cobertura de entrenamiento de su proveedor elegido.
  • Control de datos: al usar BYOK, las solicitudes y respuestas se transmiten al proveedor seleccionado y pueden estar sujetas a las directivas de privacidad y retención de datos de ese proveedor. GitHub procesa temporalmente estos datos para el filtrado de seguridad, pero no conserva el contenido de conversación BYOK más allá de la duración de la sesión.
  • Sus responsabilidades: Usted es responsable de lo siguiente:
    • Seguridad de la clave de API del proveedor
    • Costos de uso o cuotas
    • Validación de salida
    • Evaluación de si el modelo elegido cumple los requisitos de seguridad y calidad
    • Cumplimiento de los términos del proveedor seleccionado
    • Determinar si el modelo elegido cumple con las leyes aplicables
    • Asegurarse de que un usuario revisa cualquier salida antes de usarla para tomar decisiones que afecten a las personas
  • Restricciones de exportación: determinados modelos de IA pueden estar sujetos a controles de exportación. Compruebe que el proveedor y el modelo seleccionados están autorizados para su uso en su jurisdicción.

BYOK permite a su organización elegir el modelo de lenguaje que mejor se adapte a sus necesidades mientras se beneficia de GitHubla infraestructura de seguridad de }. Tenga en cuenta que las características de seguridad y rendimiento del modelo dependen del proveedor.

Casos de uso de Copilot Chat de GitHub

Copilot Chat de GitHub puede proporcionar asistencia de codificación en diversos escenarios.

Generación de casos de prueba unitaria

Chat de Copiloto puede serle de ayuda para escribir casos de prueba unitaria mediante la generación de fragmentos de código basados en el código abierto en el editor o el fragmento de código que resaltes en el editor. Esto puede ayudarte a escribir casos de prueba sin dedicar tanto tiempo a tareas repetitivas. Por ejemplo, si estás escribiendo un caso de prueba para una función específica, puedes usar Chat de Copiloto para sugerir parámetros de entrada y valores de salida esperados en función del cuerpo y la signatura de la función. Chat de Copiloto también puede sugerir aserciones que garantizan que la función opera correctamente en virtud de la semántica y el contexto del código.

Chat de Copiloto también puede ayudarte a escribir casos de prueba para condiciones de límite y casos perimetrales que pueden resultar difíciles de identificar de manera manual. Por ejemplo, Chat de Copiloto 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. Para obtener más información sobre cómo generar casos de pruebas unitarias, consulta Preguntar sobre el código a Copilot Chat de GitHub.

Explicación del código y sugerencias de mejoras

Chat de Copiloto puede ayudar a explicar el código seleccionado mediante la generación de descripciones en lenguaje natural del propósito y la funcionalidad del código. Esto puede ser útil si deseas comprender el comportamiento del código o para las partes interesadas no técnicas que necesitan entender cómo funciona el código. Por ejemplo, si seleccionas una función o un bloque de código en el editor de código, Chat de Copiloto puede generar una descripción en lenguaje natural de lo que hace el código y cómo encaja en el sistema general. Esto puede incluir información como los parámetros de entrada y salida de la función, sus dependencias y su propósito en la aplicación más grande.

Chat de Copiloto también puede sugerir posibles mejoras en el código seleccionado, como un control mejorado de errores y casos perimetrales, o cambios en el flujo lógico para que el código sea más legible.

Al generar explicaciones y sugerir documentación relacionada, Chat de Copiloto puede ayudarte a comprender el código seleccionado, lo que lleva a una mejor colaboración y a un desarrollo de software más eficaz. Sin embargo, es importante tener en cuenta que es posible que la documentación y las explicaciones generadas no siempre sean precisas o completas, por lo que deberás revisar (y, en ocasiones, corregir) la salida de Chat de Copiloto.

Propuesta de correcciones de código

Chat de Copiloto puede proponer una corrección de los errores existentes en el código; para ello, sugiere fragmentos de código y soluciones en función del contexto del error o problema. Esto puede resultar útil si tienes dificultades para identificar la causa principal de un error o necesitas instrucciones sobre la mejor manera de corregirlo. Por ejemplo, si el código genera un mensaje de error o una advertencia, Chat de Copiloto puede sugerir correcciones posibles en función del mensaje de error, la sintaxis del código y el código circundante.

Chat de Copiloto puede sugerir cambios en variables, estructuras de control o llamadas de función que podrían resolver el problema y generar fragmentos de código que se puedan incorporar en el código base. Sin embargo, es importante tener en cuenta que es posible que las correcciones sugeridas no siempre sean óptimas o completas, por lo que deberás revisar y probar las sugerencias.

Respuesta a las preguntas de codificación

Puede pedirle a Chat de Copiloto ayuda o aclaración en caso de problemas de codificación específicos y recibir respuestas en formato de lenguaje natural o en formato de fragmento de código.

La respuesta generada por Chat de Copiloto usará el conjunto de datos de entrenamiento del modelo para responder a sus preguntas.

Al usar el participante del chat de @github, la respuesta generada puede además emplear resultados de búsqueda de Bing y el código de sus repositorios.

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 para Copilot Chat de GitHub

Chat de Copiloto puede admitir una amplia variedad de aplicaciones prácticas, como la generación de código, el análisis de código y las correcciones de código, cada una de las cualquier con distintas métricas de rendimiento y estrategias de mitigación. Hay varias medidas que puedes tomar para mejorar el rendimiento y abordar algunas de las limitaciones de Chat de Copiloto. Para más información sobre las limitaciones de Chat de Copiloto, consulta Limitaciones de Copilot Chat de GitHub.

Limite sus solicitudes al tema en cuestión

Chat de Copiloto está pensado exclusivamente para abordar consultas relacionadas con la codificación. Por lo tanto, limitar la solicitud a preguntas o tareas relacionadas con la codificación puede mejorar la calidad de la salida del modelo.

Uso de Chat de Copiloto como herramienta, no como reemplazo

Si bien Chat de Copiloto 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 y probar el código que genera Chat de Copiloto para asegurarte de que cumple con tus requisitos y que no tiene errores ni problemas de seguridad.

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

Si bien Chat de Copiloto puede generar código sintácticamente correcto, es posible que no siempre sea seguro. Siempre tienes que seguir los procedimientos recomendados para lograr una codificación segura, como evitar las contraseñas codificadas de forma rígida o las vulnerabilidades por inyección de código SQL, así como seguir los procedimientos recomendados de revisión del código, para abordar las limitaciones de Chat de Copiloto.

Proporcionar comentarios

Si tienes problemas o limitaciones con Chat de Copiloto, te recomendamos que proporciones comentarios a través del vínculo Compartir comentarios en la interfaz de Chat de Copiloto del IDE. Esto puede ayudar a los desarrolladores a mejorar la herramienta y abordar cualquier problema o limitación.

Manténgase actualizado.

Chat de Copiloto es una tecnología nueva y es probable que evolucione 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 manera predeterminada en Visual Studio Code, Visual Studio y la suite de JetBrains de los IDE. En GitHub Copilot Chat en GitHub, siempre tendrá acceso a la experiencia de producto más reciente. Si tienes habilitadas las actualizaciones automáticas, Chat de Copiloto 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, consulte la documentación de Visual Studio Code, la documentación de Visual Studio y la documentación del IDE de JetBrains.

Limitaciones de la Copilot Chat de GitHub

En función de factores como el código base y los datos de entrada, es posible que experimentes distintos niveles de rendimiento al utilizar Chat de Copiloto. La información siguiente está diseñada para ayudarte a entender las limitaciones del sistema y los conceptos clave sobre el rendimiento aplicables a la Chat de Copiloto.

Ámbito limitado

Chat de Copiloto se entrenó en un cuerpo de código grande, pero sigue teniendo un ámbito limitado y es posible que no pueda controlar estructuras de código más complejas o lenguajes de programación oscuros. 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 Chat de Copiloto en términos de apoyo. Además, Chat de Copiloto solo puede 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 más grandes.

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, Chat de Copiloto puede tener un sesgo 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

Chat de Copiloto 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 Chat de Copiloto 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

Chat de Copiloto es capaz de generar código nuevo y lo hace de manera probabilística. Aunque la probabilidad de que pueda generar código que coincida con el código del conjunto de formación es baja, una sugerencia de Chat de Copiloto puede contener algunos fragmentos de código que coinciden con el código del conjunto de formación.

Si ha deshabilitado las sugerencias que coincidan con el código público, Chat de Copiloto utiliza filtros que impiden que muestre código que coincida con el código encontrado en repositorios públicos en GitHub. Sin embargo, siempre debe tomar las mismas precauciones que con cualquier código que escriba 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. Debe asegurarse de que el IDE o el editor no compila ni ejecuta automáticamente código generado antes de que puedas revisarlo.

Si ha habilitado las sugerencias que coincidan con código público, Chat de Copiloto muestra un mensaje si se encuentra código coincidente. El mensaje incluye un vínculo que le permite mostrar los detalles del código coincidente y los detalles de licencia que se encontraron, en el editor de VS Code. Para más información, consulta Búsqueda de código público que coincida con las sugerencias de GitHub Copilot.

Chat de Copiloto utiliza filtros que bloquea las coincidencias con el código público en repositorios de GitHub, pero siempre debe tomar las mismas precauciones que con cualquier código que escriba que use materiales que no originaste de forma independiente, incluidas las precauciones para garantizar su idoneidad. Estas incluyen pruebas rigurosas, examen de IP y revisión de vulnerabilidades de seguridad. Debe asegurarse de que el IDE o el editor no compila ni ejecuta automáticamente código generado antes de que puedas revisarlo.

Chat de Copiloto utiliza filtros que bloquea las coincidencias con el código público en repositorios de GitHub, pero siempre debe tomar las mismas precauciones que con cualquier código que escriba que use materiales que no originaste de forma independiente, incluidas las precauciones para garantizar su idoneidad. Estas incluyen pruebas rigurosas, examen de IP y revisión de vulnerabilidades de seguridad. Debe asegurarse de que el IDE o el editor no compila ni ejecuta automáticamente código generado antes de que puedas revisarlo.

Código inexacto

Una de las limitaciones de Chat de Copiloto 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.

Respuestas inexactas a temas no relacionados con la codificación

Chat de Copiloto no está diseñado para responder preguntas no relacionadas con la codificación y, por lo tanto, es posible que sus respuestas no siempre sean precisas o útiles en estos contextos. Si un usuario le hace una pregunta no relacionada con la codificación a Chat de Copiloto, este puede generar una respuesta irrelevante o sin sentido, o bien simplemente puede indicar que no puede proporcionar ninguna respuesta útil.

Pasos siguientes

Para más información sobre cómo usar Copilot Chat de GitHub, consulte:

Información adicional

Acerca de Copilot Chat de GitHub

Copilot Chat de GitHub es una interfaz de chat que le permite interactuar con GitHub Copilot, para hacer y recibir respuestas a preguntas relacionadas con la codificación dentro de la página web GitHub e IDE compatibles. La interfaz de chat proporciona acceso a información de codificación y soporte técnico sin necesidad de navegar por la documentación ni buscar en foros en línea. Para más información, consulta ¿Qué es GitHub Copilot?.

Copilot Chat de GitHub puede responder una amplia variedad de preguntas relacionadas con la codificación sobre temas como sintaxis, conceptos de programación, casos de prueba, depuración, entre otros. Copilot Chat de GitHub no está diseñado para responder preguntas no relacionadas con la codificación ni proporcionar información general sobre temas fuera de la codificación.

El idioma principal admitido para Copilot Chat de GitHub es el inglés.

Copilot Chat de GitHub funciona mediante la combinación del procesamiento del lenguaje natural y el aprendizaje automático para entender tu pregunta y brindarte una respuesta. Este proceso se puede dividir en varios pasos.

Procesamiento de entradas

El sistema Chat de Copiloto procesa previamente el mensaje de entrada del usuario, combinado con información contextual (por ejemplo, el nombre del repositorio que el usuario está viendo actualmente y los archivos que ha abierto) y se envía a un modelo de lenguaje grande. La entrada del usuario puede adoptar la forma de fragmentos de código o lenguaje sin formato.

La información contextual adicional se puede agregar automáticamente a mensajes de chat desde un archivo .github/copilot-instructions.md opcional que el usuario puede crear. Esta información adicional no se muestra en el chat, pero si las instrucciones se envían al modelo, el archivo aparece como referencia en la respuesta de chat. El usuario puede deshabilitar esta característica en la configuración de la extensión de Copilot.

El modelo de lenguaje grande tomará el mensaje, recopilará contexto adicional (por ejemplo, los datos del repositorio almacenados en GitHub), y proporcionarán una respuesta basada en el mensaje. El sistema solo está pensado para responder a preguntas relacionadas con la codificación.

Análisis del modelo de lenguaje

La solicitud procesada previamente luego se pasa a través del modelo de lenguaje de Chat de Copiloto, que es una red neuronal entrenada en un cuerpo de datos de texto de gran tamaño. El modelo de lenguaje analiza la solicitud de entrada.

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. El modelo de lenguaje puede recopilar contexto adicional y proporcionar una respuesta basada en la consulta. Esta respuesta puede adoptar la forma de código generado, sugerencias de código o explicaciones del código existente.

Al usar el participante del chat @github, Chat de Copiloto podrá recopilar contexto del código almacenado en GitHub y los resultados de la búsqueda de Bing (si el administrador lo ha habilitado).

Formato de salida

Se aplica formato a la respuesta generada por Chat de Copiloto y se la presenta al usuario. Chat de Copiloto puede usar el resaltado de sintaxis, sangría y otras características de formato para agregar claridad a la respuesta generada. Dependiendo del tipo de pregunta del usuario, también se pueden proporcionar vínculos al contexto que el modelo usó al generar una respuesta, como archivos de código fuente o documentación.

Copilot Chat de GitHub está pensado para proporcionarte la respuesta más pertinente para tu pregunta. Sin embargo, es posible que no siempre proporcione la respuesta que buscas. Los usuarios de Chat de Copiloto son responsables de revisar y validar las respuestas que el sistema genera para asegurarse de que son precisas y adecuadas. Además, como parte del proceso de desarrollo de productos, realizamos equipos rojos para comprender y mejorar la seguridad de Chat de Copiloto. Los mensajes de entrada y las finalizaciones de salida se ejecutan a través de filtros de contenido. El sistema de filtrado de contenido detecta e impide la salida en categorías específicas de contenido, incluido contenido dañino, ofensivo o fuera del tema. Para obtener más información sobre cómo mejorar el rendimiento de Copilot Chat de GitHub, consulta Mejora del rendimiento para Copilot Chat de GitHub.

Uso de una búsqueda web para responder a una pregunta

Al usar el participante del chat @github, Copilot Chat de GitHub puedes usar una búsqueda de Bing para ayudar a responder a tu pregunta si el administrador lo ha habilitado.

El administrador de GitHub Enterprise puede habilitar Bing para toda la empresa o delegar esta decisión al administrador de la organización. Para más información, consulta Aplicación de directivas para GitHub Copilot en la empresa.

Al usar Bing, Copilot utilizará el contenido del mensaje, así como contexto disponible adicional, para generar una consulta de búsqueda de Bing en su nombre que se envía a Bing Search API. Copilot proporcionará un vínculo a los resultados de búsqueda con su respuesta. La consulta de búsqueda enviada a Bing se rige por la Declaración de privacidad de Microsoft.

Uso de Bring Your Own Key (BYOK) con GitHub Copilot

Al usar Bring Your Own Key con Copilot Chat de GitHub, puede conectar la experiencia de chat a modelos de lenguaje de gran tamaño de proveedores compatibles más allá del modelo predeterminado Copilot. Entre los ejemplos de proveedores admitidos se incluyen Anthropic, AWS Bedrock, Google AI Studio, Microsoft Foundry, OpenAI, proveedores compatibles con OpenAI y xAI. Puede añadir la clave de API para el proveedor elegido directamente en la configuración de Copilot.

Cuando BYOK está activo:

  • Alcance de la funcionalidad: el modelo que has elegido se usa en Copilot Chat de GitHub. En el modo agente, BYOK potencia la conversación principal, pero ciertas acciones, como la aplicación de código u otras llamadas a herramientas, pueden seguir usando modelos hospedados por GitHub optimizados para esas tareas. Estos modelos integrados no se ejecutan a través del proveedor BYOK.
  • Procesos de seguridad: independientemente del proveedor que esté activo, las respuestas siguen pasando por GitHublos sistemas de seguridad de }, incluido el filtrado de contenido, antes de que se muestren los resultados.
  • Consideraciones de calidad: las sugerencias pueden variar en función de las fortalezas y la cobertura de entrenamiento de su proveedor elegido.
  • Control de datos: al usar BYOK, las solicitudes y respuestas se transmiten al proveedor seleccionado y pueden estar sujetas a las directivas de privacidad y retención de datos de ese proveedor. GitHub procesa temporalmente estos datos para el filtrado de seguridad, pero no conserva el contenido de conversación BYOK más allá de la duración de la sesión.
  • Sus responsabilidades: Usted es responsable de lo siguiente:
    • Seguridad de la clave de API del proveedor
    • Costos de uso o cuotas
    • Validación de salida
    • Evaluación de si el modelo elegido cumple los requisitos de seguridad y calidad
    • Cumplimiento de los términos del proveedor seleccionado
    • Determinar si el modelo elegido cumple con las leyes aplicables
    • Asegurarse de que un usuario revisa cualquier salida antes de usarla para tomar decisiones que afecten a las personas
  • Restricciones de exportación: determinados modelos de IA pueden estar sujetos a controles de exportación. Compruebe que el proveedor y el modelo seleccionados están autorizados para su uso en su jurisdicción.

BYOK permite a su organización elegir el modelo de lenguaje que mejor se adapte a sus necesidades mientras se beneficia de GitHubla infraestructura de seguridad de }. Tenga en cuenta que las características de seguridad y rendimiento del modelo dependen del proveedor.

Casos de uso de Copilot Chat de GitHub

Copilot Chat de GitHub puede proporcionar asistencia de codificación en diversos escenarios.

Generación de casos de prueba unitaria

Chat de Copiloto puede serle de ayuda para escribir casos de prueba unitaria mediante la generación de fragmentos de código basados en el código abierto en el editor o el fragmento de código que resaltes en el editor. Esto puede ayudarte a escribir casos de prueba sin dedicar tanto tiempo a tareas repetitivas. Por ejemplo, si estás escribiendo un caso de prueba para una función específica, puedes usar Chat de Copiloto para sugerir parámetros de entrada y valores de salida esperados en función del cuerpo y la signatura de la función. Chat de Copiloto también puede sugerir aserciones que garantizan que la función opera correctamente en virtud de la semántica y el contexto del código.

Chat de Copiloto también puede ayudarte a escribir casos de prueba para condiciones de límite y casos perimetrales que pueden resultar difíciles de identificar de manera manual. Por ejemplo, Chat de Copiloto 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. Para obtener más información sobre cómo generar casos de pruebas unitarias, consulta Preguntar sobre el código a Copilot Chat de GitHub.

Explicación del código y sugerencias de mejoras

Chat de Copiloto puede ayudar a explicar el código seleccionado mediante la generación de descripciones en lenguaje natural del propósito y la funcionalidad del código. Esto puede ser útil si deseas comprender el comportamiento del código o para las partes interesadas no técnicas que necesitan entender cómo funciona el código. Por ejemplo, si seleccionas una función o un bloque de código en el editor de código, Chat de Copiloto puede generar una descripción en lenguaje natural de lo que hace el código y cómo encaja en el sistema general. Esto puede incluir información como los parámetros de entrada y salida de la función, sus dependencias y su propósito en la aplicación más grande.

Chat de Copiloto también puede sugerir posibles mejoras en el código seleccionado, como un control mejorado de errores y casos perimetrales, o cambios en el flujo lógico para que el código sea más legible.

Al generar explicaciones y sugerir documentación relacionada, Chat de Copiloto puede ayudarte a comprender el código seleccionado, lo que lleva a una mejor colaboración y a un desarrollo de software más eficaz. Sin embargo, es importante tener en cuenta que es posible que la documentación y las explicaciones generadas no siempre sean precisas o completas, por lo que deberás revisar (y, en ocasiones, corregir) la salida de Chat de Copiloto.

Propuesta de correcciones de código

Chat de Copiloto puede proponer una corrección de los errores existentes en el código; para ello, sugiere fragmentos de código y soluciones en función del contexto del error o problema. Esto puede resultar útil si tienes dificultades para identificar la causa principal de un error o necesitas instrucciones sobre la mejor manera de corregirlo. Por ejemplo, si el código genera un mensaje de error o una advertencia, Chat de Copiloto puede sugerir correcciones posibles en función del mensaje de error, la sintaxis del código y el código circundante.

Chat de Copiloto puede sugerir cambios en variables, estructuras de control o llamadas de función que podrían resolver el problema y generar fragmentos de código que se puedan incorporar en el código base. Sin embargo, es importante tener en cuenta que es posible que las correcciones sugeridas no siempre sean óptimas o completas, por lo que deberás revisar y probar las sugerencias.

Respuesta a las preguntas de codificación

Puede pedirle a Chat de Copiloto ayuda o aclaración en caso de problemas de codificación específicos y recibir respuestas en formato de lenguaje natural o en formato de fragmento de código.

La respuesta generada por Chat de Copiloto usará el conjunto de datos de entrenamiento del modelo para responder a sus preguntas.

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 para Copilot Chat de GitHub

Chat de Copiloto puede admitir una amplia variedad de aplicaciones prácticas, como la generación de código, el análisis de código y las correcciones de código, cada una de las cualquier con distintas métricas de rendimiento y estrategias de mitigación. Hay varias medidas que puedes tomar para mejorar el rendimiento y abordar algunas de las limitaciones de Chat de Copiloto. Para más información sobre las limitaciones de Chat de Copiloto, consulta Limitaciones de Copilot Chat de GitHub.

Limite sus solicitudes al tema en cuestión

Chat de Copiloto está pensado exclusivamente para abordar consultas relacionadas con la codificación. Por lo tanto, limitar la solicitud a preguntas o tareas relacionadas con la codificación puede mejorar la calidad de la salida del modelo.

Uso de Chat de Copiloto como herramienta, no como reemplazo

Si bien Chat de Copiloto 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 y probar el código que genera Chat de Copiloto para asegurarte de que cumple con tus requisitos y que no tiene errores ni problemas de seguridad.

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

Si bien Chat de Copiloto puede generar código sintácticamente correcto, es posible que no siempre sea seguro. Siempre tienes que seguir los procedimientos recomendados para lograr una codificación segura, como evitar las contraseñas codificadas de forma rígida o las vulnerabilidades por inyección de código SQL, así como seguir los procedimientos recomendados de revisión del código, para abordar las limitaciones de Chat de Copiloto.

Proporcionar comentarios

Si tienes problemas o limitaciones con Chat de Copiloto, te recomendamos que proporciones comentarios a través del vínculo Compartir comentarios en la interfaz de Chat de Copiloto del IDE. Esto puede ayudar a los desarrolladores a mejorar la herramienta y abordar cualquier problema o limitación.

Manténgase actualizado.

Chat de Copiloto es una tecnología nueva y es probable que evolucione 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 manera predeterminada en Visual Studio Code, Visual Studio y la suite de JetBrains de los IDE. En GitHub Copilot Chat en GitHub, siempre tendrá acceso a la experiencia de producto más reciente. Si tienes habilitadas las actualizaciones automáticas, Chat de Copiloto 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, consulte la documentación de Visual Studio Code, la documentación de Visual Studio y la documentación del IDE de JetBrains.

Limitaciones de la Copilot Chat de GitHub

En función de factores como el código base y los datos de entrada, es posible que experimentes distintos niveles de rendimiento al utilizar Chat de Copiloto. La información siguiente está diseñada para ayudarte a entender las limitaciones del sistema y los conceptos clave sobre el rendimiento aplicables a la Chat de Copiloto.

Ámbito limitado

Chat de Copiloto se entrenó en un cuerpo de código grande, pero sigue teniendo un ámbito limitado y es posible que no pueda controlar estructuras de código más complejas o lenguajes de programación oscuros. 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 Chat de Copiloto en términos de apoyo. Además, Chat de Copiloto solo puede 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 más grandes.

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, Chat de Copiloto puede tener un sesgo 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

Chat de Copiloto 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 Chat de Copiloto 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

Chat de Copiloto es capaz de generar código nuevo y lo hace de manera probabilística. Aunque la probabilidad de que pueda generar código que coincida con el código del conjunto de formación es baja, una sugerencia de Chat de Copiloto puede contener algunos fragmentos de código que coinciden con el código del conjunto de formación.

Si ha deshabilitado las sugerencias que coincidan con el código público, Chat de Copiloto utiliza filtros que impiden que muestre código que coincida con el código encontrado en repositorios públicos en GitHub. Sin embargo, siempre debe tomar las mismas precauciones que con cualquier código que escriba 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. Debe asegurarse de que el IDE o el editor no compila ni ejecuta automáticamente código generado antes de que puedas revisarlo.

Si ha habilitado las sugerencias que coincidan con código público, Chat de Copiloto muestra un mensaje si se encuentra código coincidente. El mensaje incluye un vínculo que le permite mostrar los detalles del código coincidente y los detalles de licencia que se encontraron, en el editor de VS Code. Para más información, consulta Búsqueda de código público que coincida con las sugerencias de GitHub Copilot.

Chat de Copiloto utiliza filtros que bloquea las coincidencias con el código público en repositorios de GitHub, pero siempre debe tomar las mismas precauciones que con cualquier código que escriba que use materiales que no originaste de forma independiente, incluidas las precauciones para garantizar su idoneidad. Estas incluyen pruebas rigurosas, examen de IP y revisión de vulnerabilidades de seguridad. Debe asegurarse de que el IDE o el editor no compila ni ejecuta automáticamente código generado antes de que puedas revisarlo.

Chat de Copiloto utiliza filtros que bloquea las coincidencias con el código público en repositorios de GitHub, pero siempre debe tomar las mismas precauciones que con cualquier código que escriba que use materiales que no originaste de forma independiente, incluidas las precauciones para garantizar su idoneidad. Estas incluyen pruebas rigurosas, examen de IP y revisión de vulnerabilidades de seguridad. Debe asegurarse de que el IDE o el editor no compila ni ejecuta automáticamente código generado antes de que puedas revisarlo.

Código inexacto

Una de las limitaciones de Chat de Copiloto 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.

Respuestas inexactas a temas no relacionados con la codificación

Chat de Copiloto no está diseñado para responder preguntas no relacionadas con la codificación y, por lo tanto, es posible que sus respuestas no siempre sean precisas o útiles en estos contextos. Si un usuario le hace una pregunta no relacionada con la codificación a Chat de Copiloto, este puede generar una respuesta irrelevante o sin sentido, o bien simplemente puede indicar que no puede proporcionar ninguna respuesta útil.

Pasos siguientes

Para más información sobre cómo usar Copilot Chat de GitHub, consulte:

Información adicional

Acerca de Copilot Chat de GitHub

Copilot Chat de GitHub es una interfaz de chat que le permite interactuar con GitHub Copilot, para hacer y recibir respuestas a preguntas relacionadas con la codificación dentro de la página web GitHub e IDE compatibles. La interfaz de chat proporciona acceso a información de codificación y soporte técnico sin necesidad de navegar por la documentación ni buscar en foros en línea. Para más información, consulta ¿Qué es GitHub Copilot?.

Copilot Chat de GitHub puede responder una amplia variedad de preguntas relacionadas con la codificación sobre temas como sintaxis, conceptos de programación, casos de prueba, depuración, entre otros. Copilot Chat de GitHub no está diseñado para responder preguntas no relacionadas con la codificación ni proporcionar información general sobre temas fuera de la codificación.

El idioma principal admitido para Copilot Chat de GitHub es el inglés.

Copilot Chat de GitHub funciona mediante la combinación del procesamiento del lenguaje natural y el aprendizaje automático para entender tu pregunta y brindarte una respuesta. Este proceso se puede dividir en varios pasos.

Procesamiento de entradas

El sistema Chat de Copiloto procesa previamente el mensaje de entrada del usuario, combinado con información contextual (por ejemplo, el nombre del repositorio que el usuario está viendo actualmente y los archivos que ha abierto) y se envía a un modelo de lenguaje grande. La entrada del usuario puede adoptar la forma de fragmentos de código o lenguaje sin formato.

El modelo de lenguaje grande tomará el mensaje, recopilará contexto adicional (por ejemplo, los datos del repositorio almacenados en GitHub), y proporcionarán una respuesta basada en el mensaje. El sistema solo está pensado para responder a preguntas relacionadas con la codificación.

Análisis del modelo de lenguaje

La solicitud procesada previamente luego se pasa a través del modelo de lenguaje de Chat de Copiloto, que es una red neuronal entrenada en un cuerpo de datos de texto de gran tamaño. El modelo de lenguaje analiza la solicitud de entrada.

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. El modelo de lenguaje puede recopilar contexto adicional y proporcionar una respuesta basada en la consulta. Esta respuesta puede adoptar la forma de código generado, sugerencias de código o explicaciones del código existente.

Formato de salida

Se aplica formato a la respuesta generada por Chat de Copiloto y se la presenta al usuario. Chat de Copiloto puede usar el resaltado de sintaxis, sangría y otras características de formato para agregar claridad a la respuesta generada. Dependiendo del tipo de pregunta del usuario, también se pueden proporcionar vínculos al contexto que el modelo usó al generar una respuesta, como archivos de código fuente o documentación.

Copilot Chat de GitHub está pensado para proporcionarte la respuesta más pertinente para tu pregunta. Sin embargo, es posible que no siempre proporcione la respuesta que buscas. Los usuarios de Chat de Copiloto son responsables de revisar y validar las respuestas que el sistema genera para asegurarse de que son precisas y adecuadas. Además, como parte del proceso de desarrollo de productos, realizamos equipos rojos para comprender y mejorar la seguridad de Chat de Copiloto. Los mensajes de entrada y las finalizaciones de salida se ejecutan a través de filtros de contenido. El sistema de filtrado de contenido detecta e impide la salida en categorías específicas de contenido, incluido contenido dañino, ofensivo o fuera del tema. Para obtener más información sobre cómo mejorar el rendimiento de Copilot Chat de GitHub, consulta Mejora del rendimiento para Copilot Chat de GitHub.

Uso de Bring Your Own Key (BYOK) con GitHub Copilot

Al usar Bring Your Own Key con Copilot Chat de GitHub, puede conectar la experiencia de chat a modelos de lenguaje de gran tamaño de proveedores compatibles más allá del modelo predeterminado Copilot. Entre los ejemplos de proveedores admitidos se incluyen Anthropic, AWS Bedrock, Google AI Studio, Microsoft Foundry, OpenAI, proveedores compatibles con OpenAI y xAI. Puede añadir la clave de API para el proveedor elegido directamente en la configuración de Copilot.

Cuando BYOK está activo:

  • Alcance de la funcionalidad: el modelo que has elegido se usa en Copilot Chat de GitHub. En el modo agente, BYOK potencia la conversación principal, pero ciertas acciones, como la aplicación de código u otras llamadas a herramientas, pueden seguir usando modelos hospedados por GitHub optimizados para esas tareas. Estos modelos integrados no se ejecutan a través del proveedor BYOK.
  • Procesos de seguridad: independientemente del proveedor que esté activo, las respuestas siguen pasando por GitHublos sistemas de seguridad de }, incluido el filtrado de contenido, antes de que se muestren los resultados.
  • Consideraciones de calidad: las sugerencias pueden variar en función de las fortalezas y la cobertura de entrenamiento de su proveedor elegido.
  • Control de datos: al usar BYOK, las solicitudes y respuestas se transmiten al proveedor seleccionado y pueden estar sujetas a las directivas de privacidad y retención de datos de ese proveedor. GitHub procesa temporalmente estos datos para el filtrado de seguridad, pero no conserva el contenido de conversación BYOK más allá de la duración de la sesión.
  • Sus responsabilidades: Usted es responsable de lo siguiente:
    • Seguridad de la clave de API del proveedor
    • Costos de uso o cuotas
    • Validación de salida
    • Evaluación de si el modelo elegido cumple los requisitos de seguridad y calidad
    • Cumplimiento de los términos del proveedor seleccionado
    • Determinar si el modelo elegido cumple con las leyes aplicables
    • Asegurarse de que un usuario revisa cualquier salida antes de usarla para tomar decisiones que afecten a las personas
  • Restricciones de exportación: determinados modelos de IA pueden estar sujetos a controles de exportación. Compruebe que el proveedor y el modelo seleccionados están autorizados para su uso en su jurisdicción.

BYOK permite a su organización elegir el modelo de lenguaje que mejor se adapte a sus necesidades mientras se beneficia de GitHubla infraestructura de seguridad de }. Tenga en cuenta que las características de seguridad y rendimiento del modelo dependen del proveedor.

Casos de uso de Copilot Chat de GitHub

Copilot Chat de GitHub puede proporcionar asistencia de codificación en diversos escenarios.

Generación de casos de prueba unitaria

Chat de Copiloto puede serle de ayuda para escribir casos de prueba unitaria mediante la generación de fragmentos de código basados en el código abierto en el editor o el fragmento de código que resaltes en el editor. Esto puede ayudarte a escribir casos de prueba sin dedicar tanto tiempo a tareas repetitivas. Por ejemplo, si estás escribiendo un caso de prueba para una función específica, puedes usar Chat de Copiloto para sugerir parámetros de entrada y valores de salida esperados en función del cuerpo y la signatura de la función. Chat de Copiloto también puede sugerir aserciones que garantizan que la función opera correctamente en virtud de la semántica y el contexto del código.

Chat de Copiloto también puede ayudarte a escribir casos de prueba para condiciones de límite y casos perimetrales que pueden resultar difíciles de identificar de manera manual. Por ejemplo, Chat de Copiloto 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. Para obtener más información sobre cómo generar casos de pruebas unitarias, consulta Preguntar sobre el código a Copilot Chat de GitHub.

Explicación del código y sugerencias de mejoras

Chat de Copiloto puede ayudar a explicar el código seleccionado mediante la generación de descripciones en lenguaje natural del propósito y la funcionalidad del código. Esto puede ser útil si deseas comprender el comportamiento del código o para las partes interesadas no técnicas que necesitan entender cómo funciona el código. Por ejemplo, si seleccionas una función o un bloque de código en el editor de código, Chat de Copiloto puede generar una descripción en lenguaje natural de lo que hace el código y cómo encaja en el sistema general. Esto puede incluir información como los parámetros de entrada y salida de la función, sus dependencias y su propósito en la aplicación más grande.

Chat de Copiloto también puede sugerir posibles mejoras en el código seleccionado, como un control mejorado de errores y casos perimetrales, o cambios en el flujo lógico para que el código sea más legible.

Al generar explicaciones y sugerir documentación relacionada, Chat de Copiloto puede ayudarte a comprender el código seleccionado, lo que lleva a una mejor colaboración y a un desarrollo de software más eficaz. Sin embargo, es importante tener en cuenta que es posible que la documentación y las explicaciones generadas no siempre sean precisas o completas, por lo que deberás revisar (y, en ocasiones, corregir) la salida de Chat de Copiloto.

Propuesta de correcciones de código

Chat de Copiloto puede proponer una corrección de los errores existentes en el código; para ello, sugiere fragmentos de código y soluciones en función del contexto del error o problema. Esto puede resultar útil si tienes dificultades para identificar la causa principal de un error o necesitas instrucciones sobre la mejor manera de corregirlo. Por ejemplo, si el código genera un mensaje de error o una advertencia, Chat de Copiloto puede sugerir correcciones posibles en función del mensaje de error, la sintaxis del código y el código circundante.

Chat de Copiloto puede sugerir cambios en variables, estructuras de control o llamadas de función que podrían resolver el problema y generar fragmentos de código que se puedan incorporar en el código base. Sin embargo, es importante tener en cuenta que es posible que las correcciones sugeridas no siempre sean óptimas o completas, por lo que deberás revisar y probar las sugerencias.

Respuesta a las preguntas de codificación

Puede pedirle a Chat de Copiloto ayuda o aclaración en caso de problemas de codificación específicos y recibir respuestas en formato de lenguaje natural o en formato de fragmento de código.

La respuesta generada por Chat de Copiloto usará el conjunto de datos de entrenamiento del modelo para responder a sus preguntas.

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 para Copilot Chat de GitHub

Chat de Copiloto puede admitir una amplia variedad de aplicaciones prácticas, como la generación de código, el análisis de código y las correcciones de código, cada una de las cualquier con distintas métricas de rendimiento y estrategias de mitigación. Hay varias medidas que puedes tomar para mejorar el rendimiento y abordar algunas de las limitaciones de Chat de Copiloto. Para más información sobre las limitaciones de Chat de Copiloto, consulta Limitaciones de Copilot Chat de GitHub.

Limite sus solicitudes al tema en cuestión

Chat de Copiloto está pensado exclusivamente para abordar consultas relacionadas con la codificación. Por lo tanto, limitar la solicitud a preguntas o tareas relacionadas con la codificación puede mejorar la calidad de la salida del modelo.

Uso de Chat de Copiloto como herramienta, no como reemplazo

Si bien Chat de Copiloto 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 y probar el código que genera Chat de Copiloto para asegurarte de que cumple con tus requisitos y que no tiene errores ni problemas de seguridad.

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

Si bien Chat de Copiloto puede generar código sintácticamente correcto, es posible que no siempre sea seguro. Siempre tienes que seguir los procedimientos recomendados para lograr una codificación segura, como evitar las contraseñas codificadas de forma rígida o las vulnerabilidades por inyección de código SQL, así como seguir los procedimientos recomendados de revisión del código, para abordar las limitaciones de Chat de Copiloto.

Proporcionar comentarios

Si tienes problemas o limitaciones con Chat de Copiloto, te recomendamos que proporciones comentarios a través del vínculo Compartir comentarios en la interfaz de Chat de Copiloto del IDE. Esto puede ayudar a los desarrolladores a mejorar la herramienta y abordar cualquier problema o limitación.

Manténgase actualizado.

Chat de Copiloto es una tecnología nueva y es probable que evolucione 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 manera predeterminada en Visual Studio Code, Visual Studio y la suite de JetBrains de los IDE. En GitHub Copilot Chat en GitHub, siempre tendrá acceso a la experiencia de producto más reciente. Si tienes habilitadas las actualizaciones automáticas, Chat de Copiloto 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, consulte la documentación de Visual Studio Code, la documentación de Visual Studio y la documentación del IDE de JetBrains.

Limitaciones de la Copilot Chat de GitHub

En función de factores como el código base y los datos de entrada, es posible que experimentes distintos niveles de rendimiento al utilizar Chat de Copiloto. La información siguiente está diseñada para ayudarte a entender las limitaciones del sistema y los conceptos clave sobre el rendimiento aplicables a la Chat de Copiloto.

Ámbito limitado

Chat de Copiloto se entrenó en un cuerpo de código grande, pero sigue teniendo un ámbito limitado y es posible que no pueda controlar estructuras de código más complejas o lenguajes de programación oscuros. 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 Chat de Copiloto en términos de apoyo. Además, Chat de Copiloto solo puede 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 más grandes.

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, Chat de Copiloto puede tener un sesgo 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

Chat de Copiloto 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 Chat de Copiloto 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

Chat de Copiloto es capaz de generar código nuevo y lo hace de manera probabilística. Aunque la probabilidad de que pueda generar código que coincida con el código del conjunto de formación es baja, una sugerencia de Chat de Copiloto puede contener algunos fragmentos de código que coinciden con el código del conjunto de formación.

Si ha deshabilitado las sugerencias que coincidan con el código público, Chat de Copiloto utiliza filtros que impiden que muestre código que coincida con el código encontrado en repositorios públicos en GitHub. Sin embargo, siempre debe tomar las mismas precauciones que con cualquier código que escriba 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. Debe asegurarse de que el IDE o el editor no compila ni ejecuta automáticamente código generado antes de que puedas revisarlo.

Si ha habilitado las sugerencias que coincidan con código público, Chat de Copiloto muestra un mensaje si se encuentra código coincidente. El mensaje incluye un vínculo que le permite mostrar los detalles del código coincidente y los detalles de licencia que se encontraron, en el editor de VS Code. Para más información, consulta Búsqueda de código público que coincida con las sugerencias de GitHub Copilot.

Chat de Copiloto utiliza filtros que bloquea las coincidencias con el código público en repositorios de GitHub, pero siempre debe tomar las mismas precauciones que con cualquier código que escriba que use materiales que no originaste de forma independiente, incluidas las precauciones para garantizar su idoneidad. Estas incluyen pruebas rigurosas, examen de IP y revisión de vulnerabilidades de seguridad. Debe asegurarse de que el IDE o el editor no compila ni ejecuta automáticamente código generado antes de que puedas revisarlo.

Chat de Copiloto utiliza filtros que bloquea las coincidencias con el código público en repositorios de GitHub, pero siempre debe tomar las mismas precauciones que con cualquier código que escriba que use materiales que no originaste de forma independiente, incluidas las precauciones para garantizar su idoneidad. Estas incluyen pruebas rigurosas, examen de IP y revisión de vulnerabilidades de seguridad. Debe asegurarse de que el IDE o el editor no compila ni ejecuta automáticamente código generado antes de que puedas revisarlo.

Código inexacto

Una de las limitaciones de Chat de Copiloto 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.

Respuestas inexactas a temas no relacionados con la codificación

Chat de Copiloto no está diseñado para responder preguntas no relacionadas con la codificación y, por lo tanto, es posible que sus respuestas no siempre sean precisas o útiles en estos contextos. Si un usuario le hace una pregunta no relacionada con la codificación a Chat de Copiloto, este puede generar una respuesta irrelevante o sin sentido, o bien simplemente puede indicar que no puede proporcionar ninguna respuesta útil.

Pasos siguientes

Para más información sobre cómo usar Copilot Chat de GitHub, consulte:

Información adicional

Acerca de Copilot Chat de GitHub

Copilot Chat de GitHub es una interfaz de chat que le permite interactuar con GitHub Copilot, para hacer y recibir respuestas a preguntas relacionadas con la codificación dentro de la página web GitHub e IDE compatibles. La interfaz de chat proporciona acceso a información de codificación y soporte técnico sin necesidad de navegar por la documentación ni buscar en foros en línea. Para más información, consulta ¿Qué es GitHub Copilot?.

Copilot Chat de GitHub puede responder una amplia variedad de preguntas relacionadas con la codificación sobre temas como sintaxis, conceptos de programación, casos de prueba, depuración, entre otros. Copilot Chat de GitHub no está diseñado para responder preguntas no relacionadas con la codificación ni proporcionar información general sobre temas fuera de la codificación.

El idioma principal admitido para Copilot Chat de GitHub es el inglés.

Copilot Chat de GitHub funciona mediante la combinación del procesamiento del lenguaje natural y el aprendizaje automático para entender tu pregunta y brindarte una respuesta. Este proceso se puede dividir en varios pasos.

Procesamiento de entradas

El sistema Chat de Copiloto procesa previamente el mensaje de entrada del usuario, combinado con información contextual (por ejemplo, el nombre del repositorio que el usuario está viendo actualmente y los archivos que ha abierto) y se envía a un modelo de lenguaje grande. La entrada del usuario puede adoptar la forma de fragmentos de código o lenguaje sin formato.

El modelo de lenguaje grande tomará el mensaje, recopilará contexto adicional (por ejemplo, los datos del repositorio almacenados en GitHub), y proporcionarán una respuesta basada en el mensaje. El sistema solo está pensado para responder a preguntas relacionadas con la codificación.

Análisis del modelo de lenguaje

La solicitud procesada previamente luego se pasa a través del modelo de lenguaje de Chat de Copiloto, que es una red neuronal entrenada en un cuerpo de datos de texto de gran tamaño. El modelo de lenguaje analiza la solicitud de entrada.

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. El modelo de lenguaje puede recopilar contexto adicional y proporcionar una respuesta basada en la consulta. Esta respuesta puede adoptar la forma de código generado, sugerencias de código o explicaciones del código existente.

Formato de salida

Se aplica formato a la respuesta generada por Chat de Copiloto y se la presenta al usuario. Chat de Copiloto puede usar el resaltado de sintaxis, sangría y otras características de formato para agregar claridad a la respuesta generada. Dependiendo del tipo de pregunta del usuario, también se pueden proporcionar vínculos al contexto que el modelo usó al generar una respuesta, como archivos de código fuente o documentación.

Copilot Chat de GitHub está pensado para proporcionarte la respuesta más pertinente para tu pregunta. Sin embargo, es posible que no siempre proporcione la respuesta que buscas. Los usuarios de Chat de Copiloto son responsables de revisar y validar las respuestas que el sistema genera para asegurarse de que son precisas y adecuadas. Además, como parte del proceso de desarrollo de productos, realizamos equipos rojos para comprender y mejorar la seguridad de Chat de Copiloto. Los mensajes de entrada y las finalizaciones de salida se ejecutan a través de filtros de contenido. El sistema de filtrado de contenido detecta e impide la salida en categorías específicas de contenido, incluido contenido dañino, ofensivo o fuera del tema. Para obtener más información sobre cómo mejorar el rendimiento de Copilot Chat de GitHub, consulta Mejora del rendimiento para Copilot Chat de GitHub.

Uso de Bring Your Own Key (BYOK) con GitHub Copilot

Al usar Bring Your Own Key con Copilot Chat de GitHub, puede conectar la experiencia de chat a modelos de lenguaje de gran tamaño de proveedores compatibles más allá del modelo predeterminado Copilot. Entre los ejemplos de proveedores admitidos se incluyen Anthropic, AWS Bedrock, Google AI Studio, Microsoft Foundry, OpenAI, proveedores compatibles con OpenAI y xAI. Puede añadir la clave de API para el proveedor elegido directamente en la configuración de Copilot.

Cuando BYOK está activo:

  • Alcance de la funcionalidad: el modelo que has elegido se usa en Copilot Chat de GitHub. En el modo agente, BYOK potencia la conversación principal, pero ciertas acciones, como la aplicación de código u otras llamadas a herramientas, pueden seguir usando modelos hospedados por GitHub optimizados para esas tareas. Estos modelos integrados no se ejecutan a través del proveedor BYOK.
  • Procesos de seguridad: independientemente del proveedor que esté activo, las respuestas siguen pasando por GitHublos sistemas de seguridad de }, incluido el filtrado de contenido, antes de que se muestren los resultados.
  • Consideraciones de calidad: las sugerencias pueden variar en función de las fortalezas y la cobertura de entrenamiento de su proveedor elegido.
  • Control de datos: al usar BYOK, las solicitudes y respuestas se transmiten al proveedor seleccionado y pueden estar sujetas a las directivas de privacidad y retención de datos de ese proveedor. GitHub procesa temporalmente estos datos para el filtrado de seguridad, pero no conserva el contenido de conversación BYOK más allá de la duración de la sesión.
  • Sus responsabilidades: Usted es responsable de lo siguiente:
    • Seguridad de la clave de API del proveedor
    • Costos de uso o cuotas
    • Validación de salida
    • Evaluación de si el modelo elegido cumple los requisitos de seguridad y calidad
    • Cumplimiento de los términos del proveedor seleccionado
    • Determinar si el modelo elegido cumple con las leyes aplicables
    • Asegurarse de que un usuario revisa cualquier salida antes de usarla para tomar decisiones que afecten a las personas
  • Restricciones de exportación: determinados modelos de IA pueden estar sujetos a controles de exportación. Compruebe que el proveedor y el modelo seleccionados están autorizados para su uso en su jurisdicción.

BYOK permite a su organización elegir el modelo de lenguaje que mejor se adapte a sus necesidades mientras se beneficia de GitHubla infraestructura de seguridad de }. Tenga en cuenta que las características de seguridad y rendimiento del modelo dependen del proveedor.

Casos de uso de Copilot Chat de GitHub

Copilot Chat de GitHub puede proporcionar asistencia de codificación en diversos escenarios.

Generación de casos de prueba unitaria

Chat de Copiloto puede serle de ayuda para escribir casos de prueba unitaria mediante la generación de fragmentos de código basados en el código abierto en el editor o el fragmento de código que resaltes en el editor. Esto puede ayudarte a escribir casos de prueba sin dedicar tanto tiempo a tareas repetitivas. Por ejemplo, si estás escribiendo un caso de prueba para una función específica, puedes usar Chat de Copiloto para sugerir parámetros de entrada y valores de salida esperados en función del cuerpo y la signatura de la función. Chat de Copiloto también puede sugerir aserciones que garantizan que la función opera correctamente en virtud de la semántica y el contexto del código.

Chat de Copiloto también puede ayudarte a escribir casos de prueba para condiciones de límite y casos perimetrales que pueden resultar difíciles de identificar de manera manual. Por ejemplo, Chat de Copiloto 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. Para obtener más información sobre cómo generar casos de pruebas unitarias, consulta Preguntar sobre el código a Copilot Chat de GitHub.

Explicación del código y sugerencias de mejoras

Chat de Copiloto puede ayudar a explicar el código de un archivo mediante la generación de descripciones en lenguaje natural del propósito y la funcionalidad del código. Esto puede ser útil si deseas comprender el comportamiento del código o para las partes interesadas no técnicas que necesitan entender cómo funciona el código. Por ejemplo, puede preguntarle a Copilot que explique una función con nombre en el archivo mostrado actualmente y Chat de Copiloto generará una descripción en lenguaje natural de lo que hace el código. Esto puede incluir información como los parámetros de entrada y salida de la función, y sus dependencias.

Chat de Copiloto también puede sugerir posibles mejoras en el código, como un control mejorado de errores y casos perimetrales, o cambios en el flujo lógico para que el código sea más legible.

Al generar explicaciones y sugerir documentación relacionada, Chat de Copiloto puede ayudarle a comprender el código en un proyecto, lo que conduce a una mejor colaboración y un desarrollo de software más eficaz. Sin embargo, es importante tener en cuenta que es posible que la documentación y las explicaciones generadas no siempre sean precisas o completas, por lo que deberá revisar (y, en ocasiones, corregir) la salida de Chat de Copiloto.

Propuesta de correcciones de código

Chat de Copiloto puede proponer una corrección de los errores existentes en el código; para ello, sugiere fragmentos de código y soluciones en función del contexto del error o problema. Esto puede resultar útil si tienes dificultades para identificar la causa principal de un error o necesitas instrucciones sobre la mejor manera de corregirlo. Por ejemplo, si el código genera un mensaje de error o una advertencia, Chat de Copiloto puede sugerir correcciones posibles en función del mensaje de error, la sintaxis del código y el código circundante.

Chat de Copiloto puede sugerir cambios en variables, estructuras de control o llamadas de función que podrían resolver el problema y generar fragmentos de código que se puedan incorporar en el código base. Sin embargo, es importante tener en cuenta que es posible que las correcciones sugeridas no siempre sean óptimas o completas, por lo que deberás revisar y probar las sugerencias.

Respuesta a las preguntas de codificación

Puede pedirle a Chat de Copiloto ayuda o aclaración en caso de problemas de codificación específicos y recibir respuestas en formato de lenguaje natural o en formato de fragmento de código.

La respuesta generada por Chat de Copiloto usará el conjunto de datos de entrenamiento del modelo para responder a sus preguntas.

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 para Copilot Chat de GitHub

Chat de Copiloto puede admitir una amplia variedad de aplicaciones prácticas, como la generación de código, el análisis de código y las correcciones de código, cada una de las cualquier con distintas métricas de rendimiento y estrategias de mitigación. Hay varias medidas que puedes tomar para mejorar el rendimiento y abordar algunas de las limitaciones de Chat de Copiloto. Para más información sobre las limitaciones de Chat de Copiloto, consulta Limitaciones de Copilot Chat de GitHub.

Limite sus solicitudes al tema en cuestión

Chat de Copiloto está pensado exclusivamente para abordar consultas relacionadas con la codificación. Por lo tanto, limitar la solicitud a preguntas o tareas relacionadas con la codificación puede mejorar la calidad de la salida del modelo.

Uso de Chat de Copiloto como herramienta, no como reemplazo

Si bien Chat de Copiloto 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 y probar el código que genera Chat de Copiloto para asegurarte de que cumple con tus requisitos y que no tiene errores ni problemas de seguridad.

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

Si bien Chat de Copiloto puede generar código sintácticamente correcto, es posible que no siempre sea seguro. Siempre tienes que seguir los procedimientos recomendados para lograr una codificación segura, como evitar las contraseñas codificadas de forma rígida o las vulnerabilidades por inyección de código SQL, así como seguir los procedimientos recomendados de revisión del código, para abordar las limitaciones de Chat de Copiloto.

Manténgase actualizado.

Chat de Copiloto es una tecnología nueva y es probable que evolucione 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 manera predeterminada en Visual Studio Code, Visual Studio y la suite de JetBrains de los IDE. En GitHub Copilot Chat en GitHub, siempre tendrá acceso a la experiencia de producto más reciente. Si tienes habilitadas las actualizaciones automáticas, Chat de Copiloto 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, consulte la documentación de Visual Studio Code, la documentación de Visual Studio y la documentación del IDE de JetBrains.

Limitaciones de la Copilot Chat de GitHub

En función de factores como el código base y los datos de entrada, es posible que experimentes distintos niveles de rendimiento al utilizar Chat de Copiloto. La información siguiente está diseñada para ayudarte a entender las limitaciones del sistema y los conceptos clave sobre el rendimiento aplicables a la Chat de Copiloto.

Ámbito limitado

Chat de Copiloto se entrenó en un cuerpo de código grande, pero sigue teniendo un ámbito limitado y es posible que no pueda controlar estructuras de código más complejas o lenguajes de programación oscuros. 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 Chat de Copiloto en términos de apoyo. Además, Chat de Copiloto solo puede 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 más grandes.

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, Chat de Copiloto puede tener un sesgo 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

Chat de Copiloto 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 Chat de Copiloto 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

Chat de Copiloto es capaz de generar código nuevo y lo hace de manera probabilística. Aunque la probabilidad de que pueda generar código que coincida con el código del conjunto de formación es baja, una sugerencia de Chat de Copiloto puede contener algunos fragmentos de código que coinciden con el código del conjunto de formación.

Si ha deshabilitado las sugerencias que coincidan con el código público, Chat de Copiloto utiliza filtros que impiden que muestre código que coincida con el código encontrado en repositorios públicos en GitHub. Sin embargo, siempre debe tomar las mismas precauciones que con cualquier código que escriba 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. Debe asegurarse de que el IDE o el editor no compila ni ejecuta automáticamente código generado antes de que puedas revisarlo.

Si ha habilitado las sugerencias que coincidan con código público, Chat de Copiloto muestra un mensaje si se encuentra código coincidente. El mensaje incluye un vínculo que le permite mostrar los detalles del código coincidente y los detalles de licencia que se encontraron, en el editor de VS Code. Para más información, consulta Búsqueda de código público que coincida con las sugerencias de GitHub Copilot.

Chat de Copiloto utiliza filtros que bloquea las coincidencias con el código público en repositorios de GitHub, pero siempre debe tomar las mismas precauciones que con cualquier código que escriba que use materiales que no originaste de forma independiente, incluidas las precauciones para garantizar su idoneidad. Estas incluyen pruebas rigurosas, examen de IP y revisión de vulnerabilidades de seguridad. Debe asegurarse de que el IDE o el editor no compila ni ejecuta automáticamente código generado antes de que puedas revisarlo.

Chat de Copiloto utiliza filtros que bloquea las coincidencias con el código público en repositorios de GitHub, pero siempre debe tomar las mismas precauciones que con cualquier código que escriba que use materiales que no originaste de forma independiente, incluidas las precauciones para garantizar su idoneidad. Estas incluyen pruebas rigurosas, examen de IP y revisión de vulnerabilidades de seguridad. Debe asegurarse de que el IDE o el editor no compila ni ejecuta automáticamente código generado antes de que puedas revisarlo.

Código inexacto

Una de las limitaciones de Chat de Copiloto 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.

Respuestas inexactas a temas no relacionados con la codificación

Chat de Copiloto no está diseñado para responder preguntas no relacionadas con la codificación y, por lo tanto, es posible que sus respuestas no siempre sean precisas o útiles en estos contextos. Si un usuario le hace una pregunta no relacionada con la codificación a Chat de Copiloto, este puede generar una respuesta irrelevante o sin sentido, o bien simplemente puede indicar que no puede proporcionar ninguna respuesta útil.

Pasos siguientes

Para más información sobre cómo usar Copilot Chat de GitHub, consulte:

Información adicional