¿Te imaginas delegar un issue a GitHub Copilot y recibir a cambio un pull request completamente testeado? Esa es la promesa del nuevo agente de código integrado en GitHub Copilot. Este agente, que reside directamente en GitHub, se pone manos a la obra tan pronto como le asignas un issue o lo activas desde VS Code. El objetivo: construir pull requests basándose en las tareas que le asignes.
¿Qué es el Agente de Código de GitHub Copilot?
Este nuevo agente de código es el primer agente de ingeniería de software asíncrono de GitHub. Está construido sobre GitHub Actions y funciona como un miembro más de tu equipo: le asignas un issue, lo dejas trabajar y luego revisas sus resultados antes de aprobarlos o modificarlos. Además, tiene en cuenta el contexto de issues relacionados o discusiones en pull requests, y puede seguir las instrucciones personalizadas que tu equipo haya definido para el repositorio.
El proceso es sencillo: asignas el issue, Copilot planifica el trabajo, abre un pull request, escribe el código, ejecuta las pruebas y te pide que lo revises. Si le das feedback, revisará el pull request y seguirá iterando hasta que lo apruebes.
Agente de Código vs. Modo Agente: ¿Cuál es la diferencia?
Es importante distinguir entre el agente de código y el modo agente:
- Modo Agente: Es un colaborador síncrono que trabaja contigo en tiempo real dentro de tu IDE (VS Code, JetBrains, Eclipse, Xcode). Itera sobre el código, ejecuta pruebas y corrige sus propios errores al instante.
- Agente de Código: Es un colaborador asíncrono que trabaja en tu nombre, como un compañero de equipo. Se ejecuta dentro de GitHub Actions, toma los issues que le asignas, explora el contexto del repositorio, escribe el código, pasa las pruebas y abre un pull request para tu revisión.
Ambos utilizan peticiones premium de Copilot, y el agente de código también consume minutos de GitHub Actions. ¡Tenlo en cuenta para planificar y presupuestar!
¿Qué puede hacer el Agente de Código por ti?
Según Brittany Ellich, Ingeniera de Software Senior en GitHub, el agente de código te permite hacer más cosas bien, como:
- Descargar tareas repetitivas como añadir y extender pruebas unitarias.
- Mantener una mejor higiene de issues y documentación, corrigiendo errores tipográficos y haciendo pequeñas refactorizaciones.
- Mejorar la experiencia de usuario arreglando bugs, actualizando la interfaz y reforzando la accesibilidad.
Al delegar estas tareas de complejidad baja o media al agente de código, tendrás más tiempo para concentrarte en la resolución de problemas de alto nivel, abordar la deuda técnica acumulada y aprender nuevas habilidades.
Recuerda: ¡Tú tienes el control en todo momento! Decides qué asignar, qué aprobar y qué modificar.
¿Cómo usar el Agente de Código para completar un issue?
Aquí tienes los pasos:
Paso 1: Escribe y asigna el issue a Copilot
Este es el paso más importante. Piensa en escribir el issue como si estuvieras dando instrucciones a un miembro de tu equipo: cuanto más contexto proporciones, mejores serán los resultados.
Asegúrate de incluir:
- Información relevante: Por qué es importante esta tarea, qué toca y cualquier contexto histórico relevante.
- Resultado esperado: Cómo se ve el estado \”hecho\”.
- Detalles técnicos: Nombres de archivos, funciones o componentes involucrados.
- Reglas de formato: Especialmente si utilizas scripts personalizados o archivos autogenerados.
Puedes asignar el issue a Copilot a través de github.com, la app móvil de GitHub o la CLI de GitHub.
Consejos extra:
- Utiliza plantillas de issues con campos como \”descripción\” y \”criterios de aceptación\”.
- Si tu repositorio incluye instrucciones personalizadas (por ejemplo, qué archivos se autogeneran o cómo ejecutar los formateadores), Copilot las utilizará.
- ¡El agente puede ver las imágenes incluidas en los issues!
Paso 2: Copilot planifica el código
Una vez que asignas un issue, Copilot reaccionará con un emoji 👀. Luego, iniciará una sesión de agente utilizando GitHub Actions.
Copilot leerá tu issue y lo dividirá en una lista de tareas, actualizando el pull request con esta lista. A medida que complete cada tarea, la marcará como completada y hará commits a la rama. Puedes ver la sesión en vivo, revisar los registros de la sesión más tarde o actualizar el pull request para ver cómo Copilot está razonando sobre la tarea.
Paso 3: Copilot escribe el código
Aquí es donde ocurre la magia. Copilot modifica tu base de código basándose en el issue, ejecuta pruebas automatizadas y linters (si están presentes en tu repositorio), y actualiza o genera pruebas según sea necesario. También hará commits iterativamente a medida que complete las tareas.
Si ves algo raro, puedes intervenir en cualquier momento para asegurarte de que las cosas van en la dirección correcta.
Paso 4: Revisa y fusiona el pull request
Una vez que Copilot termina el trabajo, te etiquetará para que lo revises. Puedes aprobar el pull request, dejar comentarios o pedir cambios.
Importante: La persona que creó el issue no puede ser el aprobador final. Necesitarás un compañero, gerente o revisor designado para dar el visto bueno. Esto fomenta la colaboración y garantiza que no se fusiona código no revisado o inseguro.
Conclusión
El agente de código de Copilot, como cualquier herramienta o compañero de equipo, puede necesitar un poco de ayuda para ofrecer exactamente el resultado que deseas. Recuerda, el factor más importante para el éxito es cómo escribes el issue.
Los modelos de IA y LLM están mejorando rápidamente. Según Ellich, \”los modelos que estamos utilizando hoy son los peores que jamás utilizaremos, porque solo están mejorando\”. Los agentes de código ya están demostrando ser útiles en flujos de trabajo reales.
¡Experimenta con el agente de código en un repositorio de prueba y comienza a construir tus propios flujos de trabajo!
Fuente: GitHub Blog
Leave a Comment