Skip to main content

Acerca de GitHub Copilot Chat

GitHub Copilot Chat puede ayudarte a responder preguntas relacionadas con la codificación directamente en GitHub.com o en un IDE compatible.

Who can use this feature?

GitHub Copilot Chat in GitHub.com forma parte de la versión beta de GitHub Copilot Enterprise. La funcionalidad y la documentación están sujetas a cambios. Puedes designar una empresa para la versión beta mediante el formulario de lista de espera de GitHub Copilot Enterprise. Para obtener más información, consulta «Acerca de GitHub Copilot para empresas».

Owners of organizations with a GitHub Copilot Enterprise subscription can decide whether to grant access to the Copilot Enterprise functionality for an organization. For more information, see "Habilitación de GitHub Copilot para empresas."

Acerca de GitHub Copilot Chat

GitHub Copilot Chat es una interfaz de chat que te permite interactuar con GitHub Copilot, para hacer y recibir respuestas a preguntas relacionadas con la codificación dentro de GitHub.com 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. Además de GitHub.com, Copilot Chat es compatible actualmente con Visual Studio Code, Visual Studio y el conjunto de IDE de JetBrains. Para más información sobre GitHub Copilot, consulta "Acerca de GitHub Copilot individual" y "Acerca de GitHub Copilot para empresas".

GitHub Copilot Chat 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. GitHub Copilot Chat 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.

GitHub Copilot Chat 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 Copilot Chat procesa previamente la solicitud de entrada del usuario, la que se envía a un modelo de lenguaje de gran tamaño para obtener una respuesta en función del contexto y la solicitud. La entrada del usuario puede adoptar la forma de fragmentos de código o lenguaje sin formato. 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 Copilot Chat, 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. 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 Copilot Chat y se la presenta al usuario. Copilot Chat 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.

GitHub Copilot Chat 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 Copilot Chat son responsables de revisar y validar las respuestas que el sistema genera para asegurarse de que son precisas y adecuadas. Copilot Chat también está diseñado para aprender de tus comentarios y mejorar con el tiempo. Para más información sobre cómo mejorar el rendimiento de GitHub Copilot Chat, consulta "Mejora del rendimiento para GitHub Copilot Chat".

Casos de uso de GitHub Copilot Chat

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

Generación de casos de prueba unitaria

Copilot Chat 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 Copilot Chat para sugerir parámetros de entrada y valores de salida esperados en función del cuerpo y la signatura de la función. Copilot Chat 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.

Copilot Chat 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, Copilot Chat 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 más información sobre cómo generar casos de prueba unitaria, consulta "Preguntar sobre el código a GitHub Copilot Chat".

Explicación del código y sugerencias de mejoras

Copilot Chat 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, Copilot Chat 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.

Copilot Chat 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, Copilot Chat 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 Copilot Chat.

Propuesta de correcciones de código

Copilot Chat 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, Copilot Chat puede sugerir correcciones posibles en función del mensaje de error, la sintaxis del código y el código circundante.

Copilot Chat 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

Puedes pedirle a Copilot Chat 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. 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 GitHub Copilot Chat

Copilot Chat 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 Copilot Chat. Para más información sobre las limitaciones de Copilot Chat, consulta "Limitaciones de GitHub Copilot Chat".

Limita tus solicitudes al tema en cuestión

Copilot Chat 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.

Usa Copilot Chat como una herramienta, no como un reemplazo.

Si bien Copilot Chat 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 Copilot Chat 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 Copilot Chat 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 Copilot Chat.

Proporcionar comentarios

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

Manténgase actualizado.

Copilot Chat 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 in GitHub.com, siempre tendrá acceso a la experiencia de producto más reciente. Si tienes habilitadas las actualizaciones automáticas, Copilot Chat 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 GitHub Copilot Chat

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 Copilot Chat. La información siguiente está diseñada para ayudarte a entender las limitaciones del sistema y los conceptos clave sobre el rendimiento a medida que se aplican a Copilot Chat.

Ámbito limitado

Copilot Chat 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 Copilot Chat en términos de apoyo. Además, Copilot Chat 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, Copilot Chat 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

Copilot Chat genera código basado en el contexto del código que se está escribiendo, lo que puede exponer información confidencial o vulnerabilidades si no se usa cuidadosamente. Debes tener cuidado al usar Copilot Chat para generar código para aplicaciones que afectan a la seguridad y siempre debes revisar y probar el código generado de manera exhaustiva.

Coincidencias con código público

Copilot Chat 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 Copilot Chat puede contener algunos fragmentos de código que coinciden con el código del conjunto de formación. Copilot Chat 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 Copilot Chat 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

Copilot Chat 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 Copilot Chat, 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 GitHub Copilot Chat, consulta:

Información adicional