# Akt 2: Zbuduj swój zespół produkcyjny podcastu 🎬 ![lab2](../../../../translated_images/pl/lab2.48444b9d549e7863.webp) ## Fabuła się zagęszcza Alex (twój asystent AI z Aktu 1) jest świetny, ale jeden agent nie poprowadzi całego studia podcastowego. Potrzebujesz *zespołu*: - 🔍 **Agent badawczy**: Przeszukuje internet w poszukiwaniu świeżych informacji - ✍️ **Agent scenariuszowy**: Przekształca badania w angażujący dialog - 👤 **Ty (Redaktor)**: Zatwierdzasz scenariusze lub odsyłasz je do poprawy Witaj w **AI Agent Orchestration** — gdzie stajesz się reżyserem własnej załogi AI. Pomyśl o Avengersach, ale do produkcji podcastów. ## Co to jest Orkiestracja Agentów? (Prosta wersja) Wyobraź sobie, że prowadzisz restaurację. Nie robisz wszystkiego sam, prawda? Masz: - 🍳 Szefa kuchni, który gotuje - 👨‍🍳 Sous-chefa, który przygotowuje składniki - 👩‍🍳 Kelnera, który dostarcza jedzenie Orkiestracja agentów to ta sama idea, ale z AI. Każdy agent ma swoją specjalizację, a ty koordynujesz ich, by osiągać większe cele. Żaden agent nie jest przeciążony, a praca idzie szybciej. ### Analogio z zespołem muzycznym 🎸 Twoi agenci AI są jak zespół muzyczny: - **Wokalista prowadzący**: Główny agent obsługujący zadania skierowane do klienta - **Perkusista**: Utrzymuje rytm, zajmuje się przetwarzaniem w tle - **Basista**: Wspiera wszystkich, pobiera dane - **Ty (Menadżer zespołu)**: Koordynujesz wszystko! Bez koordynacji? Tylko hałas. Z orkiestracją? Piękna muzyka. ### Dlaczego to ważne Jeden agent AI próbujący zrobić wszystko = wypalenie. Specjalizowani agenci pracujący razem = odblokowana wydajność! 🚀 **Prawda jest taka**: Pamiętasz, jak sam próbowałeś badać, pisać i edytować podcast? To potrafi zniechęcić. Z orkiestracją każdy agent robi to, co potrafi najlepiej. Ty podejmujesz tylko ostateczne decyzje. **Przykład z życia**: Boty obsługi klienta, które wiedzą, kiedy zająć się fakturami, kiedy problemami technicznymi, a kiedy skierować do człowieka. To jest orkiestracja! ## Agent a Workflow: Jaka jest różnica? Pomyśl tak: ### 🤖 Agent AI = Muzyk jazzowy - **Podejmuje decyzje na bieżąco** na podstawie tego, co słyszy - **Improwizuje** rozwiązania przy użyciu swoich narzędzi - **Myśli** z mózgiem LLM - **Dostosowuje się** do wszystkiego, co mu podasz ### 🎵 Workflow = Orkiestra grająca muzykę klasyczną - **Podąża za nutami** (zdefiniowane etapy) - **Przewidywalna** ścieżka wykonania - **Koordynuje** wielu agentów, ludzi, systemy - **Strukturalne** jak przepis **Magia**: Workflow *orkiestruje* agentów! Budujesz workflow, który mówi agentom, kiedy mają zagrać swoją rolę. Najlepsze z obu światów. 🎭 ## Trzy sposoby na koordynację twojej załogi AI ### 1. 🎯 Centralizowana (Ty jesteś szefem) Jeden główny agent podejmuje wszystkie decyzje. Pomyśl o tym jak o zarządzaniu zespołem — ty decydujesz, kto co i kiedy robi. **Zalety**: - ✅ Jasne przywództwo (brak chaosu) - ✅ Spójne decyzje - ✅ Łatwe debugowanie **Używaj do**: - Przekierowywania obsługi klienta („Czy to kwestia rachunków czy wsparcia technicznego?”) - Workflow zatwierdzania treści („Czy ten scenariusz przechodzi?”) - Produkcji podcastów (dokładnie to, co budujemy!) ### 2. 🤝 Zdecentralizowana (Agenci organizują się sami) Agenci rozmawiają bezpośrednio ze sobą i wspólnie ustalają, co i jak robić. Jak czat grupowy, gdzie każdy się koordynuje. **Zalety**: - ✅ Łatwo się skalują (dodajesz agentów w każdej chwili) - ✅ Brak pojedynczego punktu awarii - ✅ Agenci współpracują naturalnie **Używaj do**: - Zespołów badawczych (każdy agent eksploruje inne źródła) - Burzy mózgów - Rozwiązywania problemów rozproszonych ### 3. 🔀 Hybrydowa (Najlepsze z obu światów) Ustawiasz ogólny kierunek, ale agenci mają swobodę organizowania się na zadania. Jak CEO, który ufa swojemu zespołowi. **Idealna do**: Złożonych projektów potrzebujących zarówno kontroli, jak i elastyczności. ## Microsoft Agent Framework: Twój zestaw narzędzi orkiestracji 🧰 Czas zbudować! Oto, czego użyjesz: ### Podstawowe elementy #### 1. 🧱 Wykonawcy (Twoi pracownicy) - **Czym są**: Pojedyncze jednostki przetwarzające — mogą być agentami lub własną logiką - **Co robią**: Przyjmują dane, wykonują pracę, dają wynik - **Pomyśl o nich jak o**: Stacjach na linii produkcyjnej #### 2. ➡️ Krawędzie (Połączenia) - **Czym są**: Ścieżki między wykonawcami - **Co robią**: Kontrolują przepływ wiadomości („Po A idź do B”) - **Pomyśl o nich jak o**: Strzałkach na diagramie przepływu #### 3. 🗺️ Workflows (Plan główny) - **Czym są**: Kompletny diagram wykonawców + krawędzi - **Co robią**: Definiują cały proces od startu do końca - **Pomyśl o nich jak o**: Planie produkcyjnym ### Fajne funkcje, które pokochasz **🛡️ Bezpieczeństwo typów**: Wiadomości między agentami są typowane. Żadnych nieprzyjemnych niespodzianek „Ups, zły typ danych”. **🔀 Elastyczne kierowanie**: - Warunki if-then („Jeśli zatwierdzone, publikuj; inaczej, przepisz”) - Przetwarzanie równoległe (wielu agentów pracuje jednocześnie) - Dynamiczne ścieżki (workflow dostosowuje się do wyników) **🔌 Integracja z zewnętrznymi systemami**: - Podłączanie do API - Dodawanie punktów zatwierdzania przez człowieka (ty zatwierdzasz przed publikacją) - Budowanie przepływów zapytań/odpowiedzi **💾 Checkpointing**: Zapisuj postępy! Jeśli coś się zepsuje, możesz wznowić od punktu ostatniego zapisu. **🤝 Współpraca wielu agentów**: - Uruchamiaj agentów kolejno (A → B → C) - Uruchamiaj ich równolegle (A + B + C na raz) - Przekazuj zadania między agentami - Przetwarzanie zespołowe ## Najlepsze praktyki (Pro wskazówki) 🎯 ### 1. Zachowaj modularność Każdy agent powinien robić JEDNĄ rzecz naprawdę dobrze. Nie twórz „superagera”, który robi wszystko — pożałujesz przy debugowaniu. ### 2. Planuj na wypadek awarii Agenci mogą się pomylić. Sieci padają. Zbuduj obsługę błędów i plany awaryjne. Twój przyszły Ty ci podziękuje. ### 3. Monitoruj wszystko Śledź, co robią twoi agenci. Użyj DevUI (omówimy to!) żeby zobaczyć workflow w akcji. ### 4. Optymalizuj rozmiar wiadomości Nie przesyłaj gigantycznych plików między agentami. Trzymaj wiadomości lekkie i szybkie. ### 5. Wybierz właściwy wzorzec Potrzebujesz kontroli? Idź centralizowany. Potrzebujesz skali? Idź zdecentralizowany. Nie możesz się zdecydować? Hybrydowy! ## DevUI: Twój debugger workflow 🔍 ### Co to jest DevUI? DevUI to taki plac zabaw do testowania agentów i workflowów. To webowy interfejs, w którym możesz: - 👀 Oglądać workflow w akcji - 💬 Rozmawiać bezpośrednio z agentami - 🔍 Debugować, gdy coś pójdzie nie tak - 📊 Widzieć ślady i metryki wydajności > **Ważne**: DevUI jest tylko do rozwoju! Nie używaj go w produkcji. Traktuj to jak lokalne środowisko testowe. ### Co czyni go świetnym - **🖥️ Interaktywny interfejs webowy**: Klikasz, piszesz, testujesz — bez konsoli - **📁 Przeciągnij i upuść**: Wgrywaj pliki, testuj z różnymi danymi - **📂 Automatyczne wykrywanie**: Wskaż folder, sam znajdzie twoich agentów - **📋 Tryb bez konfiguracji**: Rejestrujesz agentów w kodzie, bez struktury folderów - **🔌 Kompatybilność z OpenAI**: Działa z SDK OpenAI (kompatybilność FTW!) - **👁️ Wbudowane śledzenie**: Zobacz dokładnie, co robią twoi agenci ### Jak działają dane wejściowe DevUI jest mądre w kwestii wejść: - **Testujesz agentów?** Masz pola tekstowe i przyciski do wgrywania plików - **Testujesz workflowy?** UI samo generuje pola wejściowe w zależności od tego, czego oczekuje workflow To jak magia, ale to po prostu dobry kod. ✨ ## Twoje misje: Zbuduj studio podcastowe 🎬 ### Misja 1: Stwórz pojedynczego agenta w DevUI 📂 [01.AgentDevUI](../../../../WorkshopForAgentic/code/02.Workflow/01.AgentDevUI) **Wyzwanie**: Zanim zbudujesz cały zespół, przetestuj DevUI jednym agentem: specjalistą od wyszukiwania w sieci. **Co zbudujesz**: Agenta badawczego, który potrafi wyszukiwać tematy podcastów w internecie. Przetestujesz go przez interfejs webowy DevUI na `http://localhost:8090`. **Umiejętności, które zdobędziesz**: - 🚀 Uruchamianie agentów w DevUI - 🔍 Testowanie odpowiedzi agenta w czasie rzeczywistym - 🛠️ Budowanie własnych narzędzi (wyszukiwanie w sieci) - 📊 Włączanie śledzenia, by debugować problemy - 🖥️ Korzystanie z interaktywnego interfejsu webowego **Kod**: - `agent.py`: Twój SearchAgent z supermocami wyszukiwania w sieci - Używa OllamaChatClient do łączenia z Qwen - Implementuje funkcję narzędziową `web_search()` - Uruchamia się przez `serve()` — automatycznie otwiera DevUI **Warunek zwycięstwa**: Zapytaj agenta „Co teraz jest modne w AI?” i obserwuj, jak przeszukuje internet! 🎉 ### Misja 2: Zbuduj workflow z wieloma agentami 📂 [02.WorkflowDevUI](../../../../WorkshopForAgentic/code/02.Workflow/02.WorkflowDevUI) **Wyzwanie**: Teraz zaczyna się prawdziwa zabawa! Zbuduj kompletny workflow produkcji podcastu z: 1. 🔍 **Agentem wyszukiwania** → Bada twój temat 2. ✍️ **Agentem scenariuszowym** → Pisze dialog między dwoma prowadzącymi (po chińsku!) 3. 👤 **Executor przeglądu** → Prosi CIĘ o zatwierdzenie lub odrzucenie 4. 🔄 **Pętla powrotna** → Jeśli odrzucony, przepisuje na podstawie twoich uwag **Umiejętności, które zdobędziesz**: - 🧱 Tworzenie wyspecjalizowanych agentów do różnych zadań - 🔗 Łączenie agentów za pomocą WorkflowBuilder - 🔀 Implementacja pętli zatwierdzania (człowiek w pętli!) - 🚦 Warunkowe kierowanie (zatwierdzone vs odrzucone) - 🔧 Budowanie własnych executorów do logiki biznesowej **Workflow**: ``` SearchAgent → ScriptAgent → ReviewExecutor ↑ ↓ (if rejected) ←───────── ``` **Kod**: - `search_agent/agent.py`: Twój specjalista od badań - `generate_script_agent/agent.py`: Twój scenarzysta (pisze po chińsku!) - `workflow/workflow.py`: Tutaj dzieje się magia orkiestracji - `main.py`: Uruchamia wszystko w DevUI **Warunek zwycięstwa**: Podaj temat, przejrzyj scenariusz, odrzuć go raz, by przetestować pętlę, a potem zatwierdź! 🎉 ### Misja 3: Zbuduj aplikację konsolową 📂 [03.Application](../../../../WorkshopForAgentic/code/02.Workflow/03.Application) **Wyzwanie**: Weź swój workflow z DevUI i zamień go w szykowną aplikację terminalową z kolorowym outputem, spinnerami ładowania i zapisem plików. To już gotowe do produkcji! **Umiejętności, które zdobędziesz**: - ⚡ Uruchamianie workflowów programowo (bez DevUI) - 📡 Architektura zdarzeniowa i streaming - 🎨 Tworzenie pięknych UI terminalowych (kolory, spinnery, paski postępu) - 💾 Zapisywanie końcowych scenariuszy do plików - 🔄 Obsługa async workflowów z asyncio w Pythonie **Co robi**: 1. Pyta o temat podcastu 2. Pokazuje postęp w czasie rzeczywistym („Agent wyszukiwania pracuje...”) 3. Wyświetla wygenerowany scenariusz kolorami 4. Pyta o zatwierdzenie 5. Zapisuje zatwierdzony scenariusz do `podcast.txt` **Kod**: - `podcast_app.py`: Główna aplikacja z obsługą zdarzeń - `workflow.py`: Korzysta z workflow z Misji 2 - Obsługuje zdarzenia: `AgentRunUpdateEvent`, `RequestInfoEvent`, `WorkflowOutputEvent` - Używa kolorów ANSI do stylizacji terminala **Warunek zwycięstwa**: Uruchom aplikację, stwórz scenariusz podcastu i zobacz go zapisany! Zbudowałeś prawdziwe narzędzie. 🚀 ## Czego się nauczyłeś 🏆 Po Akcie 2 potrafisz: - ✅ Orkiestruj wiele agentów AI jak szef - ✅ Buduj workflowy ze logiką sekwencyjną I warunkową - ✅ Dodawaj punkty zatwierdzania przez człowieka - ✅ Używaj DevUI do testowania i debugowania workflowów - ✅ Twórz aplikacje konsolowe gotowe do produkcji - ✅ Obsługuj błędy w złożonych systemach - ✅ Wybierać właściwy wzorzec orkiestracji dla dowolnego projektu ## Kiedy coś się psuje 🔧 ### „Mój workflow jest za skomplikowany!” **Rozwiązanie**: Podziel go na mniejsze sub-workflowy. Każdy workflow powinien robić JEDNĄ rzecz dobrze. Jeśli trzeba, łącz je ze sobą. ### „Nie mogę śledzić, co się dzieje!” **Rozwiązanie**: Użyj checkpointingu workflow, by zapisywać stan. Włącz śledzenie w DevUI, by zobaczyć każdy krok. ### „Błąd jednego agenta psuje wszystko!” **Rozwiązanie**: Dodaj granice błędów. Każdy agent powinien obsługiwać swoje własne błędy i mieć zachowanie awaryjne. ### „To jest taaakie wolne” **Rozwiązanie**: Czy może któryś agent działać równolegle? Workflowy sekwencyjne są proste, ale wolne. Szukaj okazji do paralelizacji! ## Przydatne zasoby 🔗 - [Workflow Docs](https://learn.microsoft.com/en-us/agent-framework/user-guide/workflows/overview) — Oficjalne przewodniki Microsoft - [Orchestration Patterns](https://www.ibm.com/think/topics/ai-agent-orchestration) — Podejście IBM - [Agent Framework GitHub](https://github.com/microsoft/agent-framework) — Przeglądaj kod źródłowy - [Przykłady kodu](https://github.com/microsoft/agent-framework/tree/main/python/samples) — Podkradnij stąd wzorce --- **Gotowy na finał?** Masz swój skrypt. Teraz zamień go na prawdziwe audio! → [Akt 3: Ożyw swój podcast](03.Multi-SpeakerPodcastGenerationWithVibeVoice.md) 🎤 --- **Utknąłeś? Zdezorientowany? Podekscytowany?** Podziel się na czacie warsztatowym! Uczymy się wszyscy razem. 🚀 --- **Zastrzeżenie**: Niniejszy dokument został przetłumaczony za pomocą usługi tłumaczeń AI [Co-op Translator](https://github.com/Azure/co-op-translator). Chociaż dokładamy wszelkich starań, aby tłumaczenie było precyzyjne, prosimy mieć na uwadze, że automatyczne tłumaczenia mogą zawierać błędy lub niedokładności. Oryginalny dokument w języku źródłowym powinien być uważany za dokument nadrzędny. W przypadku istotnych informacji zalecane jest skorzystanie z profesjonalnego tłumaczenia wykonanego przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z korzystania z tego tłumaczenia.