# Atto 2: Assembla il Tuo Team di Produzione Podcast 🎬 ![lab2](../../../../translated_images/it/lab2.48444b9d549e7863.webp) ## La Trama Si Infittisce Alex (il tuo assistente AI dall'Atto 1) è fantastico, ma un solo agente non può gestire uno studio podcast intero. Ti serve una *squadra*: - 🔍 **Agente Ricercatore**: Esplora internet per informazioni fresche - ✍️ **Agente Sceneggiatore**: Trasforma la ricerca in dialoghi coinvolgenti - 👤 **Tu (Il Montatore)**: Approvi gli script o li rimandi per riscritture Benvenuto in **Orchestrazione Agenti AI** — dove diventi il regista della tua crew AI. Pensa agli Avengers, ma per la produzione di podcast. ## Cos'è l'Orchestrazione Agenti? (La Versione Semplice) Immagina di gestire un ristorante. Non fai tutto da solo, giusto? Hai: - 🍳 Uno chef che cucina - 👨‍🍳 Un sous chef che prepara - 👩‍🍳 Un cameriere che consegna L'orchestrazione degli agenti è la stessa idea, ma con AI. Ogni agente ha una specialità e tu li coordini per raggiungere obiettivi più grandi. Nessun agente è sovraccaricato, e il lavoro si fa più veloce. ### L'Analogia della Band 🎸 I tuoi agenti AI sono come una band: - **Cantante principale**: L'agente principale che gestisce i compiti verso il cliente - **Batterista**: Mantiene il ritmo, gestisce il lavoro dietro le quinte - **Bassista**: Supporta tutti, recupera dati - **Tu (Manager della Band)**: Coordini tutto! Senza coordinamento? Solo rumore. Con l'orchestrazione? Musica bella. ### Perché è Importante Un agente AI che prova a fare tutto = burnout. Agenti specializzati che lavorano insieme = efficienza sbloccata! 🚀 **Parliamo seriamente**: Ricordi quando tentavi di ricercare, scrivere E montare il podcast da solo? Sì, fa schifo. Con l'orchestrazione, ogni agente fa ciò in cui è migliore. Tu prendi solo le decisioni finali. **Esempio reale**: Bot di supporto clienti che sanno quando occuparsi di fatturazione vs. problemi tecnici vs. quando chiamare un umano. Quella è orchestrazione! ## Agente vs. Workflow: Qual è la Differenza? Pensalo così: ### 🤖 Agente AI = Musicista Jazz - **Prende decisioni al volo** basate su ciò che sente - **Improvvisa** soluzioni usando i suoi strumenti - **Pensa** con un cervello LLM - **Si adatta** a qualunque cosa gli lanci ### 🎵 Workflow = Orchestra che suona Musica Classica - **Segue uno spartito** (passi predefiniti) - **Percorso esecuzione** prevedibile - **Coordina** più agenti, umani, sistemi - **Strutturato** come una ricetta **La Magia**: i workflow *orchestrano* gli agenti! Costruisci un workflow che dice agli agenti quando eseguire il loro ruolo. Il meglio di entrambi i mondi. 🎭 ## Tre Modi per Coordinare la Tua Crew AI ### 1. 🎯 Centralizzato (Tu sei il Capo) Un agente principale prende tutte le decisioni. Pensalo come te che gestisci un team — decidi chi fa cosa e quando. **Pro**: - ✅ Leadership chiara (niente confusione) - ✅ Decisioni coerenti - ✅ Facile da debuggare **Usalo per**: - Routing servizio clienti ("È fatturazione o supporto tecnico?") - Workflow approvazione contenuti ("Passa questo script?") - Produzione podcast (esattamente quello che stiamo creando!) ### 2. 🤝 Decentralizzato (Agenti si auto-organizzano) Gli agenti comunicano direttamente e risolvono le cose in gruppo. Come una chat di gruppo dove tutti si coordinano. **Pro**: - ✅ Si scala facilmente (aggiungi agenti quando vuoi) - ✅ Nessun punto di fallimento singolo - ✅ Collaborazione naturale tra agenti **Usalo per**: - Team di ricerca (ogni agente esplora fonti differenti) - Sessioni di brainstorming - Risoluzione di problemi distribuiti ### 3. 🔀 Ibrido (Il meglio di entrambi) Imposti la direzione generale, ma gli agenti hanno libertà di auto-organizzarsi sui compiti. Come un CEO che si fida del suo team. **Perfetto per**: Progetti complessi che richiedono controllo e flessibilità. ## Microsoft Agent Framework: Il Tuo Kit di Orchestrazione 🧰 È ora di costruire! Ecco cosa userai: ### I Blocchi Fondamentali #### 1. 🧱 Executor (I Tuoi Lavoratori) - **Cosa sono**: Unitá di elaborazione individuali — possono essere agenti o logica personalizzata - **Cosa fanno**: Prendono input, lavorano, producono output - **Pensa a loro come**: Stazioni in una linea di montaggio #### 2. ➡️ Edges (Le Connessioni) - **Cosa sono**: Percorsi tra executor - **Cosa fanno**: Controllano il flusso dei messaggi ("Dopo A, vai a B") - **Pensa a loro come**: Frecce in un diagramma di flusso #### 3. 🗺️ Workflow (Il Piano Maestro) - **Cosa sono**: Il grafo completo di executor + edges - **Cosa fanno**: Definire l'intero processo dall'inizio alla fine - **Pensa a loro come**: La tua mappa di produzione ### Funzionalità Interessanti che Amerai **🛡️ Type Safety**: I messaggi tra agenti sono controllati per tipo. Niente sorprese "Oops, tipo errato". **🔀 Routing Flessibile**: - Condizioni if-then ("Se approvato, pubblica; altrimenti, riscrivi") - Elaborazione parallela (più agenti lavorano contemporaneamente) - Percorsi dinamici (workflow si adatta in base ai risultati) **🔌 Integrazione Esterna**: - Connessione ad API - Aggiungi checkpoint umani (tu approvi prima della pubblicazione) - Costruisci flussi richiesta/risposta **💾 Checkpointing**: Salva i progressi! Se qualcosa si blocca, riprendi da dove sei rimasto. **🤝 Coordinamento Multi-Agente**: - Esegui agenti in sequenza (A → B → C) - Eseguili in parallelo (A + B + C insieme) - Passaggi tra agenti - Elaborazione collaborativa ## Best Practice (Consigli da Pro) 🎯 ### 1. Mantieni Modulare Ogni agente dovrebbe fare UNA cosa molto bene. Non creare un "super agente" che fa tutto — te ne pentirai durante il debug. ### 2. Pianifica gli Errori Gli agenti sbagliano. Le reti falliscono. Implementa gestione errori e piani di backup. Il tuo futuro te ne sarà grato. ### 3. Monitora Tutto Traccia cosa fanno i tuoi agenti. Usa DevUI (lo vedremo!) per vedere i workflow in azione. ### 4. Ottimizza la Dimensione dei Messaggi Non passare file giganti tra agenti. Mantieni messaggi leggeri e agili per velocità. ### 5. Scegli il Pattern Giusto Serve controllo? Vai centralizzato. Serve scalabilità? Vai decentralizzato. Non sai? Vai ibrido! ## DevUI: Il Tuo Debugger di Workflow 🔍 ### Cos’è DevUI? DevUI è come un parco giochi per testare i tuoi agenti e workflow. È un’interfaccia web dove puoi: - 👀 Vedere il workflow in azione - 💬 Chattare direttamente con gli agenti - 🔍 Fare debug quando qualcosa va storto - 📊 Vedere tracce e metriche di performance > **Importante**: DevUI è solo per sviluppo! Non usarlo in produzione. Pensalo come ambiente di test locale. ### Cosa Lo Rende Fantastico - **🖥️ UI Web Interattiva**: Clicca, digita, testa — niente linea di comando - **📁 Drag-and-Drop Pronto**: Carica file, prova con input diversi - **📂 Auto-Discovery**: Punta una cartella, trova automaticamente tutti gli agenti - **📋 Modalità No-Setup**: Registra agenti in codice, senza strutture di cartelle - **🔌 Compatibile con OpenAI**: Funziona con OpenAI SDK (compatibilità FTW!) - **👁️ Tracing Incorporato**: Vedi esattamente cosa fanno i tuoi agenti ### Come Funzionano gli Input DevUI è smart sugli input: - **Test Agenti?** Hai caselle di testo e pulsanti per caricare file - **Test Workflow?** L’interfaccia genera campi input basati su cosa il workflow si aspetta Sembra magia, ma è solo buon codice. ✨ ## Le Tue Missioni: Costruisci uno Studio Podcast 🎬 ### Missione 1: Crea un Singolo Agente con DevUI 📂 [01.AgentDevUI](../../../../WorkshopForAgentic/code/02.Workflow/01.AgentDevUI) **La Sfida**: Prima di costruire un team completo, testiamo DevUI con un agente: uno specialista nella ricerca web. **Cosa Stai Costruendo**: Un agente di ricerca che può cercare online argomenti per podcast. Lo testerai usando l’interfaccia web di DevUI su `http://localhost:8090`. **Competenze che Imparerai**: - 🚀 Lanciare agenti in DevUI - 🔍 Testare risposte agenti in tempo reale - 🛠️ Costruire strumenti personalizzati (ricerca web) - 📊 Abilitare tracing per debug - 🖥️ Usare l’interfaccia web interattiva **Il Codice**: - `agent.py`: Il tuo SearchAgent con superpoteri di ricerca web - Usa OllamaChatClient per connettersi a Qwen - Implementa funzione strumento `web_search()` - Lancia con `serve()` — apre DevUI automaticamente **Condizione di Vittoria**: Fai una domanda al tuo agente "Cosa va di moda nell'AI?" e guarda come cerca sul web! 🎉 ### Missione 2: Costruisci un Workflow Multi-Agente 📂 [02.WorkflowDevUI](../../../../WorkshopForAgentic/code/02.Workflow/02.WorkflowDevUI) **La Sfida**: Ora inizia il vero divertimento! Costruisci un workflow completo di produzione podcast con: 1. 🔍 **Agente di Ricerca** → Esplora il tuo argomento 2. ✍️ **Agente Sceneggiatore** → Scrive un dialogo tra due host (in cinese!) 3. 👤 **Executor di Revisione** → Chiede a TE di approvare o rifiutare 4. 🔄 **Ciclo di Ritorno** → Se rifiutato, riscrive basandosi sul tuo feedback **Competenze che Imparerai**: - 🧱 Creare agenti specializzati per lavori diversi - 🔗 Connettere agenti con WorkflowBuilder - 🔀 Implementare loop di approvazione (umano-in-the-loop!) - 🚦 Routing condizionale (approvato vs. rifiutato) - 🔧 Costruire executor personalizzati per logica business **Il Workflow**: ``` SearchAgent → ScriptAgent → ReviewExecutor ↑ ↓ (if rejected) ←───────── ``` **Il Codice**: - `search_agent/agent.py`: Il tuo specialista di ricerca - `generate_script_agent/agent.py`: Lo sceneggiatore (scrive in cinese!) - `workflow/workflow.py`: Qui avviene la magia dell'orchestrazione - `main.py`: Avvia tutto in DevUI **Condizione di Vittoria**: Dai un argomento, rivedi lo script, rifiutalo una volta per testare il loop, poi approva! 🎉 ### Missione 3: Crea un'app Console 📂 [03.Application](../../../../WorkshopForAgentic/code/02.Workflow/03.Application) **La Sfida**: Prendi il workflow da DevUI e trasformalo in un’app terminale elegante con output colorato, spinner di caricamento e salvataggio file. Questa è roba pronta per la produzione! **Competenze che Imparerai**: - ⚡ Eseguire workflow programmaticamente (senza DevUI) - 📡 Architettura event-driven con streaming - 🎨 Creare UI terminali belle (colori, spinner, barre di avanzamento) - 💾 Salvare script finali su file - 🔄 Gestire workflow asincroni con asyncio di Python **Cosa Fa**: 1. Ti chiede un argomento per il podcast 2. Mostra il progresso in tempo reale ("Agente Ricerca al lavoro...") 3. Mostra lo script generato con colori 4. Chiede la tua approvazione 5. Salva lo script approvato in `podcast.txt` **Il Codice**: - `podcast_app.py`: La tua app principale con gestione eventi - `workflow.py`: Riutilizza il workflow della Missione 2 - Gestisce eventi: `AgentRunUpdateEvent`, `RequestInfoEvent`, `WorkflowOutputEvent` - Usa colori ANSI per lo stile terminale **Condizione di Vittoria**: Lancia l’app, crea uno script podcast, e guardalo salvato! Hai costruito uno strumento vero. 🚀 ## Cosa Hai Padroneggiato 🏆 Dopo l’Atto 2, sai: - ✅ Orchestrare più agenti AI come un capo - ✅ Costruire workflow con logica sequenziale E condizionale - ✅ Aggiungere checkpoint di approvazione umana - ✅ Usare DevUI per testare e debuggare workflow - ✅ Creare applicazioni console pronte per produzione - ✅ Gestire errori con grazia in sistemi complessi - ✅ Scegliere il pattern di orchestrazione giusto per ogni progetto ## Quando le Cose Si Rompono 🔧 ### "Il mio workflow è troppo complicato!" **La Soluzione**: Spezzalo in sotto-workflow più piccoli. Ogni workflow dovrebbe fare UNA cosa bene. Collegali insieme se serve. ### "Non riesco a tracciare cosa succede!" **La Soluzione**: Usa il checkpointing per salvare stato. Abilita tracing in DevUI per vedere ogni passaggio. ### "L’errore di un agente manda tutto in crash!" **La Soluzione**: Aggiungi confini di errore. Ogni agente dovrebbe gestire i propri fallimenti e avere comportamenti fallback. ### "È tutto così lento" **La Soluzione**: Qualche agente può girare in parallelo? Workflow sequenziali sono facili ma lenti. Cerca opportunità di parallelizzazione! ## Risorse Utili 🔗 - [Workflow Docs](https://learn.microsoft.com/en-us/agent-framework/user-guide/workflows/overview) — Guide ufficiali Microsoft - [Orchestration Patterns](https://www.ibm.com/think/topics/ai-agent-orchestration) — La visione IBM - [Agent Framework GitHub](https://github.com/microsoft/agent-framework) — Sfoglia il codice sorgente - [Esempi di codice](https://github.com/microsoft/agent-framework/tree/main/python/samples) — Prendi spunto da questi modelli --- **Pronto per il gran finale?** Hai il tuo script. Ora trasformiamolo in audio reale! → [Atto 3: Dai vita al tuo podcast](03.Multi-SpeakerPodcastGenerationWithVibeVoice.md) 🎤 --- **Bloccato? Confuso? Eccitato?** Condividi nella chat del workshop! Stiamo imparando tutti insieme. 🚀 --- **Disclaimer**: Questo documento è stato tradotto utilizzando il servizio di traduzione automatica [Co-op Translator](https://github.com/Azure/co-op-translator). Sebbene ci impegniamo per garantire l’accuratezza, si prega di tenere presente che le traduzioni automatiche possono contenere errori o imprecisioni. Il documento originale nella sua lingua madre deve essere considerato la fonte autorevole. Per informazioni critiche si raccomanda la traduzione professionale effettuata da un traduttore umano. Non siamo responsabili per eventuali fraintendimenti o interpretazioni errate derivanti dall’uso di questa traduzione.