# Acto 2: Reúne a Tu Equipo de Producción de Podcast 🎬 ![lab2](../../../../translated_images/es/lab2.48444b9d549e7863.webp) ## La Trama se Complica Alex (tu asistente de IA del Acto 1) es increíble, pero un solo agente no puede manejar todo un estudio de podcast. Necesitas un *equipo*: - 🔍 **Agente de Investigación**: Revisa internet para encontrar información fresca - ✍️ **Agente de Guion**: Convierte la investigación en diálogos atractivos - 👤 **Tú (El Editor)**: Apruebas guiones o los devuelves para reescrituras Bienvenido a la **Orquestación de Agentes IA** — donde te conviertes en el director de tu propio equipo de IA. Piensa en Los Vengadores, pero para la producción de podcasts. ## ¿Qué es la Orquestación de Agentes? (Versión Simple) Imagina que tienes un restaurante. No haces todo tú mismo, ¿verdad? Tienes: - 🍳 Un chef que cocina - 👨‍🍳 Un sous chef que prepara - 👩‍🍳 Un camarero que entrega La orquestación de agentes es la misma idea, pero con IA. Cada agente tiene una especialidad, y tú los coordinas para lograr objetivos mayores. Ningún agente queda abrumado y el trabajo se hace más rápido. ### La Analogía de la Banda 🎸 Tus agentes de IA son como una banda: - **Vocalista principal**: El agente principal que maneja tareas de cara al cliente - **Baterista**: Mantiene el ritmo, maneja procesos en segundo plano - **Bajista**: Apoya a todos, obtiene datos - **Tú (Manager de la banda)**: ¡Coordina todo! ¿Sin coordinación? Solo ruido. ¿Con orquestación? Música hermosa. ### Por Qué Importa Un agente de IA intentando hacer todo = agotamiento. Agentes especializados trabajando juntos = eficiencia desbloqueada! 🚀 **Hablemos claro**: ¿Recuerdas tratar de investigar, escribir Y editar tu podcast solo? Sí, eso apesta. Con orquestación, cada agente maneja lo que mejor sabe hacer. Tú solo tomas las decisiones finales. **Ejemplo en el mundo real**: Bots de soporte al cliente que saben cuándo manejar facturación vs. problemas técnicos vs. cuándo llamar a un humano. Eso es orquestación. ## Agente vs. Flujo de trabajo: ¿Cuál es la diferencia? Piénsalo así: ### 🤖 Agente de IA = Músico de Jazz - **Toma decisiones al instante** según lo que escucha - **Improvisa** soluciones usando sus herramientas - **Piensa** con un cerebro LLM - **Se adapta** a cualquier escenario que le presentes ### 🎵 Flujo de trabajo = Orquesta tocando música clásica - **Sigue una partitura** (pasos predefinidos) - **Ruta de ejecución** predecible - **Coordina** múltiples agentes, humanos y sistemas - **Estructurado** como una receta **La magia**: ¡Los flujos *orquestan* a los agentes! Creas un flujo que dice a los agentes cuándo deben tocar su parte. Lo mejor de ambos mundos. 🎭 ## Tres maneras de coordinar a tu equipo de IA ### 1. 🎯 Centralizado (Tú eres el jefe) Un agente principal toma todas las decisiones. Piensa en ello como ti manejando un equipo — tú decides quién hace qué y cuándo. **Pros**: - ✅ Liderazgo claro (sin confusión) - ✅ Decisiones consistentes - ✅ Fácil de depurar **Úsalo para**: - Ruteo de servicio al cliente ("¿Esto es facturación o soporte técnico?") - Flujos de aprobación de contenido ("¿Pasa este guion?") - Producción de podcasts (¡justo lo que estamos construyendo!) ### 2. 🤝 Descentralizado (Los agentes se autoorganizan) Los agentes hablan directamente entre sí y resuelven las cosas como grupo. Como un chat grupal donde todos coordinan. **Pros**: - ✅ Escala fácilmente (añade más agentes en cualquier momento) - ✅ Sin un punto único de falla - ✅ Los agentes colaboran naturalmente **Úsalo para**: - Equipos de investigación (cada agente explora fuentes distintas) - Sesiones de lluvia de ideas - Resolución distribuida de problemas ### 3. 🔀 Híbrido (Lo mejor de ambos mundos) Tú defines la dirección general, pero los agentes tienen libertad para organizarse en tareas. Como ser un CEO que confía en su equipo. **Perfecto para**: Proyectos complejos que necesitan control y flexibilidad. ## Microsoft Agent Framework: Tu kit de herramientas para orquestación 🧰 ¡Hora de construir! Esto es lo que usarás: ### Los Bloques Constructores #### 1. 🧱 Ejecutores (Tus trabajadores) - **Qué son**: Unidades individuales de procesamiento — pueden ser agentes o lógica personalizada - **Qué hacen**: Reciben entrada, trabajan, producen salida - **Piénsalos como**: Estaciones en una línea de ensamblaje #### 2. ➡️ Bordes (Las conexiones) - **Qué son**: Rutas entre ejecutores - **Qué hacen**: Controlan el flujo de mensajes ("Después de A, ir a B") - **Piénsalos como**: Flechas en un diagrama de flujo #### 3. 🗺️ Flujos de trabajo (El plan maestro) - **Qué son**: El grafo completo de ejecutores + bordes - **Qué hacen**: Definen todo el proceso de principio a fin - **Piénsalos como**: El plano de tu pipeline de producción ### Funciones geniales que amarás **🛡️ Seguridad de tipo**: Los mensajes entre agentes son validados por tipo. Nada de sorpresas "Ups, tipo de dato erróneo". **🔀 Ruteo flexible**: - Condicionales if-then ("Si aprobado, publicar; si no, reescribir") - Procesamiento paralelo (varios agentes trabajan simultáneamente) - Rutas dinámicas (el flujo se adapta según los resultados) **🔌 Integración externa**: - Conexión a APIs - Puntos de control con humanos (tú apruebas antes de publicar) - Flujo de solicitud/respuesta **💾 Punto de control**: Guarda el progreso! Si algo falla, retoma donde quedaste. **🤝 Coordinación multiagente**: - Ejecuta agentes en secuencia (A → B → C) - Ejecuta en paralelo (A + B + C a la vez) - Entrega tareas entre agentes - Procesamiento colaborativo ## Buenas prácticas (Consejos profesionales) 🎯 ### 1. Mantén modularidad Cada agente debe hacer UNA cosa muy bien. No hagas un "superagente" que haga todo — lo lamentarás a la hora de depurar. ### 2. Planea para fallos Los agentes se equivocan. Las redes fallan. Incluye manejo de errores y planes de respaldo. Tu yo futuro te lo agradecerá. ### 3. Monitorea todo Rastrea lo que hacen tus agentes. Usa DevUI (¡lo veremos!) para ver flujos en acción. ### 4. Optimiza el tamaño de los mensajes No pases archivos gigantes entre agentes. Mantén los mensajes ligeros y rápidos. ### 5. Elige el patrón correcto ¿Necesitas control? Ve centralizado. ¿Necesitas escalar? Ve descentralizado. ¿No sabes? Ve híbrido. ## DevUI: Tu depurador de flujos 🔍 ### ¿Qué es DevUI? DevUI es como un playground para probar tus agentes y flujos. Es una interfaz web donde puedes: - 👀 Ver tu flujo en acción - 💬 Chatear con agentes directamente - 🔍 Depurar cuando algo falla - 📊 Ver rastros y métricas de rendimiento > **Importante**: DevUI es solo para desarrollo! No lo uses en producción. Piénsalo como tu entorno local de pruebas. ### Qué lo hace genial - **🖥️ UI Web interactiva**: Clic, escribe, prueba — no necesitas línea de comandos - **📁 Listo para arrastrar y soltar**: Sube archivos, prueba con diferentes entradas - **📂 Auto-descubrimiento**: Apúntalo a una carpeta y encuentra todos tus agentes automáticamente - **📋 Modo sin configuración**: Registra agentes en código, no necesitas estructura de carpeta - **🔌 Compatible con OpenAI**: Funciona con el SDK de OpenAI (¡compatibilidad garantizada!) - **👁️ Trazado incorporado**: Ve exactamente qué hacen tus agentes ### Cómo funciona la entrada DevUI es inteligente con las entradas: - **¿Probando agentes?** Tienes cajas de texto y botones para subir archivos - **¿Probando flujos?** La UI genera campos de entrada automáticamente según lo que espera tu flujo Es como magia, pero es solo buen código. ✨ ## Tus misiones: Construir un estudio de podcast 🎬 ### Misión 1: Crear un agente único con DevUI 📂 [01.AgentDevUI](../../../../WorkshopForAgentic/code/02.Workflow/01.AgentDevUI) **El reto**: Antes de construir un equipo completo, probemos DevUI con un agente: un especialista en búsqueda web. **Lo que construirás**: Un agente de investigación que puede buscar en internet temas para podcast. Lo probarás usando la interfaz web de DevUI en `http://localhost:8090`. **Habilidades que aprenderás**: - 🚀 Lanzar agentes en DevUI - 🔍 Probar respuestas de agentes en tiempo real - 🛠️ Construir herramientas personalizadas (búsqueda web) - 📊 Activar trazado para depurar problemas - 🖥️ Usar la interfaz web interactiva **El código**: - `agent.py`: Tu SearchAgent con superpoderes de búsqueda web - Usa OllamaChatClient para conectarse a Qwen - Implementa la función herramienta `web_search()` - Se lanza con `serve()` — abre DevUI automáticamente **Condición de victoria**: Pregunta a tu agente "¿Qué es tendencia en IA?" y míralo buscar en la web! 🎉 ### Misión 2: Construir un flujo multiagente 📂 [02.WorkflowDevUI](../../../../WorkshopForAgentic/code/02.Workflow/02.WorkflowDevUI) **El reto**: ¡Aquí empieza la diversión! Construye un flujo completo de producción de podcast con: 1. 🔍 **Agente de búsqueda** → Investiga tu tema 2. ✍️ **Agente de guion** → Escribe un diálogo entre dos anfitriones (¡en chino!) 3. 👤 **Ejecutor de revisión** → TE pide aprobar o rechazar 4. 🔄 **Bucle de retroceso** → Si rechazas, reescribe basado en tu feedback **Habilidades que aprenderás**: - 🧱 Crear agentes especializados para distintos trabajos - 🔗 Conectar agentes con WorkflowBuilder - 🔀 Implementar bucles de aprobación (humano en el ciclo) - 🚦 Ruteo condicional (aprobado vs. rechazado) - 🔧 Construir ejecutores personalizados para lógica de negocio **El flujo**: ``` SearchAgent → ScriptAgent → ReviewExecutor ↑ ↓ (if rejected) ←───────── ``` **El código**: - `search_agent/agent.py`: Tu especialista en investigación - `generate_script_agent/agent.py`: Tu guionista (¡escribe en chino!) - `workflow/workflow.py`: La magia de la orquestación sucede aquí - `main.py`: Lanza todo en DevUI **Condición de victoria**: Da un tema, revisa el guion, recházalo una vez para probar el bucle, luego apruébalo! 🎉 ### Misión 3: Construir una app de consola 📂 [03.Application](../../../../WorkshopForAgentic/code/02.Workflow/03.Application) **El reto**: Lleva tu flujo de DevUI y conviértelo en una app terminal elegante con salida en color, spinners de carga y guardado de archivos. ¡Esto es para producción! **Habilidades que aprenderás**: - ⚡ Ejecutar flujos programáticamente (sin DevUI) - 📡 Arquitectura basada en eventos con streaming - 🎨 Crear interfaces terminales bonitas (colores, spinners, barras de progreso) - 💾 Guardar guiones finales en archivos - 🔄 Manejar flujos async con asyncio de Python **Qué hace**: 1. Te pide un tema para podcast 2. Muestra progreso en tiempo real ("Agente de búsqueda trabajando...") 3. Muestra el guion generado con colores 4. Pide tu aprobación 5. Guarda el guion aprobado en `podcast.txt` **El código**: - `podcast_app.py`: Tu app principal con manejo de eventos - `workflow.py`: Reusa el flujo de la Misión 2 - Maneja eventos: `AgentRunUpdateEvent`, `RequestInfoEvent`, `WorkflowOutputEvent` - Usa colores ANSI para estilo terminal **Condición de victoria**: Ejecuta la app, crea un guion de podcast y ¡míralo guardarse! Has construido una herramienta real. 🚀 ## Lo que has dominado 🏆 Después del Acto 2, puedes: - ✅ Orquestar múltiples agentes de IA como un jefe - ✅ Construir flujos de trabajo con lógica secuencial Y condicional - ✅ Añadir puntos de control de aprobación humana - ✅ Usar DevUI para probar y depurar flujos - ✅ Crear aplicaciones de consola listas para producción - ✅ Manejar errores con gracia en sistemas complejos - ✅ Elegir el patrón correcto de orquestación para cualquier proyecto ## Cuando las cosas se rompen 🔧 ### "¡Mi flujo es muy complicado!" **La solución**: Divídelo en sub-flujos más pequeños. Cada flujo debe hacer UNA cosa bien. Enlázalos si es necesario. ### "¡No puedo rastrear qué pasa!" **La solución**: Usa puntos de control de flujo para guardar estado. Activa trazado en DevUI para ver cada paso. ### "¡El error de un agente arruina todo!" **La solución**: Añade límites de error. Cada agente debe manejar sus propias fallas y tener comportamientos alternativos. ### "Esto es taaaan lento" **La solución**: ¿Pueden algunos agentes correr en paralelo? Los flujos secuenciales son fáciles pero lentos. Busca oportunidades de paralelización. ## Recursos útiles 🔗 - [Docs de Workflow](https://learn.microsoft.com/en-us/agent-framework/user-guide/workflows/overview) — Guías oficiales de Microsoft - [Patrones de Orquestación](https://www.ibm.com/think/topics/ai-agent-orchestration) — El enfoque de IBM - [Agent Framework GitHub](https://github.com/microsoft/agent-framework) — Navega el código fuente - [Ejemplos de código](https://github.com/microsoft/agent-framework/tree/main/python/samples) — Toma patrones de aquí --- **¿Listo para el final?** Ya tienes tu guion. ¡Ahora convirtámoslo en audio real! → [Acto 3: Da vida a tu podcast](03.Multi-SpeakerPodcastGenerationWithVibeVoice.md) 🎤 --- **¿Atascado? ¿Confundido? ¿Emocionado?** ¡Comparte en el chat del taller! Todos estamos aprendiendo juntos. 🚀 --- **Descargo de responsabilidad**: Este documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Aunque nos esforzamos por lograr precisión, tenga en cuenta que las traducciones automatizadas pueden contener errores o inexactitudes. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No nos hacemos responsables de ningún malentendido o interpretación errónea derivada del uso de esta traducción.