# Акт 2: Съберете екипа за производство на подкаст 🎬 ![lab2](../../../../translated_images/bg/lab2.48444b9d549e7863.webp) ## Сюжетът се заплита Алекс (вашият AI асистент от Акт 1) е страхотен, но един агент не може да управлява цяло подкаст студио. Ви трябва *екип*: - 🔍 **Агент за проучване**: Търси в интернет свежа информация - ✍️ **Агент за сценарий**: Превръща проучването в завладяващ диалог - 👤 **Вие (Редакторът)**: Одобрявате сценарии или ги връщате за преработка Добре дошли в **Оркестрация на AI агенти** — където вие ставате режисьор на собствен екип от AI. Представете си Отмъстителите, но за производство на подкаст. ## Какво е Оркестрация на агенти? (Проста версия) Представете си, че управлявате ресторант. Не правите всичко сами, нали? Имаше: - 🍳 готвач, който готви - 👨‍🍳 помощник-готвач, който подготвя - 👩‍🍳 сервитьор, който сервира Оркестрацията на агенти е същата идея, но с AI. Всеки агент има специалност, а вие ги координирате, за да постигнете по-големи цели. Нито един агент не е претоварен и работата се върши по-бързо. ### Аналогия с банда 🎸 Вашите AI агенти са като банда: - **Водещ певец**: Основният агент, който се занимава с клиентските задачи - **Барабанист**: Поддържа ритъма, обработва неща на заден план - **Басист**: Поддържа всички, извлича данни - **Вие (Мениджър на бандата)**: Координирате всичко! Без координация? Просто шум. С оркестрация? Прекрасна музика. ### Защо е важно Един AI агент, който се опитва да прави всичко = прегаряне. Специализирани агенти, които работят заедно = максимална ефективност! 🚀 **Честно**: Спомняте ли си как опитвахте да проучите, напишете И редактирате подкаста сами? Да, гадно е. С оркестрация всеки агент се занимава с това, в което е най-добър. Вие само правите крайните решения. **Пример от реалния свят**: Ботове за обслужване на клиенти, които знаят кога да обработват сметки, кога технически проблеми и кога да викат човек. Това е оркестрация! ## Агент срещу Работен процес: Каква е разликата? Мислете така: ### 🤖 AI агент = Джаз музикант - **Взема решения на момента** според това, което чува - **Импровизира** решения, използвайки инструментите си - **Мисли** с мозък базиран на LLM - **Адаптира се** към всичко, което му зададете ### 🎵 Работен процес = Оркестър, свирещ класическа музика - **Следва партитура** (предварително определени стъпки) - **Предвидимо** изпълнение - **Координира** множество агенти, хора и системи - **Структуриран** като рецепта **Магията**: Работните процеси *оркестират* агентите! Създавате процес, който казва на агентите кога да изиграят своята роля. Най-доброто от двата свята. 🎭 ## Три начина да координирате екипа си от AI ### 1. 🎯 Централизирано (Вие сте шефът) Един главен агент командва, взема всички решения. Представете си, че управлявате екип — вие решавате кой какво и кога прави. **Предимства**: - ✅ Ясно лидерство (без объркване) - ✅ Последователни решения - ✅ Лесно за отстраняване на проблеми **Използвайте за**: - Рутинг на обслужване на клиенти („Това счетоводна е задача или техническа?“) - Работни процеси за одобрение на съдържание („Този сценарий минава ли?“) - Производство на подкаст (точно това, което изграждаме!) ### 2. 🤝 Децентрализирано (Агентите се самоорганизират) Агентите комуникират помежду си директно и взимат решенията в група. Като групов чат, в който всички координират. **Предимства**: - ✅ Лесно се мащабира (добавяте агенти по всяко време) - ✅ Без единна точка на отказ - ✅ Агентите си взаимодействат естествено **Използвайте за**: - Екипи за проучване (всеки агент изследва различни източници) - Мозъчни штурмове - Разпределено решаване на проблеми ### 3. 🔀 Хибридно (Най-доброто от двата свята) Вие задавате общата посока, но агентите имат свобода да се самоорганизират по задачи. Като CEO, който вярва на екипа си. **Перфектно за**: Комплексни проекти, които изискват контрол и гъвкавост. ## Microsoft Agent Framework: Вашият инструментариум за оркестрация 🧰 Време е за изграждане! Ето какво ще използвате: ### Сградните блокове #### 1. 🧱 Изпълнители (Вашите работници) - **Какво са**: Индивидуални обработващи единици — може да са агенти или специална логика - **Какво правят**: Приемат вход, вършат работа, произвеждат изход - **Представете си ги като**: станции на производствена линия #### 2. ➡️ Ръбове (Връзките) - **Какво са**: Пътища между изпълнителите - **Какво правят**: Контролират потока от съобщения („След A отиваш в B“) - **Представете си ги като**: стрелки на потокова диаграма #### 3. 🗺️ Работни процеси (Главният план) - **Какво са**: Цялостна графика на изпълнители + ръбове - **Какво правят**: Дефинират целия процес от начало до край - **Представете си ги като**: план на производствената линия ### Страхотни функции, които ще харесате **🛡️ Типова безопасност**: Съобщенията между агентите се проверяват за типове. Никакви „Опа, грешен тип данни“ изненади. **🔀 Гъвкав рутинг**: - Условни конструкции ("Ако е одобрено, публикувай; иначе - пренапиши") - Паралелна обработка (няколко агенти работят едновременно) - Динамични пътища (работният процес се адаптира според резултатите) **🔌 Външна интеграция**: - Свързване с API-та - Проверки с човешко участие (вие одобрявате преди публикуване) - Изграждане на заявки/отговори **💾 Съхранение на състояние**: Запазване на прогреса! Ако нещо прекъсне, се продължава от там. **🤝 Мултиагентна координация**: - Стартиране на агенти поред (A → B → C) - Стартиране паралелно (A + B + C едновременно) - Полагане на контрол между агенти - Съвместна обработка ## Най-добри практики (Профи съвети) 🎯 ### 1. Дръжте го модулно Всеки агент трябва да върши ЕДНО нещо много добре. Не правете „супер агент“, който прави всичко — ще съжалявате при отстраняване на грешки. ### 2. Планирайте за грешки Агентите грешат. Мрежите падат. Вградете обработка на грешки и резервни планове. Вашето бъдещо Аз ще ви благодари. ### 3. Наблюдавайте всичко Следете какво правят агентите. Използвайте DevUI (ще го разгледаме!) за визуализация на работните процеси в действие. ### 4. Оптимизирайте размера на съобщенията Не пращайте огромни файлове между агенти. Дръжте съобщенията леки и бързи. ### 5. Изберете правилния модел Искате контрол? Изберете централизиран. Трябва ви мащаб? Децентрализирайте. Не знаете? Хибрид е безопасен избор! ## DevUI: Вашият отладчик за работни процеси 🔍 ### Какво е DevUI? DevUI е като площадка за тестове на агентите и работните процеси. Това е уеб интерфейс, където можете да: - 👀 Наблюдавате работния процес на живо - 💬 Чатите директно с агентите - 🔍 Отстранявате грешки при проблеми - 📊 Виждате трасетата и метриките за производителност > **Важно**: DevUI е само за разработка! Не го използвайте на продукция. Мислете за него като вашата локална тестова среда. ### Какво го прави страхотен - **🖥️ Интерактивен уеб UI**: Клик, пишете, тествайте — без команден ред - **📁 Готов за плъзгане и пускане**: Качвайте файлове, тествайте с различни входове - **📂 Автоматично откриване**: Посочете папка, той намира всички агенти автоматично - **📋 Режим без настройка**: Регистрирайте агенти в кода, без нужда от структура на папки - **🔌 Съвместим с OpenAI**: Работи с OpenAI SDK (за съвместимост!) - **👁️ Вградена трасировка**: Виждате точно какво правят агентите ### Как работи входът DevUI е умен с входните данни: - **Тествате агенти?** Получавате текстови полета и бутони за качване на файлове - **Тествате работни процеси?** UI генерира автоматично полета за вход според очакванията на процеса Като магия, но е просто добър код. ✨ ## Вашите мисии: Създайте подкаст студио 🎬 ### Мисия 1: Създайте единичен агент с DevUI 📂 [01.AgentDevUI](../../../../WorkshopForAgentic/code/02.Workflow/01.AgentDevUI) **Предизвикателството**: Преди да направим цял екип, нека тестваме DevUI с един агент: специалист по уеб търсене. **Какво изграждате**: Агент за проучване, който търси в интернет теми за подкаст. Ще го тествате чрез уеб интерфейса на DevUI на `http://localhost:8090`. **Умения, които ще научите**: - 🚀 Стартиране на агенти в DevUI - 🔍 Тест на отговори на агентите в реално време - 🛠️ Изграждане на специални инструменти (уеб търсене) - 📊 Включване на трасировка за отстраняване на проблеми - 🖥️ Използване на интерактивния уеб UI **Кодът**: - `agent.py`: Вашият SearchAgent със суперсилата уеб търсене - Използва OllamaChatClient за връзка с Qwen - Имплементира функцията `web_search()` - Стартира с `serve()` — автоматично отваря DevUI **Условие за победа**: Попитайте агента си "Какви са тенденциите в AI?" и го гледайте как търси в мрежата! 🎉 ### Мисия 2: Изградете многoагентен работен процес 📂 [02.WorkflowDevUI](../../../../WorkshopForAgentic/code/02.Workflow/02.WorkflowDevUI) **Предизвикателството**: Сега започва истинското забавление! Изградете пълен работен процес за производство на подкаст с: 1. 🔍 **Агент за търсене** → Проучва вашата тема 2. ✍️ **Агент за сценарий** → Пише диалог между двама водещи (на китайски!) 3. 👤 **Изпълнител за преглед** → Иска от ВАС одобрение или отказ 4. 🔄 **Цикличен процес** → Ако е отказан, пренаписва според вашите бележки **Умения, които ще научите**: - 🧱 Създаване на специализирани агенти за различни задачи - 🔗 Свързване на агенти с WorkflowBuilder - 🔀 Имплементиране на цикли за одобрение (човек в цикъла!) - 🚦 Условен рутинг (одобрено срещу отказано) - 🔧 Създаване на специални изпълнители за бизнес логика **Работният процес**: ``` SearchAgent → ScriptAgent → ReviewExecutor ↑ ↓ (if rejected) ←───────── ``` **Кодът**: - `search_agent/agent.py`: Вашият специалист по изследване - `generate_script_agent/agent.py`: Вашият сценарист (писане на китайски!) - `workflow/workflow.py`: Тук се случва оркестрацията - `main.py`: Стартира всичко в DevUI **Условие за победа**: Дайте тема, прегледайте сценария, отхвърлете веднъж за тестване на цикъла, след това одобрете! 🎉 ### Мисия 3: Изградете конзолно приложение 📂 [03.Application](../../../../WorkshopForAgentic/code/02.Workflow/03.Application) **Предизвикателството**: Вземете работния процес от DevUI и го превърнете в хубаво терминално приложение с оцветен изход, анимации и запис на файл. Това вече е продукционен инструмент! **Умения, които ще научите**: - ⚡ Стартиране на работни процеси програмно (без DevUI) - 📡 Архитектура, базирана на събития с поточно подаване - 🎨 Създаване на красиви терминални интерфейси (цветове, спинери, ленти на прогрес) - 💾 Запаметяване на крайни сценарии във файлове - 🔄 Обработка на асинхронни работни процеси с asyncio на Python **Какво прави**: 1. Пита ви тема за подкаст 2. Показва напредъка в реално време („Агент за търсене работи...“) 3. Показва генерирания сценарий с цветове 4. Иска ваше одобрение 5. Запазва одобрения сценарий в `podcast.txt` **Кодът**: - `podcast_app.py`: Основното ви приложение с обработка на събития - `workflow.py`: Използва работния процес от Мисия 2 - Обработва събития: `AgentRunUpdateEvent`, `RequestInfoEvent`, `WorkflowOutputEvent` - Използва ANSI цветове за терминален стил **Условие за победа**: Стартирайте приложението, създайте сценарий за подкаст и го запазете! Създадохте истински инструмент. 🚀 ## Какво сте усвоили 🏆 След Акт 2 можете: - ✅ Да оркестирате множество AI агенти като шеф - ✅ Да създавате работни процеси с последователна И УСЛОВНА логика - ✅ Да добавяте контрольни точки с човешко одобрение - ✅ Да използвате DevUI за тестове и отстраняване на грешки - ✅ Да създавате продукционни конзолни приложения - ✅ Да се справяте с грешки в сложни системи - ✅ Да избирате правилния модел за оркестрация за всеки проект ## Когато нещата се развалят 🔧 ### „Моят работен процес е твърде сложен!“ **Решението**: Разбийте го на по-малки подпроцеси. Всеки работен процес трябва да върши ЕДНО нещо добре. Свържете ги на вериги, ако е нужно. ### „Не мога да проследя какво се случва!“ **Решението**: Използвайте съхранение на състояния в процеса. Включете трасировка в DevUI, за да виждате всяка стъпка. ### „Грешка на агент спира всичко!“ **Решението**: Добавете граници за грешки. Всеки агент трябва да обработва собствените си провали и да има резервен план. ### „Толкова е бавно“ **Решението**: Могат ли някои агенти да работят паралелно? Последователните процеси са лесни, но бавни. Търсете възможности за паралелизация! ## Полезни ресурси 🔗 - [Документация за работни процеси](https://learn.microsoft.com/en-us/agent-framework/user-guide/workflows/overview) — Официални ръководства на Microsoft - [Патерни за оркестрация](https://www.ibm.com/think/topics/ai-agent-orchestration) — Визията на IBM по темата - [Agent Framework GitHub](https://github.com/microsoft/agent-framework) — Разгледайте изходния код - [Примери с код](https://github.com/microsoft/agent-framework/tree/main/python/samples) — Вземете модели оттук --- **Готови ли сте за финала?** Вече имате скрипта си. Сега нека го превърнем в истинско аудио! → [Акт 3: Съживете подкаста си](03.Multi-SpeakerPodcastGenerationWithVibeVoice.md) 🎤 --- **Забили ли сте? Объркани ли сте? Вълнувате ли се?** Споделете в чата на работилницата! Всички учим заедно. 🚀 --- **Отказ от отговорност**: Този документ е преведен с помощта на AI услуга за превод [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля имайте предвид, че автоматизираните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да е недоразумения или неправилни тълкувания, произтичащи от използването на този превод.