# Ato 2: Monte sua Equipe de Produção de Podcast 🎬 ![lab2](../../../../translated_images/pt-BR/lab2.48444b9d549e7863.webp) ## A Trama se Adensa Alex (seu assistente de IA do Ato 1) é incrível, mas um agente não consegue gerenciar um estúdio de podcast inteiro. Você precisa de um *time*: - 🔍 **Agente de Pesquisa**: Vasculha a internet por informações fresquinhas - ✍️ **Agente de Roteiro**: Transforma a pesquisa em diálogos envolventes - 👤 **Você (O Editor)**: Aprova os roteiros ou os devolve para reescrita Bem-vindo à **Orquestração de Agentes de IA** — onde você vira o diretor da sua própria equipe de IA. Pense nos Vingadores, mas para produção de podcast. ## O Que é Orquestração de Agentes? (A Versão Simples) Imagine que você está gerenciando um restaurante. Você não faz tudo sozinho, certo? Você tem: - 🍳 Um chef que cozinha - 👨‍🍳 Um sous-chef que prepara - 👩‍🍳 Um garçom que entrega Orquestração de agentes é a mesma ideia, mas com IA. Cada agente tem uma especialidade, e você os coordena para alcançar objetivos maiores. Nenhum agente fica sobrecarregado e o trabalho é feito mais rápido. ### A Analogia da Banda 🎸 Seus agentes de IA são como uma banda: - **Vocalista principal**: O agente principal que lida com tarefas de atendimento ao cliente - **Baterista**: Mantém o ritmo, cuida do processamento de fundo - **Baixista**: Dá suporte a todos, busca dados - **Você (Gerente da Banda)**: Coordena tudo! Sem coordenação? Só barulho. Com orquestração? Música linda. ### Por Que Isso Importa Um agente de IA tentando fazer tudo = esgotamento. Agentes especializados trabalhando juntos = eficiência desbloqueada! 🚀 **Falando Sério**: Lembra de tentar pesquisar, escrever, E editar seu podcast sozinho? É horrível. Com orquestração, cada agente faz o que sabe melhor. Você só toma as decisões finais. **Exemplo Real**: Bots de suporte que sabem quando cuidar de cobrança vs. suporte técnico vs. quando chamar um humano. Isso é orquestração! ## Agente vs. Workflow: Qual a Diferença? Pense assim: ### 🤖 Agente de IA = Músico de Jazz - **Toma decisões no momento** baseado no que escuta - **Improvisa** soluções usando suas ferramentas - **Pensa** com um cérebro LLM - **Se adapta** a tudo que você mandar ### 🎵 Workflow = Orquestra Tocando Música Clássica - **Segue uma partitura** (etapas pré-definidas) - **Execução previsível** - **Coordena** múltiplos agentes, humanos, sistemas - **Estruturado** como uma receita **A Mágica**: Workflows *orquestram* agentes! Você monta um workflow que diz aos agentes quando entrar em cena. O melhor dos dois mundos. 🎭 ## Três Formas de Coordenar sua Equipe de IA ### 1. 🎯 Centralizado (Você é o Chefe) Um agente principal toma todas as decisões. Pense como se você gerenciasse um time — você decide quem faz o quê e quando. **Prós**: - ✅ Liderança clara (sem confusão) - ✅ Decisões consistentes - ✅ Fácil de depurar **Use para**: - Roteamento de atendimento ao cliente ("É cobrança ou suporte técnico?") - Fluxos de aprovação de conteúdo ("Esse roteiro passa?") - Produção de podcast (exatamente o que estamos construindo!) ### 2. 🤝 Descentralizado (Agentes se Auto-organizam) Agentes conversam diretamente entre si e resolvem as coisas em grupo. Como um chat em grupo onde todo mundo se coordena. **Prós**: - ✅ Escala fácil (adicione mais agentes a qualquer momento) - ✅ Sem ponto único de falha - ✅ Colaboração natural entre agentes **Use para**: - Times de pesquisa (cada agente explora fontes diferentes) - Sessões de brainstorming - Resolução distribuída de problemas ### 3. 🔀 Híbrido (O Melhor dos Dois Mundos) Você define a direção geral, mas os agentes têm liberdade para se organizarem nas tarefas. Como ser um CEO que confia no time. **Perfeito para**: Projetos complexos que precisam de controle e flexibilidade simultaneamente. ## Microsoft Agent Framework: Sua Caixa de Ferramentas para Orquestração 🧰 Hora de construir! Aqui está o que você vai usar: ### Os Blocos de Construção #### 1. 🧱 Executors (Seus Trabalhadores) - **O que são**: Unidades individuais de processamento — podem ser agentes ou lógica personalizada - **O que fazem**: Recebem entrada, executam trabalho, produzem saída - **Pense neles como**: Estações em uma linha de montagem #### 2. ➡️ Edges (As Conexões) - **O que são**: Caminhos entre executores - **O que fazem**: Controlam o fluxo de mensagens ("Depois de A, vá para B") - **Pense neles como**: Setas em um fluxograma #### 3. 🗺️ Workflows (O Plano Mestre) - **O que são**: O grafo completo com executores + edges - **O que fazem**: Definem o processo inteiro do início ao fim - **Pense neles como**: O mapa do seu pipeline de produção ### Recursos Legais Que Você Vai Amar **🛡️ Segurança de Tipos**: Mensagens entre agentes passam por checagem de tipo. Sem surpresas de "Ops, tipo errado". **🔀 Roteamento Flexível**: - Condições if-then ("Se aprovado, publique; senão, reescreva") - Processamento paralelo (vários agentes trabalhando ao mesmo tempo) - Caminhos dinâmicos (workflow se adapta baseado nos resultados) **🔌 Integração Externa**: - Conecte APIs - Adicione checkpoints com humanos (você aprova antes de publicar) - Monte fluxos de requisição/resposta **💾 Checkpointing**: Salve o progresso! Se der pau, retome de onde parou. **🤝 Coordenação Multi-Agente**: - Execute agentes em sequência (A → B → C) - Execute em paralelo (A + B + C juntos) - Passe tarefas entre agentes - Processamento colaborativo ## Melhores Práticas (Dicas Profissionais) 🎯 ### 1. Mantenha Modular Cada agente deve fazer UMA coisa muito bem. Não crie um "super agente" que faz tudo — você vai se arrepender na hora de debugar. ### 2. Planeje para Falhas Agentes erram. Redes caem. Implemente tratamento de erros e planos B. Seu eu futuro vai agradecer. ### 3. Monitore Tudo Acompanhe o que seus agentes estão fazendo. Use o DevUI (vamos falar dele!) para ver workflows em ação. ### 4. Otimize o Tamanho das Mensagens Não passe arquivos gigantes entre agentes. Mantenha as mensagens leves para velocidade. ### 5. Escolha o Padrão Certo Quer controle? Use centralizado. Quer escala? Use descentralizado. Não sabe? Vá de híbrido! ## DevUI: Seu Debugador de Workflow 🔍 ### O Que é DevUI? DevUI é como um playground para testar seus agentes e workflows. É uma interface web onde você pode: - 👀 Assistir seu workflow em ação - 💬 Conversar diretamente com agentes - 🔍 Depurar quando algo der errado - 📊 Ver rastros e métricas de performance > **Importante**: DevUI é só para desenvolvimento! Não use em produção. Pense nele como seu ambiente local de testes. ### Por Que Ele é Incrível - **🖥️ UI Web Interativa**: Clique, digite, teste — nada de linha de comando - **📁 Arrastar e Soltar**: Faça upload de arquivos, teste com entradas variadas - **📂 Descoberta Automática**: Aponte para uma pasta, ele encontra todos os agentes automaticamente - **📋 Modo Sem Configuração**: Registre agentes no código, sem precisar de estrutura de pastas - **🔌 Compatível com OpenAI**: Funciona com SDK OpenAI (compatibilidade garantida!) - **👁️ Traço Embutido**: Veja exatamente o que seus agentes estão fazendo ### Como a Entrada Funciona DevUI é esperto com entradas: - **Testando Agentes?** Você ganha caixas de texto e botões para upload de arquivos - **Testando Workflows?** A UI gera campos de entrada conforme o que seu workflow espera Parece mágica, mas é só código bem feito. ✨ ## Suas Missões: Construa um Estúdio de Podcast 🎬 ### Missão 1: Crie um Agente Único com DevUI 📂 [01.AgentDevUI](../../../../WorkshopForAgentic/code/02.Workflow/01.AgentDevUI) **O Desafio**: Antes de construir um time inteiro, vamos testar o DevUI com um agente: um especialista em busca web. **O Que Você Vai Construir**: Um agente de pesquisa que pode buscar na internet tópicos para podcast. Você vai testá-lo pela interface web do DevUI em `http://localhost:8090`. **Habilidades que Vai Aprender**: - 🚀 Lançar agentes no DevUI - 🔍 Testar respostas do agente em tempo real - 🛠️ Criar ferramentas customizadas (busca na web) - 📊 Ativar traço para depurar problemas - 🖥️ Usar a interface web interativa **O Código**: - `agent.py`: Seu SearchAgent com superpoderes de busca na web - Usa OllamaChatClient para conectar ao Qwen - Implementa a função `web_search()` - Lança com `serve()` — abre o DevUI automaticamente **Condição de Vitória**: Pergunte ao seu agente "Quais são as tendências em IA?" e veja ele buscar na web! 🎉 ### Missão 2: Construa um Workflow Multi-Agente 📂 [02.WorkflowDevUI](../../../../WorkshopForAgentic/code/02.Workflow/02.WorkflowDevUI) **O Desafio**: Agora começa a diversão de verdade! Monte um workflow completo para produção de podcast com: 1. 🔍 **Agente de Pesquisa** → Pesquisa seu tema 2. ✍️ **Agente de Roteiro** → Escreve um diálogo entre dois apresentadores (em chinês!) 3. 👤 **Executor de Revisão** → Pede para VOCÊ aprovar ou rejeitar 4. 🔄 **Loop de Reescrita** → Se rejeitado, reescreve baseado no seu feedback **Habilidades que Vai Aprender**: - 🧱 Criar agentes especializados para trabalhos diferentes - 🔗 Conectar agentes com WorkflowBuilder - 🔀 Implementar loops de aprovação (humano no meio!) - 🚦 Roteamento condicional (aprovado vs. rejeitado) - 🔧 Criar executores customizados para lógica de negócio **O Workflow**: ``` SearchAgent → ScriptAgent → ReviewExecutor ↑ ↓ (if rejected) ←───────── ``` **O Código**: - `search_agent/agent.py`: Seu especialista em pesquisa - `generate_script_agent/agent.py`: Seu roteirista (escreve em chinês!) - `workflow/workflow.py`: A mágica da orquestração acontece aqui - `main.py`: Roda tudo no DevUI **Condição de Vitória**: Dê um tema, revise o roteiro, rejeite uma vez para testar o loop, depois aprove! 🎉 ### Missão 3: Construa um App de Console 📂 [03.Application](../../../../WorkshopForAgentic/code/02.Workflow/03.Application) **O Desafio**: Pegue seu workflow do DevUI e transforme em um app de terminal elegante com saída colorida, spinners de carregamento e salvamento em arquivo. Isso é coisa pronta pra produção! **Habilidades que Vai Aprender**: - ⚡ Rodar workflows programaticamente (sem DevUI) - 📡 Arquitetura orientada a eventos com streaming - 🎨 Criar UIs de terminal bonitas (cores, spinners, barras de progresso) - 💾 Salvar roteiros finais em arquivos - 🔄 Lidar com workflows assíncronos usando asyncio do Python **O Que Faz**: 1. Pergunta o tema do podcast 2. Mostra progresso em tempo real ("Agente de Pesquisa está trabalhando...") 3. Exibe o roteiro gerado com cores 4. Pede sua aprovação 5. Salva o roteiro aprovado em `podcast.txt` **O Código**: - `podcast_app.py`: Seu app principal com manipulação de eventos - `workflow.py`: Reusa o workflow da Missão 2 - Trata eventos: `AgentRunUpdateEvent`, `RequestInfoEvent`, `WorkflowOutputEvent` - Usa cores ANSI para estilizar o terminal **Condição de Vitória**: Rode o app, crie um roteiro de podcast e veja ele salvo! Você criou uma ferramenta real. 🚀 ## O Que Você Dominou 🏆 Depois do Ato 2, você consegue: - ✅ Orquestrar múltiplos agentes de IA como um chefe - ✅ Construir workflows com lógica sequencial E condicional - ✅ Adicionar checkpoints de aprovação humana - ✅ Usar DevUI para testar e depurar workflows - ✅ Criar aplicações de console prontas para produção - ✅ Lidar com erros graciosamente em sistemas complexos - ✅ Escolher o padrão de orquestração certo para qualquer projeto ## Quando Algo Quebra 🔧 ### "Meu workflow está muito complicado!" **A Solução**: Divida em sub-workflows menores. Cada workflow deve fazer UMA coisa bem feita. Junte-os em cadeia se precisar. ### "Não consigo acompanhar o que está acontecendo!" **A Solução**: Use checkpointing para salvar o estado. Ative traço no DevUI para ver cada passo. ### "Erro de um agente derruba tudo!" **A Solução**: Adicione limites de erro. Cada agente deve cuidar das próprias falhas e ter comportamentos de fallback. ### "Está muuuito lento" **A Solução**: Algum agente pode rodar em paralelo? Workflows sequenciais são simples mas lentos. Busque oportunidades para paralelizar! ## Recursos Úteis 🔗 - [Workflow Docs](https://learn.microsoft.com/en-us/agent-framework/user-guide/workflows/overview) — Guias oficiais da Microsoft - [Orchestration Patterns](https://www.ibm.com/think/topics/ai-agent-orchestration) — A visão da IBM sobre o tema - [Agent Framework GitHub](https://github.com/microsoft/agent-framework) — Explore o código-fonte - [Exemplos de Código](https://github.com/microsoft/agent-framework/tree/main/python/samples) — Copie padrões daqui --- **Pronto para o gran finale?** Você já tem seu script. Agora vamos transformá-lo em áudio de verdade! → [Ato 3: Dê Vida ao Seu Podcast](03.Multi-SpeakerPodcastGenerationWithVibeVoice.md) 🎤 --- **Preso? Confuso? Empolgado?** Compartilhe no chat do workshop! Estamos todos aprendendo juntos. 🚀 --- **Aviso Legal**: Este documento foi traduzido utilizando o serviço de tradução automática [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos empenhemos pela precisão, por favor esteja ciente de que traduções automáticas podem conter erros ou imprecisões. O documento original em seu idioma nativo deve ser considerado a fonte autoritativa. Para informações críticas, recomenda-se a tradução profissional realizada por um ser humano. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes do uso desta tradução.