Deja de escribir YAML. Empieza a usar Workflows Agénticos.

BBetter Stack
Computing/SoftwareInternet Technology

Transcript

00:00:00GitHub acaba de lanzar una herramienta muy interesante. Se llama "agentic workflows" y su objetivo es simplificar
00:00:05la gestión del flujo de CI/CD al permitir orquestar flujos de trabajo mediante programación
00:00:12en lenguaje natural. Es una idea genial que podría modernizar la forma en que mantenemos y moderamos
00:00:18nuestros repositorios. En este vídeo, analizaremos de cerca cómo funcionan estos flujos de trabajo
00:00:24y te enseñaré a configurarlos en tu propio repositorio. Va a ser muy divertido,
00:00:28así que vamos a ello.
00:00:30GitHub Agentic Workflows es un nuevo proyecto de GitHub Next y Microsoft Research como parte de
00:00:40una visión más amplia que llaman "Inteligencia Artificial Continua". El objetivo es ir más allá de la automatización básica
00:00:47hacia un concepto que denominan "Ambigüedad Productiva". La idea es que las GitHub Actions tradicionales son deterministas.
00:00:54Si ocurre X, se hace Y. Pero tareas como clasificar un error, actualizar documentación
00:01:00o detectar fallos de arquitectura requieren cierto criterio. Los flujos de trabajo de agentes permiten
00:01:06describir ese criterio en un simple Markdown y ejecutarlo. Pero eso también significa que
00:01:11deben existir límites de control, por lo que se adopta un enfoque centrado en las acciones.
00:01:16Básicamente, hereda todo el ecosistema de GitHub Actions, como registros visibles para el equipo, gestión de secretos
00:01:23y permisos auditables. Así, obtienes la inteligencia de un agente con las protecciones
00:01:29de un flujo de CI/CD estándar. Estos agentes funcionan con permisos mínimos por defecto, lo que significa que
00:01:35pueden analizar el código y sugerir mejoras, pero no pueden realizar operaciones de escritura sin
00:01:41una aprobación explícita mediante rutas predefinidas y seguras. Básicamente, la idea es crear
00:01:46un asistente de IA para DevOps pero con medidas de seguridad. Y configurarlo es sumamente
00:01:52sencillo. Solo tienes que añadirlo usando la extensión de la CLI de GitHub y listo.
00:01:57El flujo de trabajo consta de un proceso de dos pasos. Primero, creas un archivo Markdown con las
00:02:03instrucciones para tu agente, luego ejecutas "gh-aw-compile" en ese archivo, y el sistema lee
00:02:10tus instrucciones en lenguaje natural y las transforma en un flujo de GitHub Actions robusto y seguro,
00:02:16almacenado en un archivo ".log.yaml" específico. Luego subes esos cambios a tu repo y el
00:02:22agente se activa automáticamente. Hagamos una pequeña demostración para ver cómo funciona. Aquí
00:02:29he creado un proyecto vacío y primero voy a crear un archivo Python sencillo con algunas
00:02:34variables de datos por ahora. Volveremos a este archivo en un momento, pero por ahora es todo lo que necesitamos.
00:02:39Ahora necesitamos crear una carpeta ".github" y luego una subcarpeta "workflows" dentro de ella. Y
00:02:46asegúrate de seguir esta convención de nombres para que Agentic Workflows sepa dónde buscar al
00:02:51compilar los archivos Markdown. Creemos un archivo Markdown llamado "agent.md". Este archivo
00:02:57consta básicamente de dos partes. La primera es el encabezado donde especificas qué permisos tendrá el agente.
00:03:03También debes especificar qué proveedor de IA vas a utilizar. En mi caso, usaré
00:03:09Copilot. Todo lo que sigue es de interpretación libre. Simplemente usas lenguaje natural
00:03:15para describir lo que el agente debe hacer. En esta demo, crearé este "auditor Big O" cuyo trabajo
00:03:21es revisar los commits, calcular la complejidad Big O de cualquier código nuevo y, si es ineficiente,
00:03:27identificar y sugerir una mejor forma de optimizarlo. También le pediré que muestre los resultados
00:03:33en una tabla en formato Markdown para una revisión rápida. Ahora volveré al directorio raíz y ejecutaré
00:03:38"gh-aw-compile". Si todo es correcto, recibiremos un mensaje indicando que hemos compilado
00:03:45un nuevo flujo de trabajo. Si observamos ahora nuestro árbol de archivos, verás que tenemos un archivo
00:03:51".log.yaml", compilado automáticamente por el script, y también una nueva carpeta llamada "aw",
00:03:57que contiene un archivo de registro de GitHub Actions. Ya podemos subir estos cambios a nuestro repositorio. Lo
00:04:03último que debes hacer es configurar la clave de API del proveedor de IA elegido como un secreto, para que
00:04:10Agentic Workflows pueda acceder a ella. Como elegí Copilot como motor, proporcionaré aquí mi token de GitHub Copilot.
00:04:15Ahora que todo está listo, subiré todos estos cambios a GitHub. En este punto, el
00:04:21flujo de trabajo del agente debería estar listo para activarse. Dado que configuré mi flujo para
00:04:26que se active con cualquier nueva pull request, vamos a crear una para probarlo.
00:04:32Crearé una nueva rama en mi repositorio. En esta rama, añadiré una nueva función
00:04:37a nuestro archivo "main.py" que buscará registros coincidentes. Pero escribiré esta función
00:04:44deliberadamente con una complejidad Big O muy ineficiente de O(n²). Si abro una pull request con este código,
00:04:50nuestro agente debería identificar que la función es ineficiente y sugerir mejoras. Así que
00:04:56probémoslo ahora. He añadido el código, subido los cambios y, de vuelta en GitHub, abramos una
00:05:02nueva pull request. Verás que en cuanto abra la solicitud, el flujo de Agentic Workflows
00:05:08se activará inmediatamente y empezará a procesar nuestros cambios de código. El proceso tardó
00:05:13aproximadamente tres minutos en terminar. Y ahora vemos que nuestro auditor Big O ha identificado,
00:05:20efectivamente, nuestra función como ineficiente. Nos da una explicación detallada del porqué con una tabla bien
00:05:26formateada, como pedí, seguida de una sección donde propone una solución mejor. Y fíjate,
00:05:33incluso calcula el impacto en el rendimiento que ganaríamos al implementar la solución optimizada. Espero que
00:05:39este ejemplo demuestre cómo, con una configuración mínima, podemos usar Agentic Workflows para añadir
00:05:44controles de seguridad adicionales a nuestra base de código. Aquí es donde entra en juego la ambigüedad productiva:
00:05:51podemos pedir al agente que use su criterio para resolver objetivos de alto nivel, como mantener la calidad y el rendimiento.
00:05:56Obviamente, esto sigue siendo un prototipo de investigación de GitHub Next, por lo que es probable que
00:06:01haya algo de latencia. Y definitivamente sigues necesitando a un humano para verificar las comprobaciones finales.
00:06:07Pero esta es la visión más amplia de la IA continua, donde aprovechamos el poder de los agentes de IA
00:06:14para monitorizar y gestionar nuestros flujos de CI/CD de forma autónoma. Y hablando de sistemas autónomos,
00:06:19si gestionas entornos de producción, sabes que mantener todo funcionando sin problemas es un trabajo
00:06:25de 24 horas al día. Por eso recomiendo echar un vistazo a Better Stack, porque acabamos de lanzar nuestro propio
00:06:31SRE con IA que te ayuda a gestionar incidentes de guardia mientras duermes. Así podrás
00:06:38dejar de apagar fuegos y centrarte en enviar código. Eso es todo por hoy, amigos. Si este vídeo te ha
00:06:42parecido útil e informativo, házmelo saber haciendo clic en el botón de "me gusta". Y no olvides
00:06:47suscribirte a nuestro canal. Soy Andris, de Better Stack, y nos vemos en los próximos
00:06:52vídeos.

Key Takeaway

GitHub Agentic Workflows revoluciona el CI/CD al permitir que los desarrolladores orquesten flujos de trabajo complejos y basados en criterios subjetivos utilizando simplemente lenguaje natural y archivos Markdown.

Highlights

Introducción de GitHub Agentic Workflows para sustituir la configuración manual de YAML por lenguaje natural.

El concepto de "Ambigüedad Productiva" permite a la IA aplicar criterio en tareas no deterministas como auditorías de código.

Integración total con el ecosistema de GitHub Actions

Timeline

Introducción a los Flujos de Trabajo Agénticos

El presentador introduce la nueva herramienta de GitHub Next diseñada para simplificar la gestión de CI/CD. Explica que el objetivo principal es permitir la orquestación de flujos mediante programación en lenguaje natural, eliminando la necesidad de escribir YAML complejo. Esta innovación busca modernizar radicalmente la forma en que se mantienen y moderan los repositorios de código actuales. Se menciona que el vídeo funcionará como una guía detallada para entender su funcionamiento y configuración. Es el punto de partida para entender la transición hacia una automatización más inteligente.

Conceptos de IA Continua y Ambigüedad Productiva

Se explora la visión de GitHub Next y Microsoft Research sobre lo que denominan "Inteligencia Artificial Continua". El orador contrasta las GitHub Actions tradicionales, que son deterministas y rígidas, con la nueva "Ambigüedad Productiva" que requiere juicio humano o artificial. Este sistema permite abordar tareas como la clasificación de errores o la detección de fallos de arquitectura mediante instrucciones en Markdown. A pesar de esta flexibilidad, el sistema hereda todas las protecciones de seguridad y auditoría de las acciones estándar. El enfoque garantiza que los agentes operen con permisos mínimos y requieran aprobación humana para cambios críticos.

Configuración y Proceso de Compilación

En esta sección se detalla el flujo de trabajo técnico para implementar estos agentes en un repositorio. El proceso comienza con la creación de un archivo Markdown que contiene las instrucciones específicas para el agente de IA. Posteriormente, se utiliza el comando "gh-aw-compile" a través de la interfaz de línea de comandos de GitHub para procesar dicho archivo. El sistema transforma automáticamente el lenguaje natural en un archivo YAML robusto y seguro para su ejecución. Este paso es fundamental porque demuestra cómo la herramienta traduce la intención humana en código de infraestructura funcional.

Demostración Práctica: Creación del Auditor Big O

El vídeo muestra un ejemplo real configurando un proyecto desde cero con un archivo Python y la estructura necesaria de carpetas en ".github/workflows". El autor define un agente llamado "auditor Big O" dentro de un archivo Markdown, especificando a Copilot como el proveedor de IA. Las instrucciones piden expresamente que el agente revise los commits y sugiera mejoras de eficiencia mediante tablas comparativas. También se explica la necesidad de configurar los secretos del repositorio, como el token de GitHub Copilot, para que el flujo tenga acceso a los modelos de lenguaje. Esta parte es crucial para visualizar la sencillez de la sintaxis y la estructura de archivos requerida.

Pruebas en Pull Requests y Resultados

Para validar el sistema, el presentador crea una pull request con una función de búsqueda deliberadamente ineficiente con complejidad O(n²). Al subir los cambios, el agente se activa automáticamente y procesa el código durante unos tres minutos antes de emitir su veredicto. El resultado es un comentario detallado en la pull request que identifica el problema, ofrece una tabla explicativa y propone una solución optimizada. El agente incluso llega a calcular la ganancia de rendimiento estimada tras aplicar la mejora sugerida. Este ejemplo práctico confirma la utilidad de la "ambigüedad productiva" para mantener la calidad del software sin intervención manual constante.

Limitaciones y Conclusión sobre SRE con IA

El autor concluye recordando que esta herramienta es todavía un prototipo de investigación y puede presentar latencia en sus respuestas. Subraya la importancia de mantener a un humano en el proceso para verificar las comprobaciones finales antes de fusionar cambios. Finalmente, se hace una mención a Better Stack y su nuevo servicio de SRE potenciado por IA para la gestión de incidentes de guardia. El vídeo cierra reforzando la idea de que delegar tareas rutinarias a la IA permite a los desarrolladores centrarse en escribir código de valor. Es un cierre que conecta la innovación de GitHub con las soluciones actuales para la estabilidad de sistemas en producción.

Community Posts

View all posts