Uso de GitHub Copilot Background Agents

1 minute read

GitHub Copilot Background Agents

Recientemente tuve la oportunidad de probar los GitHub Copilot Coding Agents (Background Agents) en uno de mis proyectos personales: el módulo terraform-aws-backup. Este módulo está diseñado para ayudar a los usuarios a gestionar planes de AWS Backup usando Terraform.

El problema

Un usuario abrió un issue solicitando soporte para múltiples planes de backup por vault. Esto requería un refactor importante del módulo, ya que previamente solo soportaba un plan por vault. Decidí asignar el issue a Copilot para ver cómo manejaba un refactor real de infraestructura como código (IaC).

Asignación del issue a Copilot

La solución de Copilot

Copilot Background Agents tomó el issue y propuso un pull request (PR #115) que introdujo una nueva variable plans (un mapa de mapas) para soportar múltiples planes de backup. El PR incluyó todos los cambios de código necesarios, actualizaciones de documentación y mantuvo la compatibilidad hacia atrás con el enfoque de un solo plan.

Interactué con Copilot directamente desde GitHub, haciendo preguntas y solicitando cambios. Por ejemplo, verifiqué la compatibilidad hacia atrás y reporté un caso especial relacionado con la migración del estado de Terraform. Copilot respondió a mis comentarios, resolvió los problemas y actualizó el PR en consecuencia.

Conversación en el PR de Copilot

Puntos destacados

  • Automatización de extremo a extremo: Casi todo el proceso ocurrió dentro de GitHub, con mínima intervención humana.
  • Rapidez: Todo el proceso de refactor y revisión tomó unos 35 minutos, de los cuales Copilot realizó la mayor parte en solo 13 minutos.
  • Flexibilidad de dispositivos: Gestioné el proceso desde mi iPad mini usando Arc, sin necesidad de un IDE local.
  • Retroalimentación iterativa: Copilot manejó varias rondas de feedback, incluyendo reportes de errores y ajustes de código.

Desventajas

  • Selección de modelo: No había opción para elegir qué modelo de IA usaba Copilot para la tarea.
  • Pruebas necesarias: Como con cualquier generación automática de código, fue necesario probar y validar manualmente antes de hacer merge.
  • Manejo de imágenes: Copilot no pudo leer imágenes pegadas en los comentarios, así que los errores debían proporcionarse en texto.

Conclusión

GitHub Copilot Background Agents demostró ser una herramienta valiosa para tareas automatizadas y desatendidas como el refactor de módulos. Aunque es importante probar y validar el código generado, Copilot puede acelerar significativamente los flujos de trabajo de desarrollo, especialmente para infraestructura como código.

Referencias

Leave a Comment