Thanks to visit codestin.com
Credit goes to docs.github.com

Skip to main content

Tarjeta de aplicación: sugerencias en línea de GitHub Copilot

Aprenda a utilizar las sugerencias insertadas de GitHub Copilot de forma responsable comprendiendo sus finalidades, capacidades y limitaciones.

¿Quién puede utilizar esta característica?

Members of an enterprise with a subscription to GitHub Copilot Enterprise

Nota:

Actualmente está viendo la documentación de los planes Free, Pro y Team. GitHub Copilot para grandes empresas solo está disponible para los clientes en el GitHub Enterprise Cloud plan. Para obtener documentación completa de Copilot Enterprise, consulte ¿Qué es GitHub Copilot? en la GitHub Enterprise Cloud documentación.

¿Qué es una tarjeta de aplicación?

GitHub’s application and platform cards are intended to help you understand how our AI technology works, the choices application owners can make that influence application performance and behavior, and the importance of considering the whole application, including the technology, the people, and the environment. Application cards are created for AI applications and platform cards are created for AI platform services. These resources can support the development or deployment of your own applications and can be shared with users or stakeholders impacted by them.

As part of its commitment to responsible AI, GitHub adheres to Microsoft's six core principles: fairness, reliability and safety, privacy and security, inclusiveness, transparency, and accountability. These principles are embedded in the Responsible AI Standard, which guides teams in designing, building, and testing AI applications. Application and Platform Cards play a key role in operationalizing these principles by offering transparency around capabilities, intended uses, and limitations. For further insight, readers are encouraged to explore Microsoft’s Responsible AI Transparency Report and Términos de GitHub.

1. Información general

Las sugerencias en línea de GitHub Copilot ofrecen sugerencias de tipo autocompletado mientras trabajas. Estas sugerencias aparecen insertadas en el editor o en campos de texto en GitHub.com, lo que le ayuda a escribir descripciones de código y solicitudes de incorporación de cambios más rápidamente.

Las sugerencias en línea de Copilot se presentan de dos formas:

  • Sugerencias en línea del IDE: al escribir código en un editor compatible, Copilot ofrece automáticamente sugerencias en línea para completar la línea actual, generar nuevos bloques de código o sugerir cambios en el código existente. Estas sugerencias pueden incluir la predicción de la ubicación de la siguiente edición que desea realizar y cuál debe ser esa edición, incluidas eliminaciones, modificaciones o inserciones de código. Puede aceptar toda o parte de una sugerencia, descartarla o seguir escribiendo para omitirla. Las sugerencias en línea funcionan con una amplia gama de lenguajes de programación y frameworks.
  • Autocompletado de texto en pull requests: cuando haces una pausa mientras escribes la descripción de una pull request en GitHub.com, Copilot te sugiere texto para continuar lo que estás escribiendo. La sugerencia se basa en el título de la solicitud de extracción, el texto de descripción existente, los títulos de las confirmaciones, las diferencias parciales y los títulos de las solicitudes de extracción y de las incidencias vistas recientemente. Puede aceptar la sugerencia pulsando Tab o rechazarla si sigue escribiendo.

El idioma principal admitido para la finalización del texto de la solicitud de incorporación de cambios es inglés. Las sugerencias en línea son compatibles con muchos lenguajes de programación, y su calidad varía en función del volumen y la diversidad de los datos de entrenamiento disponibles para cada uno.

2. Términos clave

La siguiente lista proporciona un glosario de términos clave relacionados con las sugerencias insertadas de GitHub Copilot:

  • Filtrado de contenido: un sistema de seguridad que examina las solicitudes y respuestas para detectar y bloquear contenido dañino, ofensivo o no seguro antes de que se muestre al usuario.
  • Hallucinación: un fenómeno en el que un modelo de lenguaje genera una salida que suena factible, pero es incorrecta, no admitida por el contexto proporcionado o completamente fabricada. Las alucinaciones son un riesgo conocido de modelos de lenguaje grandes y son una razón clave por la que es importante la revisión humana de la salida generada por la inteligencia artificial.
  • Sugerencia insertada: Una sugerencia de código generada por IA de Copilot que aparece en el editor mientras escribe. Las sugerencias insertadas pueden completar la línea actual o proponer modificaciones en el código existente mediante la predicción de dónde debe producirse el siguiente cambio y cuál debe ser ese cambio, incluida la inserción, modificación o eliminación de código. Las sugerencias pueden aparecer en la posición del cursor o guiar a los usuarios hasta otras ubicaciones relevantes de la base de código, donde pueden aceptarse, descartarse o ignorarse al seguir escribiendo.
  • Modelo de lenguaje grande (LLM): un tipo de red neuronal entrenada en un gran cuerpo de datos de texto que puede generar, analizar y transformar el lenguaje natural y el código. Las sugerencias en línea de Copilot usan uno o varios LLM para procesar el contexto y generar sugerencias.
  • Public code matching: una característica de seguridad que comprueba si las sugerencias de Copilot coinciden con código disponible públicamente. Dependiendo de la configuración, las sugerencias coincidentes se bloquean o anotan con una referencia al repositorio de origen y cualquier información de licencia.
  • Autocompletado de texto para solicitudes de incorporación de cambios: Una sugerencia de estilo de autocompletado para las descripciones de solicitudes de incorporación de cambios en GitHub.com. Cuando haces una pausa al escribir, Copilot sugiere texto para continuar tu idea en función del contexto de la solicitud de extracción.
  • Datos de entrenamiento: el gran volumen de texto y código disponible públicamente que se utilizó para entrenar los modelos fundacionales en los que se basan las sugerencias insertadas de Copilot. La composición de los datos de entrenamiento influye en la calidad y cobertura de las sugerencias del modelo en diferentes lenguajes de programación, marcos y temas.

3. Características o funcionalidades clave

Las características y capacidades clave que se describen aquí indican para qué están diseñadas las sugerencias en línea de GitHub Copilot y cómo funcionan en las tareas compatibles.

  • ** Sugerencias de código en línea**: a medida que escribe código en un editor compatible, Copilot ofrece automáticamente sugerencias insertadas que pueden completar la línea actual, generar nuevos bloques de código o proponer modificaciones en el código existente. Estas sugerencias pueden incluir la inserción, modificación o eliminación de código, comentarios de código, pruebas, etc., mediante la predicción de los cambios que se deben realizar y dónde deben producirse en el código base. Las sugerencias pueden aparecer junto al cursor o guiar a los usuarios a otras ubicaciones de edición relevantes, y pueden aceptarse en su totalidad o en parte, descartarse o ignorarse al seguir escribiendo.
  • Generación de código basada en comentarios: Puede guiar las sugerencias en línea escribiendo comentarios en el código que describan el código que espera. Por ejemplo, comentarios como "usar recursividad" o "usar un patrón singleton" influyen en el tipo de algoritmo que sugiere Copilot.
  • Compatibilidad con varios lenguajes: las sugerencias insertadas funcionan en una amplia gama de lenguajes de programación y marcos. La calidad de las sugerencias depende del volumen y la diversidad de datos de entrenamiento disponibles para cada idioma. Para obtener una lista de los lenguajes de programación desarrollados activamente que se encuentran en GitHub, consulte Lenguajes de programación.
  • Autocompletado de texto de la solicitud de incorporación de cambios: cuando haces una pausa mientras escribes la descripción de una solicitud de incorporación de cambios en GitHub.com, Copilot sugiere texto para ayudarte a completar la idea. La sugerencia se basa en el título de la solicitud de extracción, el texto de descripción existente, los títulos de las confirmaciones, los diffs parciales y los títulos de las solicitudes de extracción y de las incidencias vistas recientemente.

4. Usos previstos

Las sugerencias en línea de GitHub Copilot se pueden usar en varios escenarios de diversos sectores. Algunos ejemplos de casos de uso incluyen:

  • Aceleración de la creación de código: los desarrolladores pueden usar sugerencias insertadas para trabajar más rápido mediante la aceptación de cambios previstos a medida que escriben, incluida la finalización del código, la generación de nuevos bloques o la modificación del código existente. Las sugerencias pueden insertar, actualizar o eliminar código en la línea actual o en otras ubicaciones pertinentes del archivo anticipando los cambios que se deben realizar y dónde deben producirse. Esto es especialmente útil para el código reutilizable, los patrones repetitivos, las expresiones comunes y el mantenimiento de la coherencia a medida que el código evoluciona en los lenguajes y marcos admitidos.
  • Generar pruebas unitarias: Copilot puede sugerir casos de prueba basados en el código circundante, incluidos posibles parámetros de entrada, valores de salida esperados y aserciones. Esto ayuda a los desarrolladores a crear cobertura de pruebas más rápidamente, incluidos los casos perimetrales y las condiciones de límite que podrían ser difíciles de identificar manualmente. Todavía se deben revisar las pruebas generadas, ya que es posible que no cubran todos los escenarios.
  • ** Generación de código guiado a través de comentarios**: los desarrolladores pueden escribir comentarios de lenguaje natural que describen el código que necesitan y Copilot genera implementaciones o modificaciones correspondientes. Esto puede ser útil para especificar algoritmos, patrones de diseño o métodos y propiedades para agregar a una clase.
  • Redactar descripciones de solicitudes de incorporación de cambios: al escribir una descripción de una solicitud de incorporación de cambios en GitHub.com, Copilot puede sugerir texto para continuar lo que has escrito, lo que te ayuda a redactar más rápido resúmenes claros de tus cambios.

5. Modelos y datos de entrenamiento

Las sugerencias en línea de GitHub Copilot se basan en diversos modelos de inteligencia artificial para ofrecer la experiencia que ven los usuarios. Para obtener una comparación de los modelos disponibles para Copilot, consulte Comparación de modelos de IA. Para obtener la lista completa de modelos admitidos, consulte Modelos de IA admitidos en GitHub Copilot. Para obtener información sobre dónde se hospedan los modelos, consulte Hospedaje de modelos para GitHub Copilot. Para obtener más información sobre los datos utilizados para entrenar los modelos fundacionales que sustentan las sugerencias insertadas de GitHub Copilot, consulte la comparación enlazada anterior de modelos de IA y ¿Con qué datos se ha entrenado GitHub Copilot? en las preguntas frecuentes de GitHub Copilot.

La finalización del texto de la solicitud de incorporación de cambios usa un flujo de solicitud de incorporación de cambios que aprovecha la API de Copilot con el modelo de lenguaje grande genérico. No se usan modelos entrenados adicionales para esta característica.

6. Rendimiento

Las sugerencias en línea de Copilot funcionan mediante una combinación de procesamiento del lenguaje natural y aprendizaje automático para comprender el contexto que te rodea y proporcionar sugerencias. Este proceso sigue una canalización coherente:

  1. Procesamiento de la entrada: el código que rodea la posición del cursor se preprocesa mediante el sistema de sugerencias en línea, se combina con información contextual (como fragmentos de código de las pestañas abiertas en el editor) y se envía a un modelo extenso de lenguaje en forma de prompt. Para obtener información sobre la retención de datos, consulte Copilot Centro de confianza.
  2. Análisis del modelo de lenguaje: un modelo de lenguaje grande procesa el mensaje de entrada. Para las sugerencias insertadas, el modelo genera sugerencias insertadas y modificaciones previstas en función del contexto de los archivos actuales y abiertos en el editor, incluida la inserción, modificación o eliminación de código anticipando los cambios que se deben realizar y dónde deben producirse. Para completar el texto de la solicitud de incorporación de cambios, Copilot usa un modelo de lenguaje a través de la API de Copilot.
  3. Generación de respuesta: el modelo de lenguaje genera una respuesta basada en su análisis del mensaje de entrada y el contexto proporcionado. Para las sugerencias insertadas, esto puede adoptar la forma de completar el código, generar nuevos bloques o proponer cambios en el código existente (incluidas las eliminaciones) mediante la predicción de las modificaciones que se deben realizar y dónde se deben realizar en el código base. Para el completado de texto de la solicitud de incorporación de cambios, la respuesta consiste en una continuación redactada de la descripción.
  4. Formato de salida: la respuesta se presenta en línea en el editor como un cambio sugerido que es visualmente distinto del contenido circundante. Las sugerencias pueden aparecer en el cursor o cerca del cursor, así como resaltar otras ubicaciones relevantes en el código base donde se proponen modificaciones y solo se aplican al campo de archivo o texto si los acepta explícitamente.

Las sugerencias insertadas en línea de Copilot están pensadas para ofrecer las sugerencias más relevantes y útiles para complementar tu trabajo actual. Sin embargo, es posible que no siempre proporcionen las respuestas que busca. Los usuarios son responsables de revisar y validar sugerencias antes de aceptarlas para asegurarse de que son precisas y adecuadas. Como parte del proceso de desarrollo de productos, las sugerencias generadas se ejecutan a través de filtros de contenido. El sistema de filtrado de contenido detecta y bloquea contenido dañino o ofensivo, o código no seguro. Según la configuración de GitHub, el filtro también bloquea o anota sugerencias que contienen coincidencias con el código público.

Diferencias por experiencia

Sugerencias en línea (IDE)

Las sugerencias en línea usan modelos de lenguaje ajustados especializados para la tarea. Analizan el código que rodea a tu trabajo actual, junto con el contexto de la base de código y del sistema del usuario. En función de este análisis, el sistema puede completar el código, generar nuevos bloques o proponer modificaciones (incluidas las eliminaciones) al código existente mediante la predicción de los cambios que se deben realizar y dónde deben producirse en el código base. El sistema solo está pensado para ayudar con tareas de codificación.

Finalización del texto de la solicitud de incorporación de cambios (GitHub.com)

El autocompletado de texto en las pull requests utiliza un flujo basado en una instrucción simple que aprovecha la API de Copilot con un modelo de lenguaje grande genérico. Cuando haces una pausa mientras escribes la descripción de una pull request, el sistema combina el título de la pull request, el texto existente de la descripción, los títulos de los commits, los diffs parciales y los títulos de las pull requests y los issues vistos recientemente para sugerir texto que continúe lo que estás escribiendo. El idioma principal admitido es inglés.

7. Limitaciones

Comprender las limitaciones de las sugerencias en línea de GitHub Copilot es fundamental para determinar si se utilizan dentro de límites seguros y eficaces. Aunque animamos a los clientes a aprovechar las sugerencias en línea de Copilot en sus soluciones o aplicaciones innovadoras, es importante tener en cuenta que las sugerencias en línea de Copilot no fueron diseñadas para todos los escenarios posibles. Animamos a los usuarios a hacer referencia a Términos de GitHub , así como a las siguientes consideraciones al elegir un caso de uso:

  • Ámbito limitado: las sugerencias insertadas se entrenan en un gran cuerpo de código, pero siguen teniendo un ámbito limitado y es posible que no puedan controlar estructuras de código más complejas o lenguajes de programación ocultos. Para cada idioma, la calidad de las sugerencias depende del volumen y la diversidad de datos de entrenamiento de ese idioma. Por ejemplo, JavaScript está bien representado en los repositorios públicos y es uno de los lenguajes de programación con mejor soporte. Los idiomas con menos representación en repositorios públicos pueden resultar más difíciles de ayudar. Además, las sugerencias insertadas solo pueden sugerir código en función del contexto del código que se está escribiendo, por lo que es posible que no puedan identificar problemas de diseño o arquitectura más grandes. Las sugerencias en línea están pensadas para generar código y resultados relacionados con el código, no resultados en lenguaje natural.
  • Posibles sesgos: Las fuentes de los datos de entrenamiento de Copilot pueden contener sesgos y errores que la herramienta puede perpetuar. Además, las sugerencias insertadas pueden estar sesgadas hacia determinados lenguajes de programación o estilos de codificación, lo que puede dar lugar a sugerencias de código poco óptimas o incompletas.
  • ** Riesgos de seguridad**: Copilot genera código basado en el contexto del código que se está escribiendo, lo que puede exponer información confidencial o vulnerabilidades si no se usa cuidadosamente. Debe tener cuidado al usar Copilot para generar código para aplicaciones sensibles a la seguridad y revisar y probar siempre el código generado exhaustivamente.
  • Coincidencias con código público: las sugerencias en línea pueden generar código nuevo, y lo hacen de forma probabilística. Aunque la probabilidad es baja, Copilot puede generar sugerencias de código que coincidan con el código del conjunto de entrenamiento.
  • Código inexacto: Copilot puede generar código que parezca válido, pero que en realidad no sea realmente correcto desde el punto de vista semántico o sintáctico, o que no refleje con precisión la intención del desarrollador. Para mitigar el riesgo de código inexacto, debes revisar y probar cuidadosamente el código generado, especialmente cuando se trabaja con aplicaciones críticas o confidenciales. También debes asegurarte de que el código generado cumple con los procedimientos recomendados y los modelos de diseño y se ajusta a la arquitectura general y al estilo del código base.
  • Las solicitudes de incorporación de cambios grandes pueden reducir la calidad de las sugerencias: en el caso de las solicitudes de incorporación de cambios muy grandes, es posible que parte del contenido de la solicitud de incorporación de cambios que Copilot usa para completar texto no quepa en la llamada a la API. Como resultado, es posible que algunas sugerencias que espere que no aparezcan o que sean menos precisas contextualmente.
  • Riesgo de alucinación en la finalización del texto de la solicitud de extracción: Dado que la finalización del texto de la solicitud de extracción la genera un modelo de lenguaje de gran tamaño, existe riesgo de alucinación, es decir, que Copilot genere afirmaciones que parezcan plausibles pero que sean incorrectas en cuanto a los hechos. Revisar cuidadosamente el texto generado antes de publicar es esencial.
  • Reproducción del contenido de la solicitud de extracción: la función de autocompletado del texto de la solicitud de extracción se basa en el contenido de la propia solicitud de extracción. Si en el contenido de la solicitud de incorporación de cambios aparecen términos dañinos u ofensivos (como mensajes de commit o diffs), es posible que la sugerencia también incluya esos términos.
  • Compatibilidad con idiomas: el idioma principal admitido para la finalización del texto de la solicitud de incorporación de cambios es inglés. Las sugerencias en línea son compatibles con muchos lenguajes de programación, y su calidad varía en función del volumen y la diversidad de los datos de entrenamiento disponibles para cada lenguaje.

8. Evaluaciones

Las evaluaciones de rendimiento y seguridad evalúan si las aplicaciones de inteligencia artificial funcionan de forma confiable y segura mediante el examen de factores como la base, la relevancia y la coherencia, a la vez que se identifican los riesgos de generar contenido dañino. Las siguientes evaluaciones se llevaron a cabo con componentes de seguridad ya implementados, que también se describen en 9. Componentes y mitigaciones de seguridad.

Evaluaciones de rendimiento y calidad

Las sugerencias en línea de GitHub Copilot se evalúan mediante un sistema de evaluación offline y online de múltiples capas diseñado para medir la calidad de las sugerencias, su relevancia y el valor que aportan a los desarrolladores. El sistema también está diseñado para habilitar la iteración rápida del modelo al tiempo que mantiene estándares de alta calidad.

Métodos de evaluación de rendimiento y calidad

Para la evaluación en modo sin conexión, usamos una selección cuidada de suites de pruebas que abarcan escenarios clave de sugerencias en línea en varios lenguajes de programación. Los modelos se evalúan con respecto a las salidas esperadas para detectar regresiones en comportamientos principales, como la corrección del código y la relevancia contextual. También comparamos los modelos candidatos con respecto a las líneas base de producción mediante la evaluación de la calidad de la salida, la coherencia y la alineación con la intención del desarrollador.

Para la evaluación en línea, implementamos modelos candidatos en segmentos de usuario controlados para medir la tasa de aceptación, la tasa mostrada, la calidad de edición y la retención.

Nuestras evaluaciones realizan un seguimiento de la latencia, el uso de tokens y la superficie de proceso junto con las métricas de calidad para garantizar que los modelos ofrecen valor dentro de las restricciones operativas.

También aprovechamos la experiencia de los desarrolladores internos de Microsoft y GitHub para evaluar los modelos candidatos en condiciones reales de desarrollo, proporcionando comentarios cualitativos e indicios tempranos sobre comportamientos en casos límite antes de un despliegue más amplio.

Evaluaciones de riesgos y seguridad

La evaluación de posibles riesgos asociados con el contenido generado por IA es esencial para protegerse frente a los riesgos de contenido con distintos grados de gravedad. Esto incluye la evaluación de la predisposición de una aplicación de inteligencia artificial hacia la generación de contenido dañino o la prueba de vulnerabilidades a ataques de jailbreak. Para GitHub, realizamos evaluaciones de rendimiento, incluidas las adaptadas para fines de codificación de Microsoft Foundry:

  • Odio e injusticia
  • Sexual
  • Violencia
  • Auto-daño
  • Material protegido
  • Desbloqueo
  • Vulnerabilidad de código

Métodos de evaluación de riesgos y seguridad

Pruebas adversarios: cuando se actualiza el modelo base o se realizan cambios significativos en los orígenes de datos de entrenamiento (como la incorporación de un nuevo tipo de conjunto de datos), el modelo se somete a pruebas de seguridad en las que se desafía deliberadamente con entradas diseñadas para generar salidas perjudiciales, no seguras o que infringen directivas. Esta prueba abarca varias categorías de riesgo, incluidos el contenido dañino, los riesgos de propiedad intelectual y la generación de código no segura. Los resultados se comparan con las líneas base de producción y, si hay regresiones, se someten a una revisión manual para evaluar el riesgo verdadero.

Datos de evaluación para la calidad y la seguridad

Nuestros datos de evaluación están personalizados para evaluar el rendimiento de las aplicaciones de inteligencia artificial en áreas clave de seguridad y calidad, simulando escenarios y riesgos reales. Empezamos por identificar los aspectos de evaluación pertinentes basados en la investigación multidisciplinaria y la aportación de expertos. Estas preocupaciones se traducen en objetivos de evaluación específicos y guían la formulación de las métricas de evaluación. Para safety, creamos avisos adversarios para evitar respuestas no deseadas o de casos perimetrales, que luego se puntúan mediante anotadores asistidos por IA entrenados para evaluar la alineación con los estándares de GitHub. Para la calidad, elaboramos instrucciones basadas en rúbricas adaptadas a escenarios, incluida la evaluación de aplicaciones y agentes de generación aumentada con recuperación (RAG). Los conjuntos de datos se recopilan de diversos orígenes, incluidos los conjuntos de datos sintéticos y públicos, para simular escenarios de usuario reales. Con los conjuntos de datos seleccionados, ambas evaluaciones se someten a refinamiento iterativo y ajuste humano para mejorar la confiabilidad y eficacia de las métricas. Esta metodología constituye la base de evaluaciones repetibles y rigurosas que reflejan cómo los clientes usan las evaluaciones para crear una mejor inteligencia artificial.

Evaluaciones personalizadas

Las sugerencias en línea de Copilot se han sometido a pruebas de red teaming de RAI para identificar y abordar posibles riesgos de seguridad. Seguimos supervisando la eficacia y la seguridad de la característica a lo largo del tiempo. Para obtener más información, consulte Microsoft AI Red Team construyendo el futuro de una IA más segura en el blog de seguridad de Microsoft.

9. Componentes de seguridad y mitigaciones

Las sugerencias en línea de GitHub Copilot utilizan una arquitectura de seguridad con múltiples capas de protección a lo largo de todo el flujo de sugerencias.

  • Procesamiento de entrada y salida: el contexto de código ( incluido el historial de edición, el código circundante y la posición del cursor) está estructurado y se limita antes de alcanzar el modelo de lenguaje. El modelo está restringido a una tarea estrecha (predicción de la siguiente edición de código dentro de una ventana definida) y debe seguir un formato de salida estricto, lo que genera solo modificaciones de código en lugar de respuestas de forma libre. El prompt del sistema también exige el cumplimiento de las políticas de contenido, con una respuesta obligatoria de rechazo para las solicitudes que puedan incumplir dichas políticas.
  • Filtros de seguridad del contenido y del código: GitHub Copilot incluye filtros de seguridad diseñados para reducir resultados perjudiciales o inapropiados y desalentar el uso indebido. Los usuarios deben seguir revisando las sugerencias antes de usarlas.
  • Public code matching: GitHub Copilot usa un sistema de detección de duplicación diseñado para identificar cuándo las sugerencias coinciden con código disponible públicamente. Las organizaciones y las personas pueden configurar esto para bloquear las sugerencias de coincidencia o proporcionar código que haga referencia a la información de repositorio y licencia.
  • Supervisión humana: las sugerencias insertadas siguen los principios humanos en el bucle: las sugerencias son visualmente distintas del contenido circundante y solo se aplican cuando el usuario las acepta explícitamente. No se producen cambios en el código sin una acción deliberada del usuario. Se recomienda a los usuarios revisar, probar y validar todas las sugerencias generadas.

10. Procedimientos recomendados para desplegar y adoptar las sugerencias en línea de GitHub Copilot

La inteligencia artificial responsable es un compromiso compartido entre GitHub y sus clientes. Aunque GitHub crea aplicaciones de inteligencia artificial con seguridad, imparcialidad y transparencia en el núcleo, los clientes desempeñan un papel fundamental en la implementación y el uso de estas tecnologías de forma responsable dentro de sus propios contextos. Para admitir esta asociación, ofrecemos los siguientes procedimientos recomendados para los implementadores y los usuarios finales con el fin de ayudar a los clientes a implementar la inteligencia artificial responsable de forma eficaz.

  • Actúe con precaución y evalúe los resultados al usar las sugerencias de Copilot para decisiones importantes o en ámbitos sensibles: Las decisiones consecuentes son aquellas que pueden tener un impacto legal o significativo en el acceso de una persona a la educación, el empleo, las plataformas financieras, los beneficios gubernamentales, la salud, la vivienda, el seguro, las plataformas legales o que podrían dar lugar a daños físicos, psicológicos o financieros. Los dominios confidenciales, como las plataformas financieras, la atención sanitaria y la vivienda, requieren atención especial debido al potencial de impacto desproporcionada en diferentes grupos de personas. Al usar la inteligencia artificial para tomar decisiones en estas áreas, asegúrese de que las partes interesadas afectadas puedan comprender cómo se toman las decisiones, apelar decisiones y actualizar los datos de entrada pertinentes.
  • Evaluar consideraciones legales y normativas: Los clientes deben evaluar posibles obligaciones legales y normativas específicas al usar cualquier plataforma y soluciones de inteligencia artificial, que puede que no sean adecuadas para su uso en todos los sectores o escenarios. Además, las plataformas o soluciones de inteligencia artificial no están diseñadas para y pueden no usarse de maneras prohibidas en términos de servicio aplicables y códigos de conducta pertinentes.
  • Mantén los prompts centrados en el tema: las sugerencias insertadas de Copilot están diseñadas exclusivamente para generar código o sugerencias relacionadas con el código. Limitar el contenido del editor al código o a la información relacionada con la codificación puede mejorar la calidad de las sugerencias.
  • Proporcionar un buen contexto para la finalización del texto de la solicitud de incorporación de cambios: la calidad de las sugerencias de finalización de texto de solicitud de incorporación de cambios depende de la calidad del título de la solicitud de incorporación de cambios, los mensajes de confirmación y cualquier texto que ya esté en la descripción. Proporcionar títulos claros, descriptivos y mensajes de confirmación mejorará la relevancia de las sugerencias. Sigue siendo tu responsabilidad revisar y evaluar la exactitud de la información en los pull requests que creas.
  • Utiliza las sugerencias en línea de Copilot como una herramienta, no como un sustituto: Aunque Copilot puede ser una herramienta eficaz para generar código, es importante usarlo como una herramienta en lugar de como un sustituto del trabajo de programación humano. Debe revisar siempre las sugerencias de Copilot antes de aceptarlas y validarla después de asegurarse de que cumple sus requisitos y no tiene errores ni problemas de seguridad.
  • Ejercicio de la supervisión humana cuando proceda: la supervisión humana es una protección importante al interactuar con las aplicaciones de inteligencia artificial. Aunque mejoramos continuamente nuestras aplicaciones de inteligencia artificial, la inteligencia artificial podría cometer errores. Los resultados generados pueden ser inexactos, incompletos, sesgados, desalineados o irrelevantes para los objetivos previstos. Esto podría ocurrir debido a varias razones, como la ambigüedad en las entradas o limitaciones de los modelos subyacentes. Por lo tanto, los usuarios deben revisar las respuestas generadas por las sugerencias insertadas en línea de Copilot y comprobar que cumplen con sus expectativas y requisitos.
  • Tenga en cuenta el riesgo de sobrecarga: La dependencia excesiva de la inteligencia artificial se produce cuando los usuarios aceptan salidas de IA incorrectas o incompletas, principalmente porque los errores en las salidas de IA pueden ser difíciles de detectar. Para el usuario final, el exceso de dependencia podría dar lugar a una disminución de la productividad, la pérdida de confianza, el abandono de aplicaciones, la pérdida financiera, daños psicológicos, daños físicos, entre otros. (por ejemplo, un médico acepta una salida de IA incorrecta).
  • Tenga cuidado al diseñar inteligencia artificial agente en dominios confidenciales: Los usuarios deben tener precaución al diseñar o implementar aplicaciones de inteligencia artificial agente en dominios confidenciales en los que las acciones del agente son irreversibles o muy consecuentes. También se deben tomar precauciones adicionales al crear inteligencia artificial agente autónoma, tal como se describe más adelante en autotitle.
  • Usar procedimientos de revisión de código y codificación seguros: aunque las sugerencias insertadas pueden generar código sintácticamente correcto, es posible que no siempre sea seguro. Siempre debe seguir los procedimientos recomendados para la codificación segura, como evitar contraseñas codificadas de forma rígida o vulnerabilidades de inyección de código, así como seguir los procedimientos recomendados de revisión de código.
  • Mantente al día: las sugerencias insertadas de Copilot siguen siendo una tecnología en evolución. 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 automatizadas de extensiones se habilitan de forma predeterminada en Visual Studio Code, Visual Studio y el conjunto de IDE de JetBrains.

Importante

Los usuarios asumen todos los riesgos asociados con el código generado, incluidas las vulnerabilidades de seguridad, los errores y la infracción de IP.

11. Más información sobre las sugerencias en línea de GitHub Copilot

Para obtener orientación adicional sobre el uso responsable de las sugerencias insertadas de Copilot, recomendamos consultar la siguiente documentación:

Obtener más información sobre la IA responsable