Cómo interactúan los agentes con las API y los flujos de trabajo de GitHub
Los agentes de inteligencia artificial están cambiando la forma en que se realiza el trabajo de desarrollo. En lugar de navegar manualmente por repositorios, escribir código y ejecutar comandos, los agentes pueden funcionar directamente dentro de GitHub para completar tareas de principio a fin.
GitHub admite el trabajo controlado por agentes a través de varias capas. Los agentes pueden utilizar las API de GitHub para leer el estado del repositorio y realizar acciones, los flujos de trabajo de Acciones de GitHub para ejecutar la automatización en corredores controlados, y los flujos de trabajo agentic de GitHub para describir tareas de repositorio de nivel superior en Markdown y ejecutarlas con agentes de codificación bajo fuertes medidas de protección. En lugar de pasar por alto GitHub, los agentes trabajan a través de los mismos sistemas que emplean los desarrolladores, incluidas las ramas, las solicitudes de incorporación de cambios, los problemas y la automatización.
En esta unidad, aprenderá lo siguiente:
- Cómo interactúan los agentes con GitHub a través de las API
- Cómo usan los agentes los flujos de trabajo como entornos de ejecución
- Cómo se crean y administran los cambios del repositorio
- Aspecto de un flujo de ejecución de agente completo en GitHub
Cómo interactúan los agentes con GitHub
Agentes de GitHub, como el agente en la nube de Copilot, funcionan dentro de un repositorio definido y un contexto de rama. Al asignar una tarea, por ejemplo a través de un problema o mensaje, el agente comienza a trabajar dentro de ese repositorio.
Los agentes pueden hacer lo siguiente:
- Investigación y comprensión del repositorio
- Planear los cambios necesarios para completar una tarea
- Realización de cambios de código en una nueva rama
- Abrir una solicitud de incorporación de cambios para revisión
Los agentes llevan a cabo estas acciones utilizando las capacidades de la plataforma de GitHub, como las APIs y los flujos de trabajo.
Estas acciones se pueden desencadenar mediante eventos de repositorio (como la solicitud de inserción o extracción), ejecutarse según una programación o orquestarse mediante flujos de trabajo agente que automatizan continuamente las tareas del repositorio a lo largo del tiempo.
Uso de las API de GitHub para realizar acciones
GitHub proporciona API que permiten a los sistemas interactuar con repositorios mediante programación.
Las API habilitan acciones como:
- Creación de ramas y confirmaciones
- Lectura de datos del repositorio
- Apertura y actualización de solicitudes de extracción
- Desencadenar flujos de trabajo
Todas las solicitudes de API deben autenticarse mediante tokens como tokens de acceso personal, tokens de aplicación GitHub o los GITHUB_TOKEN proporcionados en los flujos de trabajo.
Esto garantiza que todas las acciones que realiza un agente son controladas por permisos y auditables.
Cómo crean los agentes cambios en un repositorio
Cuando un agente realiza cambios, sigue el mismo flujo de trabajo que un desarrollador. Una secuencia típica tiene este aspecto:
- Selección de una rama base
- Creación de una nueva rama de trabajo
- Modificar o crear archivos
- Confirmar cambios
- Apertura de una solicitud de incorporación de cambios
Hay operaciones de API independientes para cada uno de estos pasos, incluido el trabajo con referencias de Git, contenido del repositorio y solicitudes de incorporación de cambios.
Esto significa que las acciones del agente están totalmente alineadas con el modelo de desarrollo estándar de GitHub.
Uso de Acciones de GitHub como capa de ejecución
Los agentes no ejecutan tareas directamente en la máquina. En su lugar, GitHub proporciona entornos de ejecución a través de flujos de trabajo con tecnología de Acciones de GitHub.
Un flujo de trabajo es un proceso definido por YAML que ejecuta trabajos en respuesta a eventos.
Los agentes dependen de estos flujos de trabajo para:
- Ejecución de pruebas
- Validar los cambios
- Ejecución de tareas de automatización
- Implementar aplicaciones
Copilot agente en la nube funciona en un entorno con tecnología Acciones de GitHub, lo que significa que los flujos de trabajo forman la base de la ejecución del agente.
Flujos de trabajo tradicionales frente a flujos de trabajo agente
Los flujos de trabajo de Acciones de GitHub tradicionales suelen ser deterministas y definidos por YAML: se especifica explícitamente cada paso, desencadenador y condición. GitHub flujos de trabajo agenticos agregan un modelo diferente para la automatización del repositorio. Permiten describir el resultado deseado en Markdown, definir límites de protección en el frente y llevar a cabo esa intención mediante un agente de codificación en Acciones de GitHub. Son más adecuados para tareas de repositorio abiertas, pero limitadas, como la evaluación de prioridades, los informes, el mantenimiento de documentación, el análisis de errores de CI y la mejora del código. No reemplazan las canalizaciones de CI/CD; las amplían con lo que GitHub describe como "IA continua".
Lo que hace que un flujo de trabajo agente sea diferente
Un flujo de trabajo agente de GitHub tiene dos partes principales:
- Frontmatter para la configuración, como desencadenadores, permisos, herramientas y salidas seguras
- Instrucciones de Markdown que describen el trabajo en lenguaje natural
Markdown indica la intención, mientras que el frontmatter define los límites. A continuación, el flujo de trabajo se compila en un archivo de bloqueo que Acciones de GitHub ejecuta.
on: schedule: daily
permissions: contents: read issues: read pull-requests: read
safe-outputs: create-issue: title-prefix: "[repo-status] " labels: [report]
tools: github:
Daily Repository Status Report
Create a daily report for maintainers.
Include:
Recent activity (issues, PRs, commits)
Key highlights and risks
Recommended next steps
Keep the report concise and link to relevant issues and pull requests.
En este ejemplo, la frontmatter (entre ---) define cómo y cuándo se ejecuta el flujo de trabajo, a qué puede acceder y a qué acciones se permiten.
El siguiente Markdown describe la intención del flujo de trabajo en lenguaje natural. Un agente interpreta esta intención y genera salidas estructuradas, que se aplican a través de pasos revisables controlados.
A diferencia de los flujos de trabajo de Acciones de GitHub tradicionales, que definen explícitamente cada paso, los flujos de trabajo agente se centran en describir los resultados. El agente determina cómo lograr el objetivo dentro de las restricciones definidas en el 'frontmatter'.
Desencadenamiento e interacción con flujos de trabajo
Los flujos de trabajo se pueden desencadenar de varias maneras:
- Automáticamente a través de eventos como push o pull request
- Uso manual del evento workflow_dispatch
- Mediante programación a través de la API de GitHub
Los agentes pueden confiar en estos desencadenadores para ejecutar tareas o validar los cambios después de realizar actualizaciones en un repositorio.
Cada ejecución de flujo de trabajo ejecuta trabajos en entornos aislados, lo que garantiza una ejecución coherente y segura.
¿Qué ocurre durante una sesión de un agente?
Las sesiones de agentes son observables e interactivas.
Durante una sesión, puede hacer lo siguiente:
- Supervisión del progreso a través de un registro de sesión
- Ver qué acciones está llevando a cabo el agente
- Proporcionar comentarios o ajustar la tarea
- Revisión del pull request final
El agente se adapta en función de los comentarios y continúa trabajando hasta que se complete la tarea.
Flujo de ejecución de agente de extremo a extremo
Reunirlo todo, una interacción típica del agente con GitHub tiene este aspecto:
- Se asigna una tarea a través de un problema, chat o CLI
- El agente selecciona el repositorio y la rama base.
- El agente analiza la base de código y planifica cambios.
- Las operaciones de API se usan para crear ramas y confirmaciones
- Se abre una solicitud de incorporación de cambios
- Los flujos de trabajo se ejecutan para validar o implementar cambios
- Los usuarios revisan, aprueban o solicitan actualizaciones
Este flujo garantiza que toda la actividad del agente sea:
- Acotado a un repositorio
- Controlado por permisos
- Ejecutado a través de flujos de trabajo
- Visible y revisable
Conclusión principal
Los agentes de GitHub no funcionan fuera de la plataforma. Interactúan a través de APIs, flujos de trabajo y estructuras de repositorio que aplican permisos, proporcionan entornos de ejecución y habilitan la colaboración a través de pull requests.
A continuación, aprenderá cómo el Protocolo de contexto de modelo (MCP) amplía estas funcionalidades al permitir que los agentes se conecten a herramientas y servicios adicionales más allá de GitHub.