Introducción: El Agente de Codificación GitHub Copilot hizo su debut en la conferencia Microsoft Build celebrada ayer.
A principios de este año, GitHub ya había anticipado el lanzamiento de Project Padawan, un programa agente diseñado para asistir a los ingenieros de software y encargarse de tareas rutinarias como la revisión de código, la refactorización y la resolución de problemas en su nombre.
Ayer (19 de mayo), en la conferencia anual Microsoft Build, GitHub lanzó la primera versión de este agente de codificación, llamado GitHub Copilot Coding Agent. Este nuevo agente de Ingeniería de Software (SWE) estará completamente integrado en la experiencia de GitHub y será capaz de recibir incidencias de GitHub y manejarlas de forma autónoma. Estará disponible a partir de hoy para los usuarios de Copilot Enterprise y Copilot Pro+.
Dado que el agente de codificación requiere una capacidad de computación significativa, se ejecutará en la nube utilizando GitHub Actions. Una vez que un desarrollador asigna una incidencia al agente, este activará un entorno de desarrollo personalizable en GitHub Actions para trabajar en una solicitud de extracción (pull request).
Sin embargo, el agente no podrá ejecutar ningún flujo de trabajo de CI/CD sin aprobación humana. Solo podrá enviar cambios a las ramas que él mismo cree y no podrá tocar las ramas predeterminadas ni otras ramas creadas por los desarrolladores. Los desarrolladores pueden limitar los servidores MCP y sitios web a los que el agente puede acceder. Además, para mejorar aún más la eficiencia de la revisión, un desarrollador que solicite al agente que abra una solicitud de extracción no podrá aprobarla él mismo.
«El factor de confianza de los agentes no es tan alto como el factor de confianza de los desarrolladores humanos en el mundo actual», nos dijo Thomas Dohmke, CEO de GitHub. «Es casi como si no contrataras a alguien para tu equipo sin hacerle una entrevista, sin hacer una verificación de antecedentes, sin hacer todas estas cosas. Por lo tanto, creemos que los agentes necesitan estar en un entorno más controlado que un desarrollador humano.»
Actualmente, funciona con Claude Sonnet 3.7 de Anthropic porque, como me dijo Dohmke, el equipo pensó que el modelo actualmente tenía la «mejor combinación de calidad de código y coincidencia con las preferencias del desarrollador.»
Dohmke habló recientemente sobre cómo Copilot se está convirtiendo en el compañero del desarrollador. En muchos sentidos, eso está sucediendo definitivamente.
«El flujo de trabajo es el siguiente: como desarrollador, seguirás dedicando la mayor parte de tu tiempo (esperemos que en VS Code), a construir el software que amas, a hacer lo que amas hacer», dijo en una entrevista antes del anuncio de hoy. «Cuando tengas una tarea, o alguien te asigne una incidencia de GitHub, o haya un informe de error, lo enviarás al agente de codificación. Y luego tendrás algunas sesiones del agente ejecutándose en la nube, y tu máquina local estará disponible para ti, en estado de flujo. Esperemos que haciendo cosas mágicas.»
Los desarrolladores pueden asignar una incidencia al agente utilizando GitHub.com, GitHub Mobile o la CLI de GitHub, al igual que lo harían con un colega. El agente añadirá entonces un emoji 👀 y comenzará a trabajar. Los desarrolladores pueden monitorizar el progreso viendo los pasos de razonamiento del agente y los esfuerzos de validación del código en los registros de la sesión.
GitHub enfatizó que todas estas características son más adecuadas para solicitudes bien definidas que normalmente pueden abordarse con una única incidencia de GitHub. «El agente destaca en tareas de complejidad baja a moderada en una base de código bien probada, desde añadir características, corregir errores, hasta ampliar pruebas, refactorizar código y mejorar la documentación», dijo Dohmke.
De la finalización de código a los agentes de codificación
Este nuevo agente complementa el modo agente existente de Copilot, que se ejecuta en el IDE. El modo agente también puede escribir código desde cero, editar bases de código existentes y usar herramientas según sea necesario. Este modo agente, por cierto, antes solo estaba disponible en VS Code, pero ahora también está disponible para JetBrains, Eclipse y Xcode.
Dohmke ve las ofertas actuales como un espectro continuo, desde la finalización de código y el modo agente – que cubren el bucle interno de la codificación – hasta el agente de codificación, enfatizó.
«La idea», explicó, «es imaginar que el agente de codificación crea una solicitud de extracción y ha creado cinco commits. Ya casi termina, y ahora necesitas tomar una decisión: ¿Será sostenible para ti seguir dándole indicaciones hasta que llegue exactamente a donde quieres? ¿O tal vez sea más rápido para ti descargar esa solicitud de extracción usando la CLI de GitHub? Abrir VS Code (con o sin modo agente), hacer el cambio y enviarlo de vuelta? Una solicitud de extracción te da un punto ideal para decir que el agente te trajo hasta aquí, y ahora haces los últimos commits de vuelta a la misma solicitud de extracción para dejarla lista para la fusión.»
El agente SRE de Microsoft
Además del agente de codificación, Microsoft también lanzó esta semana un agente de Ingeniería de Confiabilidad Visual (SRE) para Azure, que en realidad puede usar el nuevo agente SWE de GitHub para solucionar problemas de forma autónoma.
«Lo clave aquí es que puede monitorear tus sistemas las 24 horas del día y puede solucionar automáticamente los problemas que surjan», me dijo Amanda Silver, Vicepresidenta Corporativa y Jefa de Producto de la División de Desarrolladores de Microsoft. «Y puede trabajar en conjunto con tus flujos de trabajo de GitHub. Entonces, una vez que descubre la causa raíz de un problema, en realidad puede intentar solucionarlo automáticamente, […], pero también puede registrar estas incidencias en GitHub. Así que también tenemos esta interacción realmente agradable donde puedes hacer que el agente SRE monitoree tus sistemas de producción. Encuentra una incidencia, la registra como incidencia en GitHub, y luego el agente SWE, que es el agente de codificación GitHub Copilot que estamos lanzando, puede tomar esa incidencia y trabajar en la solución.»
Silver señaló que este agente SRE se basa en un agente interno que Microsoft desarrolló y utiliza. Sus datos se basan en la misma guía que la empresa proporciona a sus ingenieros para ayudarles a solucionar problemas de los servicios de Azure.
Microsoft también se asoció con New Relic para incorporar datos de su servicio de monitorización del rendimiento de aplicaciones (APM) a este flujo de trabajo. El agente también puede trabajar con ServiceNow, PagerDuty y otros sistemas de gestión de incidencias.
DevOps recupera la diversión
Todo esto se trata de devolver la diversión a DevOps, dijo Silver.
«Creemos que toda esta categoría es en realidad 'Agent DevOps', que es la siguiente fase de DevOps en su conjunto», dijo Silver. «Este es el mundo en el que vemos agentes de IA incrustados en cada fase del desarrollo: desde la planificación hasta la producción, desde la codificación hasta la implementación. Esto realmente ayudará a acelerar la entrega de software, aumentar la calidad y recuperar mucha diversión.»
Bonus: La extensión de VS Code Copilot ahora es de código abierto
El agente de codificación fue sin duda lo más destacado de los anuncios de GitHub de ayer. Pero vale la pena señalar que GitHub también está abriendo el código de la extensión de GitHub para VS Code. VS Code ya es de código abierto, al igual que muchas de las extensiones en las que confían los desarrolladores. La extensión de Copilot, incluidas sus indicaciones del sistema, ahora residirá en el mismo repositorio de GitHub que VS Code.
«Creo que lo clave aquí es que esto realmente fomentará que el ecosistema coevolucione con nosotros», nos dijo Silver. «VS Code siempre ha sido de código abierto, y las extensiones son donde reside la magia de VS Code. Creo que, obviamente, hay una tonelada de innovación ocurriendo en el espacio de la codificación asistida por IA, y por eso queremos asegurarnos de que VS Code siga siendo el centro de toda esa innovación.»
Notablemente para los desarrolladores, la extensión de Copilot para el IDE Xcode de Apple ya es de código abierto.
Editor: 场长
Enlaces relacionados:
Lectura relacionada: