Introducción al squad de agentes autónomos
Inspirado en el workshop Kitten Agent Blog del AgentCamp 2026, este artículo te guiará paso a paso para implementar un squad de agentes autónomos que colaboran para generar contenido, imágenes y desplegar un blog en GitHub Pages. Utilizaremos GitHub Agentic Workflows (gh aw) y servicios como Azure OpenAI para enriquecer las capacidades de los agentes.
El squad estará compuesto por cuatro agentes principales:
- Astro: Diseña la arquitectura del contenido.
- Whiskers: Escribe artículos basados en prompts.
- Luna: Genera imágenes personalizadas.
- Rocket: Publica el contenido en GitHub Pages.
Requisitos previos
Antes de comenzar, asegúrate de tener los siguientes elementos configurados:
- GitHub CLI con soporte para Agentic Workflows (
gh aw). - Una suscripción activa a Azure OpenAI.
- Un repositorio de GitHub configurado para GitHub Pages.
- Node.js (v18 o superior) y Python (v3.9 o superior) instalados en tu máquina.
Note: GitHub Agentic Workflows es una extensión experimental disponible para usuarios del programa beta de GitHub CLI. Si no tienes acceso, consulta la documentación oficial para solicitarlo.
Paso 1: Configuración del repositorio y agentes
Crear el repositorio base
Crea un nuevo repositorio en GitHub para alojar tu blog. Puedes hacerlo desde la línea de comandos:
gh repo create kitten-agent-blog --public --template "actions/starter-workflows"
cd kitten-agent-blog
Configura GitHub Pages en la rama gh-pages:
- Ve a la configuración del repositorio en GitHub.
- Activa GitHub Pages seleccionando la rama
gh-pagescomo fuente.
Definir agentes en agentic.yaml
Crea un archivo agentic.yaml en la raíz del repositorio para definir los agentes y sus roles:
agents:
- name: Astro
role: Architect
capabilities:
- "Define estructura de contenido"
- "Generar prompts para Whiskers"
- name: Whiskers
role: Writer
capabilities:
- "Escribir artículos basados en prompts"
- "Optimizar contenido para SEO"
- name: Luna
role: Image Generator
capabilities:
- "Crear imágenes personalizadas con DALL·E"
- "Adaptar imágenes al formato del blog"
- name: Rocket
role: Publisher
capabilities:
- "Publicar contenido en GitHub Pages"
- "Monitorear errores de despliegue"
Warning: Asegúrate de que los nombres de los agentes sean únicos y que sus capacidades estén alineadas con las tareas que deseas automatizar.
Paso 2: Implementar las capacidades de los agentes
Astro: Diseñando la arquitectura del contenido
Astro define la estructura del contenido y genera prompts para Whiskers. Usa un script en Python que interactúe con Azure OpenAI para generar ideas de contenido:
import openai
openai.api_key = "TU_CLAVE_DE_AZURE_OPENAI"
def generar_estructura_tema(tema):
prompt = f"Genera una estructura detallada para un artículo sobre {tema}."
respuesta = openai.Completion.create(
engine="text-davinci-003",
prompt=prompt,
max_tokens=500
)
return respuesta.choices[0].text.strip()
tema = "Cómo implementar agentes autónomos"
estructura = generar_estructura_tema(tema)
print(estructura)
Guarda este script como astro.py y configúralo para ejecutarse como parte del workflow de GitHub Actions.
Whiskers: Escribiendo artículos
Whiskers utiliza GitHub Copilot para redactar contenido basado en los prompts generados por Astro. Configura un workflow en .github/workflows/whiskers.yml:
name: Whiskers Writer
on:
workflow_dispatch:
jobs:
write-article:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Generate article
run: |
python astro.py > prompts.txt
copilot-cli generate --prompt-file prompts.txt --output article.md
Note:
copilot-clies una herramienta CLI experimental de GitHub Copilot. Instálala siguiendo las instrucciones oficiales.
Luna: Generando imágenes
Luna utiliza la API de DALL·E de Azure OpenAI para crear imágenes personalizadas. Aquí tienes un ejemplo de cómo generar una imagen:
import openai
openai.api_key = "TU_CLAVE_DE_AZURE_OPENAI"
def generar_imagen(descripcion):
respuesta = openai.Image.create(
prompt=descripcion,
n=1,
size="1024x1024"
)
return respuesta['data'][0]['url']
descripcion = "Un gatito espacial escribiendo código en una laptop"
url_imagen = generar_imagen(descripcion)
print(f"Imagen generada: {url_imagen}")
Rocket: Publicando contenido
Rocket despliega automáticamente el contenido generado en GitHub Pages. Configura un workflow en .github/workflows/rocket.yml:
name: Rocket Publisher
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: $
publish_dir: ./public
Paso 3: Evitar conflictos entre agentes
Para evitar que los agentes trabajen en tareas conflictivas, implementa guardrails utilizando semáforos en GitHub Actions. Por ejemplo:
jobs:
write-article:
runs-on: ubuntu-latest
concurrency:
group: article-generation
cancel-in-progress: true
Esto asegura que solo un agente pueda generar contenido a la vez.
Conclusión
Implementar un squad de agentes autónomos como el del Kitten Agent Blog no solo es una forma innovadora de automatizar tareas, sino también una excelente manera de aprender sobre tecnologías como GitHub Agentic Workflows y Azure OpenAI. Con una narrativa creativa y herramientas avanzadas, puedes transformar procesos complejos en experiencias colaborativas y eficientes.
Enlace relacionado: Si te interesa el contexto de cómo el open source evoluciona en este tipo de proyectos, consulta nuestro artículo El futuro del open source en 2026: tendencias y oportunidades.