# Akt 2: Sestavte svůj tým pro produkci podcastu 🎬 ![lab2](../../../../translated_images/cs/lab2.48444b9d549e7863.webp) ## Děj houstne Alex (váš AI asistent z Aktu 1) je super, ale jeden agent nemůže řídit celé podcastové studio. Potřebujete *tým*: - 🔍 **Výzkumný agent**: Prohledává internet pro čerstvé informace - ✍️ **Agent scénáře**: Převádí výzkum do poutavého dialogu - 👤 **Vy (Editor)**: Schvalujete scénáře nebo je vracíte k přepracování Vítejte v **AI Agent Orchestration** — kde se stáváte režisérem svého vlastního týmu AI. Představte si Avengers, ale pro produkci podcastů. ## Co je to Agent Orchestration? (Jednoduchá verze) Představte si, že řídíte restauraci. Nezvládáte všechno sami, že? Máte: - 🍳 Kuchaře, který vaří - 👨‍🍳 Podkuchaře, který připravuje - 👩‍🍳 Číšníka, který servíruje Agent orchestration je stejný princip, ale s AI. Každý agent má svou specializaci a vy je koordinujete, aby dosáhli větších cílů. Žádný agent není přetížený a práce jde rychleji. ### Přirovnání ke kapele 🎸 Vaši AI agenti jsou jako kapela: - **Hlavní zpěvák**: Hlavní agent, který řeší úkoly směrem k zákazníkům - **Bubeník**: Udává rytmus, zpracovává úlohy na pozadí - **Baskytarista**: Podporuje všechny, získává data - **Vy (Manažer kapely)**: Koordinujete všechno! Bez koordinace? Jen hluk. S orchestrace? Krásná hudba. ### Proč je to důležité Jeden agent, který se snaží dělat všechno = vyhoření. Specializovaní agenti spolupracující = odemknutá efektivita! 🚀 **Reálná zkušenost**: Pamatujete, jak jste se snažili sami vyhledávat, psát a editovat podcast? Jo, to je na prd. S orchestrací každý agent dělá, co umí nejlépe. Vy jen přijímáte konečná rozhodnutí. **Reálný příklad**: Chatboti zákaznické podpory, kteří vědí, kdy řešit fakturaci, kdy technické problémy a kdy předat člověku. To je orchestrace! ## Agent vs. Workflow: Jaký je rozdíl? Představte si to takto: ### 🤖 AI Agent = Jazzový hudebník - **Rozhoduje za pochodu** podle toho, co slyší - **Improvizuje** řešení pomocí svých nástrojů - **Myslí** mozkem LLM - **Přizpůsobuje se** všemu, co mu hodíte ### 🎵 Workflow = Orchestr hrající klasickou hudbu - **Následuje noty** (předdefinované kroky) - **Předvídatelný** průběh - **Koordinuje** více agentů, lidí, systémů - **Strukturovaný** jako recept **Kouzlo**: Workflows *orchestrují* agenty! Vytvoříte workflow, který agentům říká, kdy mají hrát svou roli. To nejlepší z obou světů. 🎭 ## Tři způsoby, jak koordinovat svůj AI tým ### 1. 🎯 Centralizované (Vy jste šéf) Jeden hlavní agent rozhoduje o všem. Jako vedení týmu — vy určujete, kdo co a kdy dělá. **Výhody**: - ✅ Jasné vedení (žádný zmatek) - ✅ Konzistentní rozhodnutí - ✅ Snadné ladění chyb **Použijte pro**: - Směrování zákaznické podpory („Je to fakturace nebo technická podpora?“) - Workflows schvalování obsahu („Projde tento scénář?“) - Produkci podcastu (přesně to, co stavíme!) ### 2. 🤝 Decentralizované (Agenti si organizují sami) Agenti mezi sebou přímo komunikují a řeší věci jako skupina. Jako skupinový chat, kde si všichni koordinují činnosti. **Výhody**: - ✅ Snadno škálovatelné (přidání více agentů kdykoli) - ✅ Žádný jeden bod selhání - ✅ Agenti spolupracují přirozeně **Použijte pro**: - Výzkumné týmy (každý agent zkoumá jiné zdroje) - Brainstormingové sezení - Distribuované řešení problémů ### 3. 🔀 Hybridní (Nejlepší z obou světů) Vy určujete celkový směr, ale agenti mají volnost k samostatné organizaci úkolů. Jako generální ředitel, který důvěřuje svému týmu. **Ideální pro**: Komplexní projekty, které potřebují jak kontrolu, tak flexibilitu. ## Microsoft Agent Framework: Váš nástroj pro orchestraci 🧰 Čas začít stavět! Toto budete používat: ### Stavební kameny #### 1. 🧱 Executors (Vaši pracovníci) - **Co to je**: Jednotky zpracování — mohou být agenti nebo vlastní logika - **Co dělají**: Přijímají vstup, pracují, vytvářejí výstup - **Představte si je jako**: Stanice na výrobní lince #### 2. ➡️ Edges (Spojení) - **Co to je**: Cesty mezi executory - **Co dělají**: Řídí tok zpráv („Po A jdi na B“) - **Představte si je jako**: Šipky na diagramu toku #### 3. 🗺️ Workflows (Velký plán) - **Co to je**: Kompletní graf executorů + spojení - **Co dělají**: Definují celý proces od začátku do konce - **Představte si je jako**: Náčrt výrobní linky ### Skvělé funkce, které si zamilujete **🛡️ Typová bezpečnost**: Zprávy mezi agenty jsou kontrolovány na typ. Žádné „Ups, špatný datový typ“ překvapení. **🔀 Flexibilní směrování**: - Podmínky if-then („Pokud schváleno, publikuj; jinak přepiš“) - Paralelní zpracování (více agentů zároveň) - Dynamické cesty (workflow se přizpůsobuje výsledkům) **🔌 Externí integrace**: - Připojení k API - Lidské kontroly (schválení před publikací) - Vytváření request/response toků **💾 Checkpointing**: Ukládejte průběh! Pokud něco spadne, můžete pokračovat tam, kde jste skončili. **🤝 Koordinace více agentů**: - Spustit agenty za sebou (A → B → C) - Spustit je paralelně (A + B + C najednou) - Předat úkoly mezi agenty - Spolupracující zpracování ## Nejlepší praktiky (Pro tipy) 🎯 ### 1. Buďte modulární Každý agent by měl dělat JEDNU věc opravdu dobře. Nedělejte „super agenta“, který umí všechno — budete si to přát, až budete ladit chyby. ### 2. Počítejte s chybami Agenti chybují. Sítě selhávají. Zahrňte do návrhu zpracování chyb a záložní plány. Budoucí vy vám poděkuje. ### 3. Sledujte vše Sledujte, co agenti dělají. Použijte DevUI (to si ukážeme!) pro zobrazení workflow v provozu. ### 4. Optimalizujte velikost zpráv Neposílejte mezi agenty obrovské soubory. Udržujte zprávy lehké a rychlé. ### 5. Vyberte správný vzor Potřebujete kontrolu? Jděte centralizovaně. Potřebujete škálovatelnost? Jděte decentralizovaně. Nemůžete se rozhodnout? Jděte hybridně! ## DevUI: Ladící nástroj pro workflow 🔍 ### Co je DevUI? DevUI je jako dětské hřiště na testování agentů a workflow. Je to webové rozhraní, kde můžete: - 👀 Sledovat svůj workflow v akci - 💬 Chattovat přímo s agenty - 🔍 Ladit chyby, když něco nefunguje - 📊 Vidět stopy a výkonové metriky > **Důležité**: DevUI je pouze pro vývoj! Nepoužívejte ho v produkci. Považujte ho za místní testovací prostředí. ### Proč je skvělý - **🖥️ Interaktivní web UI**: Klikání, psaní, testování — žádné příkazové řádky - **📁 Drag-and-Drop připravený**: Nahrávejte soubory, testujte s různými vstupy - **📂 Automatické objevování**: Stačí nasměrovat na složku, najde všechny agenty automaticky - **📋 Režim bez nastavení**: Registrujte agenty v kódu, žádná struktura složek není potřeba - **🔌 Kompatibilní s OpenAI**: Funguje s OpenAI SDK (kompatibilita FTW!) - **👁️ Vestavěné sledování**: Vidíte přesně, co agenti dělají ### Jak fungují vstupy DevUI je chytře přizpůsobené typům vstupů: - **Testujete agenta?** Dostanete textová pole a tlačítka pro nahrání souborů - **Testujete workflow?** UI automaticky vygeneruje vstupy podle očekávání workflow Je to skoro magie, ale je to jen dobrý kód. ✨ ## Vaše mise: Postavte studio pro podcasty 🎬 ### Mise 1: Vytvořte jednoho agenta s DevUI 📂 [01.AgentDevUI](../../../../WorkshopForAgentic/code/02.Workflow/01.AgentDevUI) **Výzva**: Než postavíte celý tým, otestujte DevUI s jedním agentem: specialistou na webové vyhledávání. **Co stavíte**: Výzkumný agent, který umí vyhledávat témata podcastů na internetu. Otestujete ho pomocí webového rozhraní DevUI na `http://localhost:8090`. **Dovednosti, které se naučíte**: - 🚀 Spouštění agentů v DevUI - 🔍 Testování odpovědí agenta v reálném čase - 🛠️ Vytváření vlastního nástroje (webové vyhledávání) - 📊 Povolení sledování pro ladění - 🖥️ Použití interaktivního webového UI **Kód**: - `agent.py`: Váš SearchAgent s webovým vyhledáváním - Používá OllamaChatClient pro připojení k Qwen - Implementuje funkci `web_search()` - Spouští se pomocí `serve()` — DevUI se otevře automaticky **Podmínka vítězství**: Zeptejte se agenta „Co je aktuální v AI?“ a sledujte, jak prohledává web! 🎉 ### Mise 2: Postavte workflow s více agenty 📂 [02.WorkflowDevUI](../../../../WorkshopForAgentic/code/02.Workflow/02.WorkflowDevUI) **Výzva**: Teď začíná opravdová zábava! Postavte kompletní workflow pro produkci podcastu s: 1. 🔍 **Search Agent** → Prohledává téma 2. ✍️ **Script Agent** → Píše dialog mezi dvěma moderátory (v čínštině!) 3. 👤 **Review Executor** → Ptá se VÁS na schválení nebo zamítnutí 4. 🔄 **Směrování zpět** → Pokud zamítnuto, přepíše podle vaší zpětné vazby **Dovednosti, které se naučíte**: - 🧱 Tvorba specializovaných agentů na různé úkoly - 🔗 Propojení agentů s WorkflowBuilder - 🔀 Implementace cyklů schvalování (člověk v procesu!) - 🚦 Podmíněné směrování (schváleno vs. zamítnuto) - 🔧 Vytváření vlastních executorů pro podnikové procesy **Workflow**: ``` SearchAgent → ScriptAgent → ReviewExecutor ↑ ↓ (if rejected) ←───────── ``` **Kód**: - `search_agent/agent.py`: Váš výzkumný specialista - `generate_script_agent/agent.py`: Váš scenárista (píše v čínštině!) - `workflow/workflow.py`: Zde probíhá magie orchestrací - `main.py`: Spouští vše v DevUI **Podmínka vítězství**: Zadejte téma, zkontrolujte scénář, jedenkrát ho zamítněte pro otestování cyklu, pak schvalte! 🎉 ### Mise 3: Postavte konzolovou aplikaci 📂 [03.Application](../../../../WorkshopForAgentic/code/02.Workflow/03.Application) **Výzva**: Vezměte workflow z DevUI a přeměňte jej na elegantní terminálovou aplikaci s barevným výstupem, ukazatelem načítání a ukládáním souborů. To je produkčně připravené řešení! **Dovednosti, které se naučíte**: - ⚡ Spouštění workflow programově (bez DevUI) - 📡 Event-driven architektura se streamováním - 🎨 Tvorba krásných terminálových UI (barvy, indikátory, progress bary) - 💾 Ukládání finálních scénářů do souborů - 🔄 Zpracování asynchronního workflow v Pythonu (`asyncio`) **Co aplikace dělá**: 1. Zeptá se na téma podcastu 2. Ukáže průběh v reálném čase („Search Agent pracuje…“) 3. Zobrazí vytvořený scénář s barvami 4. Zeptá se na schválení 5. Uloží schválený scénář do `podcast.txt` **Kód**: - `podcast_app.py`: Hlavní aplikace s event handlingem - `workflow.py`: Znovu použité workflow z Mise 2 - Zpracovává události: `AgentRunUpdateEvent`, `RequestInfoEvent`, `WorkflowOutputEvent` - Používá ANSI barvy pro stylování terminálu **Podmínka vítězství**: Spusťte aplikaci, vytvořte scénář podcastu a uvidíte ho uložený! Vybudovali jste reálný nástroj. 🚀 ## Co jste zvládli 🏆 Po Aktu 2 umíte: - ✅ Orchestrace více AI agentů jako šéf - ✅ Vytvářet workflow se sekvenční i podmíněnou logikou - ✅ Přidávat kontrolní body schválení člověkem - ✅ Používat DevUI pro testování a ladění workflow - ✅ Tvořit produkčně hotové konzolové aplikace - ✅ Elegantně řešit chyby v komplexních systémech - ✅ Vybrat správný orchestrace vzor pro jakýkoliv projekt ## Když něco selže 🔧 ### „Můj workflow je příliš složitý!“ **Řešení**: Rozdělte ho na menší pod-workflow. Každý workflow by měl dělat JEDNU věc dobře. Spojte je dohromady, pokud je to potřeba. ### „Nemohu sledovat, co se děje!“ **Řešení**: Použijte ukládání stavu (checkpointing). Zapněte sledování v DevUI, abyste viděli každý krok. ### „Chyba jednoho agenta vše zhroutí!“ **Řešení**: Přidejte hranice pro zachycení chyb. Každý agent by měl zvládat své selhání a mít záložní chování. ### „Je to tak pomalé“ **Řešení**: Mohou agenti běžet paralelně? Sekvenční workflow jsou jednoduché, ale pomalé. Hledejte příležitosti pro paralelizaci! ## Užitečné zdroje 🔗 - [Workflow Docs](https://learn.microsoft.com/en-us/agent-framework/user-guide/workflows/overview) — Oficiální průvodci Microsoftu - [Orchestration Patterns](https://www.ibm.com/think/topics/ai-agent-orchestration) — Pohled IBM - [Agent Framework GitHub](https://github.com/microsoft/agent-framework) — Prohlédněte si zdrojový kód - [Příklady kódu](https://github.com/microsoft/agent-framework/tree/main/python/samples) — Ukradněte odsud vzory --- **Připraven na finále?** Máš svůj skript. Teď ho proměňme v opravdový zvuk! → [Akt 3: Oživte svůj podcast](03.Multi-SpeakerPodcastGenerationWithVibeVoice.md) 🎤 --- **Uvízl jsi? Zmatený? Nadšený?** Sdílej to v chatu workshopu! Všichni se učíme společně. 🚀 --- **Upozornění**: Tento dokument byl přeložen pomocí AI překladatelské služby [Co-op Translator](https://github.com/Azure/co-op-translator). Ačkoli usilujeme o přesnost, mějte prosím na paměti, že automatizované překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho rodném jazyce by měl být považován za autoritativní zdroj. Pro důležité informace je doporučena profesionální lidská překladatelská služba. Nejsme odpovědni za jakékoli nedorozumění nebo nesprávné výklady vyplývající z použití tohoto překladu.