# Teine vaatuse tegevus: Koosta oma taskuhäälingu tootmismeeskond 🎬 ![lab2](../../../../translated_images/et/lab2.48444b9d549e7863.webp) ## Süžee muutub keerulisemaks Alex (sinu tehisintellekti abiline esimese vaatuse tegevusest) on suurepärane, kuid üks agent ei suuda juhtida kogu taskuhäälingustuudiot. Sul on vaja *meeskonda*: - 🔍 **Uurimisagent**: Otsib internetist värsket teavet - ✍️ **Skriptiagent**: Muudab uurimistöö kaasahaaravaks dialoogiks - 👤 **Sina (toimetaja)**: Kinnitad käsikirjad või saadad need ümberkirjutamiseks tagasi Tere tulemast **AI agentide orkestreerimise maailma** — kus sinust saab oma AI meeskonna režissöör. Mõtle sellest kui Avalaste Seltskonnast, aga taskuhäälingu tootmise jaoks. ## Mis on agentide orkestreerimine? (lihtne versioon) Kujuta ette, et juhid restorani. Sa ei tee kõike ise, eks? Sul on: - 🍳 Kokk, kes kokkab - 👨‍🍳 Asekokk, kes valmistab ette - 👩‍🍳 Ettekandja, kes serveerib Agentide orkestreerimine on sama idee, aga tehisintellektiga. Igal agendil on oma eriala ja sina koordineerid neid suuremate eesmärkide saavutamiseks. Ükski agent ei ole üle koormatud ja töö käib kiiremini. ### Bändi analoogia 🎸 Sinu AI agendid on nagu bänd: - **Solist**: Peamine agent, kes tegeleb kliendisuhtlusega - **Trummar**: Hoiab rütmi, tegeleb taustaprotsessidega - **Bassist**: Toetab kõiki, hangib andmeid - **Sina (bändi manager)**: Koordineerid kõike! Ilma koordineerimiseta? Lihtsalt müra. Orkestreerimisega? Kaunis muusika. ### Miks see on oluline Kui üks AI agent püüab kõike teha = läbipõlemine. Spetsialiseerunud agendid koos töötamas = efektiivsus lülitatakse sisse! 🚀 **Tegelik lugu**: Kas mäletad, kuidas proovisid üksi uurida, kirjutada JA toimetada oma taskuhäälingut? Jah, see on tülikas. Orkestreerimisega tegeleb iga agent sellega, milles on parim. Sina teed lõplikud otsused. **Tõeline näide**: Klienditeeninduse botid, kes teavad, millal lahendada arvelduse probleeme, millal tehnilisi küsimusi ja millal kutsuda inimene appi. See on orkestreerimine! ## Agent vs töövoog: mis vahe on? Mõtle nii: ### 🤖 AI agent = jazzmuusik - **Teeb otsuseid jooksvalt** selle põhjal, mida kuulab - **Improvisatsioonib** lahendusi oma tööriistadega - **Mõtleb** LLM-i aju abil - **Kohandub** kõigega, mida talle ette heidetakse ### 🎵 Töövoog = orkester, mis mängib klassikalist muusikat - **Järgib noodistikku** (eelmääratletud samme) - **Ettetav** täitmise rada - **Koordineerib** mitut agenti, inimesi ja süsteeme - **Struktureeritud** nagu retsept **Vägi**: töövood *orkestreerivad* agente! Sa ehitad töövoo, mis ütleb agentidele, millal nad oma osa esitavad. Mõlema maailma parimad küljed. 🎭 ## Kolm viisi AI meeskonna koordineerimiseks ### 1. 🎯 Keskne juhtimine (sina oled boss) Üks peamine agent teeb kõik otsused. Mõtle sellele nagu tiimi juhtimine — sina otsustad, kes mida ja millal teeb. **Plussid**: - ✅ Selge juhtimine (ei teki segadust) - ✅ Järjepidevad otsused - ✅ Lihtne siluda **Kasuta seda**: - Klienditeeninduse suunamiseks ("Kas see on arvelduse või tehniline probleem?") - Sisukinnituse töövoogudes ("Kas see käsikiri läbib?") - Taskuhäälingu tootmises (täpselt mida me ehitame!) ### 2. 🤝 Detsentraliseeritud (agendid korraldavad end ise) Agendid suhtlevad otse omavahel ja korraldavad asju koos. Nagu grupivestlus, kus kõik koordineerivad. **Plussid**: - ✅ Lihtne laiendada (lisa agende igal ajal) - ✅ Puudub üksik tõrkejõud - ✅ Agendid teevad loomulikku koostööd **Kasuta seda**: - Uurimisrühmad (iga agent uurib erinevaid allikaid) - Ajurünnakud - Hajutatud probleemilahendus ### 3. 🔀 Hübridne (mõlema maailma parim) Sa määrad üldise suuna, aga agendid saavad ise ülesannete korraldamisel vabaduse. Nagu tegevjuht, kes usaldab oma meeskonda. **Sobib ideaalselt**: keerukatele projektidele, mis vajavad nii kontrolli kui paindlikkust. ## Microsoft Agent Framework: sinu orkestreerimise tööriistakomplekt 🧰 Aeg ehitada! Siin on see, mida kasutad: ### Ehituskivid #### 1. 🧱 Käitajad (sinu töötajad) - **Mis nad on**: üksikute töötlemisüksused — võivad olla agendid või kohandatud loogika - **Mida nad teevad**: võtavad sisendi, teevad tööd, annavad väljundi - **Mõtle neile kui**: tööjaama liinidel #### 2. ➡️ Servad (ühendused) - **Mis nad on**: teed käitajate vahel - **Mida nad teevad**: kontrollivad sõnumi voogu ("Pärast A mine B-sse") - **Mõtle neile kui**: nooled vooskeemil #### 3. 🗺️ Töövood (suure plaani teostus) - **Mis nad on**: kogu käitajate ja servade graafik - **Mida nad teevad**: määratlevad kogu protsessi algusest lõpuni - **Mõtle neile kui**: sinu tootmisliini kavand ### Lahedad omadused, mida sa armastad **🛡️ Tüübi turvalisus**: Sõnumeid agentide vahel tüübitakse. Ei mingit „Oops, vale andmetüüp“ üllatust. **🔀 Paindlik marsruutimine**: - Kui-siis tingimused („Kui on kinnitatud, avalda; muidu kirjuta ümber“) - Paralellprotsessid (mitu agenti töötavad samal ajal) - Dünaamilised rajad (töövoog kohandub tulemustest lähtuvalt) **🔌 Välised integratsioonid**: - Ühenda API-dega - Lisa inimene-tsüklis kontrollpunktid (sa kinnitad enne avaldamist) - Ehita päringu/vastuse vooge **💾 Kontrollpunktid**: Salvesta edenemine! Kui midagi katki läheb, jätka sealt, kus pooleli jäi. **🤝 Mitme agendi koordineerimine**: - Käivita agendid järjestikku (A → B → C) - Käivita paralleelselt (A + B + C korraga) - Anna üle agentide vahel - Koostööprotsessid ## Parimad tavad (proffide nipid) 🎯 ### 1. Hoia modulaarne Iga agent teeb ÜHT asja tõeliselt hästi. Ära loo "superagent", kes kõike teeb — sa kahetsed seda hiljem silumisel. ### 2. Planeeri ebaõnnestumisi Agendid teevad vigu. Võrgud kukuvad läbi. Ehita vigade käitlemine ja varuplaanid sisse. Tulevane sina tänab sind. ### 3. Jälgi kõike Vaata, mida su agendid teevad. Kasuta DevUI-d (me vaatame seda!), et näha töövoogude tegevust. ### 4. Optimiseeri sõnumi suurust Ära saada suurte faile agentide vahel. Hoia sõnumid õhukesed ja kiired. ### 5. Vali õige muster Tahad kontrolli? Mine keskse juhtimisega. Tahad skaleerida? Mine detsentraliseeritult. Ei suuda otsustada? Mine hübriidiga! ## DevUI: sinu töövoo silur 🔍 ### Mis on DevUI? DevUI on nagu mänguväljak, kus saad testida oma agente ja töövooge. See on veebiliides, kus saad: - 👀 Vaadata töövoo tegevust reaalajas - 💬 Vestelda agentidega otse - 🔍 Siluda vea korral - 📊 Näha jälgi ja jõudlusmõõdikuid > **Tähtis**: DevUI on arendamiseks! Ära kasuta tootmises. Mõtle sellele kui kohalikule testkeskkonnale. ### Miks see on äge - **🖥️ Interaktiivne veebiliides**: Klõpsa, kirjuta, testi — ei mingit käsurealt vaja - **📁 Kerige ja lohistage valmis**: Laadi faile üles, testi erinevate sisenditega - **📂 Automaatne avastamine**: Näita kaustale, see leiab kõik agentid automaatselt - **📋 Ilma seadistamata režiim**: Registreeri agendid koodis, kaustastruktuuri pole vaja - **🔌 OpenAI kaasas**: Sobib OpenAI SDK-ga (ühilduvus kindel!) - **👁️ Ehituses on jälgimine**: Näed täpselt, mida su agendid teevad ### Kuidas sisend töötab DevUI on nutikas sisendi osas: - **Agentide testimisel?** Saad tekstikastid ja failide üleslaadimise nupud - **Töövoogude testimisel?** UI genereerib automaatselt sisendi väljad vastavalt ootustele See on nagu võlukunst, aga tegelikult lihtsalt hea kood. ✨ ## Sinu missioonid: ehita taskuhäälingustuudio 🎬 ### Missioon 1: loo üks agent DevUI-ga 📂 [01.AgentDevUI](../../../../WorkshopForAgentic/code/02.Workflow/01.AgentDevUI) **Väljakutse**: Enne kui ehitada kogu meeskond, testime DevUI-d ühe agendiga: veebipõhine otsinguspesialist. **Mida ehitad**: Uurimisagent, kes saab internetist otsida taskuhäälinguteemasid. Testid seda DevUI veebiliideses aadressil `http://localhost:8090`. **Oskused, mida õpid**: - 🚀 Agentide käivitamine DevUI-s - 🔍 Agendi vastuste reaalajas testimine - 🛠️ Kohandatud tööriistade loomine (veebiotsing) - 📊 Jälgimise lubamine vigade silumiseks - 🖥️ Interaktiivse veebiliidese kasutamine **Kood**: - `agent.py`: Sinu SearchAgent veebipõhise otsingu supervõimetega - Kasutab OllamaChatClienti ühenduseks Qweniga - Rakendab tööriista funktsiooni `web_search()` - Käivitub `serve()` abil — avab automaatselt DevUI **Võidutingimus**: Küsi agendilt "Mis on AI-s trendis?" ja vaata, kuidas ta veebis otsib! 🎉 ### Missioon 2: ehita mitmeagendi töövoog 📂 [02.WorkflowDevUI](../../../../WorkshopForAgentic/code/02.Workflow/02.WorkflowDevUI) **Väljakutse**: Nüüd algab tõeline lõbu! Ehita täielik taskuhäälingu tootmise töövoog: 1. 🔍 **Otsinguagent** → uurib sinu teemat 2. ✍️ **Skriptiagent** → kirjutab dialoogi kahe saatejuhi vahel (hiina keeles!) 3. 👤 **Kinnituse töötleja** → küsib SINULT kinnitust või tagasilükkamist 4. 🔄 **Tagasilükkamisel** → kirjutab ümber sinu tagasiside põhjal **Oskused, mida õpid**: - 🧱 Specialiseeritud agentide loomine erinevatele ülesannetele - 🔗 Agentide ühendamine WorkflowBuilderiga - 🔀 Kinnitusringide rakendamine (inimene-tsüklis!) - 🚦 Tingimuslik marsruutimine (kui on kinnitatud vs tagasilükatud) - 🔧 Kohandatud täitjate loomine äriloogika jaoks **Töövoog**: ``` SearchAgent → ScriptAgent → ReviewExecutor ↑ ↓ (if rejected) ←───────── ``` **Kood**: - `search_agent/agent.py`: sinu uurimisagent - `generate_script_agent/agent.py`: käsikirjutaja (kirjutab hiina keeles!) - `workflow/workflow.py`: siin toimub orkestreerimise võlu - `main.py`: käivitab kõike DevUI-s **Võidutingimus**: Anna teema, vaata skripti üle, lükka see kord tagasilükkamise testimiseks tagasi, seejärel kinnita! 🎉 ### Missioon 3: ehita konsoolirakendus 📂 [03.Application](../../../../WorkshopForAgentic/code/02.Workflow/03.Application) **Väljakutse**: Võta oma töövoog DevUI-st ja tee sellest stiilne terminalirakendus värvilise väljundi, laadimispööriste ja failide salvestamisega. See on tootmiseks valmis tööriist! **Oskused, mida õpid**: - ⚡ Töövoogude programmiline käivitamine (ilma DevUI-ta) - 📡 Sündmustepõhine arhitektuur striimimisega - 🎨 Ilusate terminaliliideste loomine (värvid, pöörised, edenemisribad) - 💾 Lõplike skriptide salvestamine failidesse - 🔄 Asünkroonsete töövoogude haldamine Python asyncio-ga **Toimimise põhimõte**: 1. Küsib taskuhäälingu teemat 2. Näitab reaalajas edenemist ("Otsinguagent töötab...") 3. Kuvab genereeritud käsikirja koos värvidega 4. Palub sinu kinnitust 5. Salvestab kinnitatud käsikirja faili `podcast.txt` **Kood**: - `podcast_app.py`: sinu põhirakendus sündmuste haldusega - `workflow.py`: kasutab Missioon 2 töövoogu - Töötleb sündmusi: `AgentRunUpdateEvent`, `RequestInfoEvent`, `WorkflowOutputEvent` - Kasutab ANSI värve terminalistiilimiseks **Võidutingimus**: Käivita rakendus, loo taskuhäälingu käsikiri ja vaata, kuidas see salvestatakse! Sa oled ehitanud tõelise tööriista. 🚀 ## Mida oled saavutanud 🏆 Pärast teist vaatust oskad: - ✅ Orkestreerida mitut AI agenti nagu boss - ✅ Luua töövooge nii järjestikuse kui tingimusliku loogikaga - ✅ Lisada inimkinnituse kontrollpunkte - ✅ Kasutada DevUI-d töövoogude testimiseks ja silumiseks - ✅ Luua tootmiseks valmis konsoolirakendusi - ✅ Käidelda vigu keerukates süsteemides sujuvalt - ✅ Vali õige orkestreerimismuster iga projekti jaoks ## Kui asjad lähevad viltu 🔧 ### "Mu töövoog on liiga keeruline!" **Lahendus**: Jagage see väiksemateks alamooste töövoogudeks. Iga töövoog peaks tegema ÜHT asja hästi. Vajadusel jada neid omavahel. ### "Ma ei suuda jälgida, mis toimub!" **Lahendus**: Kasuta töövoo kontrollpunkte oleku salvestamiseks. DevUI-s luba jälgimine, et näha iga sammu. ### "Ühe agendi viga kukutab kogu süsteemi!" **Lahendus**: Lisa vigade piirid. Iga agent peaks enda tõrked haldama ja varuvõimalusi omama. ### "See on väga aeglane" **Lahendus**: Kas mõni agent saab töötada paralleelselt? Järjestikused töövood on lihtsad, aga aeglased. Otsi võimalusi paralleelsuseks! ## Kasulikud ressursid 🔗 - [Workflow Docs](https://learn.microsoft.com/en-us/agent-framework/user-guide/workflows/overview) — ametlikud Microsofti juhised - [Orkestreerimismustrid](https://www.ibm.com/think/topics/ai-agent-orchestration) — IBM-i tõlgendus - [Agent Framework GitHub](https://github.com/microsoft/agent-framework) — vaata lähtekoodi - [Koodinäited](https://github.com/microsoft/agent-framework/tree/main/python/samples) — Varasta mustreid siit --- **Valmis finaaliks?** Sul on skript olemas. Nüüd teeme sellest päris heli! → [3. tegevus: Too oma podcast ellu](03.Multi-SpeakerPodcastGenerationWithVibeVoice.md) 🎤 --- **Jääd kinni? Segaduses? Elevil?** Jaga töötuba vestluses! Me õpime kõik koos. 🚀 --- **Vastutusest loobumine**: See dokument on tõlgitud kasutades AI tõlketeenust [Co-op Translator](https://github.com/Azure/co-op-translator). Kuigi me püüdleme täpsuse poole, palun pidage meeles, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Originaaldokument selle emakeeles tuleks pidada autoriteetseks allikaks. Oluliste andmete puhul soovitatakse kasutada professionaalset inimtõlget. Me ei vastuta ühegi arusaamatuse või väär­tõlgenduse eest, mis võivad tekkida selle tõlke kasutamisest.