Skip to main content

Acerca del agente de codificación de Copilot

Puedes asignar propuestas de GitHub a Copilot, o pedir a Copilot que cree una solicitud de incorporación de cambios.

¿Quién puede utilizar esta característica?

Agente de codificación de Copilot está disponible con los planes GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot para empresas y GitHub Copilot para grandes empresas. El acceso a las pruebas de estará disponible próximamente. El agente está disponible en todos los repositorios, excepto si se ha deshabilitado explícitamente y los repositorios que pertenecen a cuentas de usuario administradas.
Sign up for Copilot

Nota:

Información general sobre Agente de codificación de Copilot

Con Agente de codificación de Copilot, GitHub Copilot puede funcionar de forma independiente en segundo plano para completar tareas, al igual que un desarrollador humano.

Copilot puede:

  • Corregir errores
  • Implementar nuevas características incrementales
  • Mejorar la cobertura de pruebas
  • Actualizar la documentación
  • Abordar la deuda técnica

Para delegar tareas a Copilot, puedes:

Copilot evaluará la tarea que se le ha asignado en función de la indicación que le proporciones, independientemente de si procede de la descripción de la propuesta o de un mensaje de chat. A continuación, Copilot realizará los cambios necesarios y abrirá una solicitud de incorporación de cambios. Cuando Copilot finalice, solicitará una revisión y podrás dejar comentarios de solicitud de incorporación de cambios para pedir a Copilot que itere.

Al trabajar en una tarea de codificación, Copilot tiene acceso a su propio entorno de desarrollo efímero, con tecnología de GitHub Actions, donde puedes explorar el código, realizar cambios, ejecutar pruebas automatizadas y linters, etc.

Ventajas sobre los flujos de trabajo de inteligencia artificial tradicionales

Cuando se usa de forma eficaz, Agente de codificación de Copilot ofrece ventajas de productividad sobre los asistentes tradicionales de IA en los IDE:

  • Con los asistentes de inteligencia artificial en los IDE, la programación se produce localmente. Los desarrolladores individuales se emparejan en sesiones sincrónicas con el asistente de IA. Las decisiones tomadas durante la sesión se quedan sin seguimiento y se pierden en el tiempo a menos que se confirmen. Aunque el asistente ayuda a escribir código, el desarrollador sigue teniendo que realizar muchos pasos manuales: crear la rama, escribir mensajes de confirmación, insertar los cambios, abrir la solicitud de cambios, escribir su descripción, obtener una revisión, iterar por el IDE y repetir. Estos pasos necesitan tiempo y esfuerzo que pueden ser difíciles de justificar para problemas simples o rutinarios.

  • Con Agente de codificación de Copilot, toda la programación e iteración se produce en GitHub como parte del flujo de trabajo de solicitud de cambios. Copilot automatiza la creación de ramas, la escritura de mensajes de confirmación y la inserción, apertura de solicitudes de cambios y escritura de la descripción de solicitudes de cambios. Los desarrolladores permiten al agente trabajar en segundo plano y, después, dirigir Copilot a una solución final mediante revisiones de solicitudes de cambios. Al trabajar en GitHub se agrega transparencia, donde todos los pasos se producen en una confirmación y se pueden ver en los registros. Trabajar en GitHub también abre oportunidades de colaboración para todo el equipo.

Agente de codificación de Copilot frente al modo de agente

Agente de codificación de Copilot es distinto de la característica "modo de agente" disponible en Visual Studio y Visual Studio Code. Agente de codificación de Copilot funciona de forma autónoma en un entorno de GitHub Actions para completar las tareas de desarrollo asignadas a través de propuestas de GitHub o indicaciones de GitHub Copilot Chat y crea solicitudes de incorporación de cambios con los resultados. En cambio, el modo de agente en Visual Studio y Visual Studio Code forma parte de la característica Ediciones de GitHub Copilot que permite a Copilot realizar modificaciones autónomas directamente en el entorno de desarrollo local. Para obtener más información sobre el modo de agente, consulta Preguntas sobre GitHub Copilot en el IDE.

Optimización del desarrollo de software con Agente de codificación de Copilot

Asignar tareas a Copilot puede mejorar el flujo de trabajo de desarrollo de software.

Por ejemplo, puedes asignar Copilot a propuestas sencillas en el trabajo pendiente. Esto te permite dedicar menos tiempo a estos y más tiempo a un trabajo más complejo o interesante, o trabajo que requiere un alto grado de pensamiento creativo. Copilot puede funcionar en propuestas "recomendables" que mejoran la calidad de tu código base o producto, pero a menudo permanecen en el trabajo pendiente mientras te centras en el trabajo más urgente.

Tener Copilot como un recurso de codificación adicional también te permite iniciar tareas que podría no poder hacer normalmente debido a la falta de recursos. Por ejemplo, puedes delegar tareas de Copilot para refactorizar código o agregar más registros y, a continuación, asignarlos inmediatamente a Copilot.

Copilot puede iniciar una tarea, que luego puedes encargarte de ella y continuar trabajando tú mismo. Al asignar el trabajo inicial a Copilot, tendrás más tiempo que, de lo contrario, habrías dedicado a realizar tareas repetitivas, como configurar el scaffolding para un nuevo proyecto.

Hacer que Agente de codificación de Copilot esté disponible

Para poder asignar tareas a Copilot, debe habilitarse. Consulta Acerca de la habilitación de Agente de codificación de Copilot.

Costes de uso de Agente de codificación de Copilot

Agente de codificación de Copilot usa minutos de GitHub Actions y solicitudes premium de Copilot.

Dentro de la asignación mensual de uso de GitHub Actions y solicitudes premium, puedes pedir a Copilot que trabaje en tareas de codificación sin incurrir en costes adicionales.

Para más información, consulta Facturación de GitHub Copilot.

Protecciones de seguridad integradas

La seguridad es una consideración fundamental al habilitar Agente de codificación de Copilot, como con cualquier otro agente de IA. Copilot tiene una base sólida de protecciones de seguridad integradas que puedes complementar siguiendo las instrucciones de procedimientos recomendados.

  • Sujetas a la gobernanza existente: la configuración de la organización y las directivas empresariales controlan la disponibilidad. Las directivas y procedimientos de seguridad configurados para la organización también se aplican a Agente de codificación de Copilot.
  • Entorno de desarrollo restringido: Copilot funciona en un entorno de desarrollo de espacio aislado con acceso a Internet controlado por un firewall. Tiene acceso de solo lectura al repositorio en el que está asignado para trabajar.
  • Acceso limitado a las ramas: Copilot solo puede crear e insertar en ramas que comienzan con copilot/. Está sujeto a protecciones de rama y comprobaciones necesarias para el repositorio de trabajo.
  • Responde solo a los usuarios con permisos de escritura: Copilot no responderá a los comentarios de usuarios con niveles de acceso inferiores.
  • Se considera un colaborador externo: los borradores de solicitudes de cambios propuestos por Copilot requieren aprobación por parte de un usuario con permisos de escritura antes de que se puedan ejecutar flujos de trabajo de Acciones. Copilot no puede marcar sus solicitudes de cambios como "Ready for review" y no puede aprobar ni combinar una solicitud de cambios.
  • Se realiza el seguimiento del cumplimiento: las confirmaciones de Copilot se crean junto al desarrollador que ha asignado la incidencia o que ha solicitado el cambio de la solicitud de cambios, lo que permite la atribución de cambios propuestos. El desarrollador que ha solicitado a Copilot crear una solicitud de cambios no puede aprobarla. En los repositorios en los que se requiere una revisión de aprobación, esto garantiza que al menos un desarrollador independiente revise el trabajo de Copilot.

Para más información, vea:

Riesgos y mitigaciones

Agente de codificación de Copilot es un agente autónomo que tiene acceso al código y puede insertar cambios en el repositorio. Esto conlleva ciertos riesgos. Siempre que sea posible, GitHub ha aplicado las mitigaciones adecuadas.

Riesgo: Copilot puede insertar cambios de código en el repositorio

Para mitigar este riesgo, GitHub:

  • Limita quién puede asignar tareas a Copilot. Solo los usuarios con acceso de escritura al repositorio pueden desencadenar que Copilot funcione. Los comentarios de los usuarios sin acceso de escritura nunca se presentan al agente.
  • Limita los permisos en los tokens de acceso usados por Copilot. Las inserciones solo se permiten a las ramas que empiezan con copilot/. Copilot no puede insertar en las ramas main o master.
  • Limita las credenciales de Copilot. Copilot solo puede realizar operaciones de inserción sencillas. No puede ejecutar git push directamente ni otros comandos de Git.
  • Restringe las ejecuciones de flujo de trabajo de GitHub Actions. Los flujos de trabajo no se desencadenan hasta que se revisa el código de Copilot y un usuario con acceso de escritura al repositorio hace clic en el botón Aprobar y ejecutar flujos de trabajo. Consulta Revisión de una solicitud de incorporación de cambios creada por Copilot.
  • Impide que el usuario que pidió a Copilot que creara una solicitud de incorporación de cambios que la apruebe. Esto mantiene los controles esperados en la regla "Aprobaciones necesarias" y la protección de rama. Consulta Reglas disponibles para conjuntos de reglas.

Riesgo: Copilot tiene acceso a información confidencial

Copilot tiene acceso al código y a otra información confidencial, y podría filtrarlos, ya sea accidentalmente o debido a una entrada de usuario malintencionada. Para mitigar este riesgo, GitHub:

Riesgo: Vulnerabilidades de inyección de indicaciones

Los usuarios pueden incluir mensajes ocultos en propuestas asignadas a Copilot o comentarios que para Copilot como forma de inyección de indicaciones. Para mitigar este riesgo, GitHub:

  • Filtra los caracteres ocultos antes de pasar la entrada del usuario a Copilot: por ejemplo, el texto escrito como comentario HTML en un problema o comentario de solicitud de incorporación de cambios no se pasa a Copilot.

Limitaciones de Agente de codificación de Copilot

Agente de codificación de Copilot tiene ciertas limitaciones en su flujo de trabajo de desarrollo de software y compatibilidad con otras características.

Limitaciones del flujo de trabajo de desarrollo de software de Copilot

  • Copilot solo puede realizar cambios en el mismo repositorio donde está creando su solicitud de incorporación de cambios. Cuando a Copilot se le asigna una propuesta, solo puede realizar cambios en el repositorio donde se encuentra esa propuesta. Además, Copilot no puede realizar cambios en varios repositorios en una ejecución.
  • Copilot solo puedes tener acceso al contexto en el mismo repositorio que el repositorio asignado. De forma predeterminada, una integración con el servidor MCP de Copilot proporciona acceso de Copilot a un repositorio a la vez. Sin embargo, puedes configurar un acceso más amplio. Consulta Extensión del agente de codificación de Copilot con el protocolo de contexto de modelo (MCP).
  • Copilot solo puede abrir una solicitud de incorporación de cambios cada vez. Copilot abrirá exactamente una solicitud de incorporación de cambios para abordar cada tarea asignada.
  • Copilot no puede funcionar en una solicitud de incorporación de cambios existente que no creó. Si deseas que Copilot proporcione comentarios sobre una solicitud de incorporación de cambios existente, puedes agregarlo como revisor. Consulta Uso de la revisión de código de GitHub Copilot.

Limitaciones de la compatibilidad de Copilot con otras características

  • Copilot no firma sus confirmaciones. Si tienes habilitada la regla "Requerir confirmaciones firmadas" o la protección de rama, debes volver a escribir el historial de confirmaciones para combinar las solicitudes de incorporación de cambios de Copilot. Consulta Reglas disponibles para conjuntos de reglas.
  • Copilot no funciona con ejecutores de GitHub Actions autohospedados. Copilot tiene acceso a su propio entorno de desarrollo, que se ejecuta en GitHub Actions, y debe usar ejecutores hospedados de GitHub. Consulta Personalización del entorno de desarrollo para el agente de codificación de Copilot.
  • Agente de codificación de Copilot no funciona en repositorios personales propiedad de cuentas de usuario administradas. Esto se debe a que Agente de codificación de Copilot requiere ejecutores hospedados en GitHub, que no están disponibles para los repositorios que pertenecen a cuentas de usuario administradas. Consulta Ejecutores hospedados en GitHub.
  • Copilot no tiene en cuenta las exclusiones de contenido. Las exclusiones de contenido permiten a los administradores configurar Copilot para omitir determinados archivos. Al usar Agente de codificación de Copilot, Copilot no omitirá estos archivos y podrá verlos y actualizarlos. Consulta Exclusión del contenido de GitHub Copilot.
  • Agente de codificación de Copilot no aplica la directiva "Sugerencias que coinciden con código público". Copilot puede seguir produciendo sugerencias que coincidan con el código público, incluso si la directiva "Sugerencias que coinciden con código público" está establecida en "Bloquear". Si esto sucede, Copilot no proporcionará referencias de código que apunte al origen original del código. Consulta Administración de directivas de Copilot como suscriptor individual.
  • Agente de codificación de Copilot no está disponible en Nube de GitHub Enterprise con residencia de datos. El agente solo está disponible en GitHub.com.
  • Agente de codificación de Copilot solo funciona con repositorios hospedados en GitHub. Si el repositorio se almacena mediante una plataforma distinta de hospedaje de código, Copilot no podrá trabajar en él.

Ejercicios prácticos

Prueba el ejercicio de capacidades Expandir el equipo con Agente de codificación de Copilot para obtener una experiencia práctica con Agente de codificación de Copilot.

Información adicional