# Actul 2: Asamblează-ți Echipa de Producție Podcast 🎬 ![lab2](../../../../translated_images/ro/lab2.48444b9d549e7863.webp) ## Intriga se Complică Alex (asistentul tău AI din Actul 1) este minunat, dar un singur agent nu poate conduce un întreg studio de podcast. Ai nevoie de o *echipă*: - 🔍 **Agent de Cercetare**: Scanează internetul pentru informații proaspete - ✍️ **Agent de Script**: Transformă cercetarea în dialog captivant - 👤 **Tu (Editorul)**: Aprobi scripturile sau le trimiți înapoi pentru rescrieri Bine ai venit la **Orchestrarea Agenților AI** — unde devii regizorul propriei echipe AI. Gândește-te la Avengers, dar pentru producția de podcast. ## Ce este Orchestrarea Agenților? (Varianta Simplă) Imaginează-ți că conduci un restaurant. Nu faci totul singur, nu? Ai: - 🍳 Un bucătar care gătește - 👨‍🍳 Un sous-chef care pregătește - 👩‍🍳 Un chelner care servește Orchestrarea agenților este aceeași idee, dar cu AI. Fiecare agent are o specialitate, iar tu îi coordonezi pentru a atinge obiective mai mari. Niciun agent nu este copleșit, iar munca se face mai repede. ### Analogia Formației 🎸 Agenții tăi AI sunt ca o trupă: - **Solistul principal**: Agentul principal care se ocupă de sarcinile vizibile pentru client - **Toboșarul**: Ține ritmul, gestionează procesarea în fundal - **Bassistul**: Susține pe toată lumea, aduce date - **Tu (Managerul trupei)**: Coordonezi totul! Fără coordonare? Doar gălăgie. Cu orchestrare? Muzică frumoasă. ### De ce Contează Asta Un singur agent AI care încearcă să facă totul = epuizare. Agenți specializați care lucrează împreună = eficiență maximă! 🚀 **Vorba adevărată**: Ți-ai amintit când încercai să cercetezi, să scrii ȘI să editezi podcastul singur? Da, e groaznic. Cu orchestrarea, fiecare agent face ce știe mai bine. Tu iei doar deciziile finale. **Exemplu din Viața Reală**: Chatbot-uri pentru suport clienți care știu când să gestioneze facturarea vs. probleme tehnice vs. când să cheme un om. Asta este orchestrare! ## Agent vs. Flux de Lucru: Care e Diferența? Gândește-te așa: ### 🤖 Agent AI = Muzician de Jazz - **Ia decizii pe loc** în funcție de ce aude - **Improvizează** soluții folosind uneltele sale - **Gândește** cu un creier LLM - **Se adaptează** la orice îi dai ### 🎵 Flux de Lucru = Orchestră care cântă muzică clasică - **Urmărește o partitură** (pași predefiniți) - **Execută previzibil** - **Coordonează** mai mulți agenți, oameni, sisteme - **Este structurat** ca o rețetă **Magia**: Fluxurile de lucru *orchestra* agenții! Construiești un flux care le spune agenților când să intre în scenă. Cele mai bune din ambele lumi. 🎭 ## Trei Moduri de a-ți Coordona Echipă AI ### 1. 🎯 Centralizat (Tu ești șeful) Un agent principal ia toate deciziile. Gândește-te ca la gestionarea unei echipe — tu decizi cine face ce și când. **Avantaje**: - ✅ Conducere clară (fără confuzie) - ✅ Decizii consistente - ✅ Ușor de depanat **Folosește pentru**: - Direcționarea serviciului clienți („Este asta facturare sau suport tehnic?”) - Fluxuri pentru aprobarea conținutului („Trece acest script?”) - Producție podcast (fix ce construim noi!) ### 2. 🤝 Decentralizat (Agenții se auto-organizează) Agenții comunică direct unii cu alții și decid împreună ce fac. Ca un grup de chat unde toți se coordonează. **Avantaje**: - ✅ Scalabil ușor (poți adăuga agenți oricând) - ✅ Niciun punct unic de eșec - ✅ Agenții colaborează natural **Folosește pentru**: - Echipe de cercetare (fiecare agent explorează surse diferite) - Sesiuni de brainstorming - Rezolvare distribuită a problemelor ### 3. 🔀 Hibrid (Ce e mai bun din ambele) Tu stabilești direcția principală, dar agenții au libertatea să se auto-organizeze pe sarcini. Ca un CEO care are încredere în echipa sa. **Perfect pentru**: Proiecte complexe care cer control și flexibilitate. ## Microsoft Agent Framework: Trusa ta de Orchestrare 🧰 E timpul să construiești! Iată ce vei folosi: ### Componentele de Bază #### 1. 🧱 Executorii (Lucrătorii tăi) - **Ce sunt**: Unități individuale de procesare — pot fi agenți sau logică personalizată - **Ce fac**: Primesc input, efectuează muncă, generează output - **Gândește-te la ei ca la**: Stații într-o linie de asamblare #### 2. ➡️ Legăturile (Conexiunile) - **Ce sunt**: Căi între executorii - **Ce fac**: Controlează fluxul mesajelor („După A, mergi la B”) - **Gândește-te la ele ca la**: Săgeți într-o diagramă de flux #### 3. 🗺️ Fluxuri de lucru (Planul principal) - **Ce sunt**: Graful complet de executorii + legături - **Ce fac**: Definirea întregului proces de la început până la sfârșit - **Gândește-te la ele ca la**: Planul tău pentru pipeline-ul de producție ### Funcții Cool care Îți Placă **🛡️ Siguranță pe Tipuri**: Mesajele între agenți sunt verificate la nivel de tip. Fără surprize de genul „Ups, tip de date greșit”. **🔀 Rutare flexibilă**: - Condiții if-then („Dacă aprobat, publică; altfel, rescrie”) - Procesare paralelă (mai mulți agenți lucrează simultan) - Căi dinamice (fluxul se adaptează în funcție de rezultate) **🔌 Integrare externă**: - Conectare la API-uri - Puncte de verificare cu om la mijloc (tu aprobi înainte de publicare) - Construiești fluxuri cerere/răspuns **💾 Salvări de puncte intermediare**: Salvează progresul! Dacă ceva pică, continui de unde ai rămas. **🤝 Coordonare multi-agent**: - Rulează agenți în secvență (A → B → C) - Rulează simultan (A + B + C odată) - Predă de la un agent la altul - Procesare colaborativă ## Cele Mai Bune Practici (Sfaturi Pro) 🎯 ### 1. Păstrează Modularitatea Fiecare agent ar trebui să facă UN SINGUR lucru foarte bine. Nu face un „super agent” care face totul — vei regreta când debugezi. ### 2. Pregătește-te pentru Eșecuri Agenții pot da greș. Rețelele pot cădea. Construiește gestionare de erori și planuri de rezervă. Viitorul tău îți va mulțumi. ### 3. Monitorizează Tot Urmărește ce fac agenții. Folosește DevUI (vom acoperi asta!) ca să vezi fluxurile în acțiune. ### 4. Optimizează Mărimea Mesajelor Nu trimite fișiere gigant între agenți. Ține mesajele concise pentru viteză. ### 5. Alege Pattern-ul Potrivit Vrei control? Folosește centralizat. Vrei scalare? Folosește descentralizat. Nu te poți decide? Folosește hibrid! ## DevUI: Depanatorul tău de Fluxuri 🔍 ### Ce este DevUI? DevUI este ca un loc de joacă pentru testarea agenților și fluxurilor tale. Este o interfață web unde poți: - 👀 Privi fluxul de lucru în acțiune - 💬 Discuta direct cu agenții - 🔍 Depana când apar probleme - 📊 Vizualiza trasee și metrici de performanță > **Important**: DevUI este doar pentru dezvoltare! Nu-l folosi în producție. Gândește-te la el ca la mediul tău local de testare. ### Ce-l Face Grozav - **🖥️ UI web interactiv**: Apasă, tastează, testează — fără linie de comandă - **📁 Drag-and-Drop gata**: Încarcă fișiere, testează cu inputuri diferite - **📂 Descoperire automată**: Indic-o spre un folder și găsește toți agenții automat - **📋 Mod fără configurare**: Înregistrează agenții în cod, fără structură de foldere necesară - **🔌 Compatibil cu OpenAI**: Funcționează cu OpenAI SDK (compatibilitate garantată!) - **👁️ Tracing integrat**: Vezi exact ce fac agenții tăi ### Cum Funcționează Inputul DevUI este inteligent cu privire la inputuri: - **Testezi agenți?** Ai câmpuri de text și butoane pentru încărcare fișiere - **Testezi fluxuri?** UI generează automat câmpurile de input în funcție de ce așteaptă fluxul tău E ca magie, dar e doar cod bine scris. ✨ ## Misiunile Tale: Construiește un Studio de Podcast 🎬 ### Misiunea 1: Creează un Agent Unic cu DevUI 📂 [01.AgentDevUI](../../../../WorkshopForAgentic/code/02.Workflow/01.AgentDevUI) **Provocarea**: Înainte să construiești o echipă completă, hai să testezi DevUI cu un singur agent: un specialist în căutare web. **Ce Construiești**: Un agent de cercetare care poate căuta pe internet subiecte pentru podcast. Îl vei testa folosind interfața web DevUI la `http://localhost:8090`. **Competențe pe care le vei Învăța**: - 🚀 Lansarea agenților în DevUI - 🔍 Testarea răspunsurilor agenților în timp real - 🛠️ Construirea de unelte personalizate (căutare web) - 📊 Activarea tracing-ului pentru depanare - 🖥️ Folosirea UI web interactiv **Codul**: - `agent.py`: SearchAgent-ul tău cu super-puteri de căutare web - Folosește OllamaChatClient pentru conexiune la Qwen - Implementează funcția `web_search()` - Rulează cu `serve()` — deschide DevUI automat **Condiția de victorie**: Întreabă agentul „Ce trenduri sunt în AI?” și urmărește-l cum caută pe web! 🎉 ### Misiunea 2: Construiește un Flux de Lucru Multi-Agent 📂 [02.WorkflowDevUI](../../../../WorkshopForAgentic/code/02.Workflow/02.WorkflowDevUI) **Provocarea**: Acum începe distractia! Construiește un flux complet de producție podcast cu: 1. 🔍 **Agent de Cercetare** → Cercetează subiectul 2. ✍️ **Agent de Script** → Scrie un dialog între doi gazde (în chineză!) 3. 👤 **Executor de Revizuire** → Îți cere acordul să aprobi sau respingi 4. 🔄 **Revenire** → Dacă e respins, rescrie în baza feedback-ului tău **Competențe pe care le vei Învăța**: - 🧱 Crearea agenților specializați pentru diferite roluri - 🔗 Conectarea agenților cu WorkflowBuilder - 🔀 Implementarea buclelor de aprobare (om la mijloc!) - 🚦 Rutare condiționată (aprob vs. resping) - 🔧 Construirea executorilor personalizați pentru logica de business **Fluxul**: ``` SearchAgent → ScriptAgent → ReviewExecutor ↑ ↓ (if rejected) ←───────── ``` **Codul**: - `search_agent/agent.py`: Specialistul tău în cercetare - `generate_script_agent/agent.py`: Scenaristul tău (scrie în chineză!) - `workflow/workflow.py`: Aici se întâmplă magia orchestration - `main.py`: Rulează totul în DevUI **Condiția de victorie**: Dă un subiect, revizuiește scriptul, respinge-l o dată să testezi bucla, apoi aprobă! 🎉 ### Misiunea 3: Construiește o Aplicație Consolă 📂 [03.Application](../../../../WorkshopForAgentic/code/02.Workflow/03.Application) **Provocarea**: Ia fluxul tău din DevUI și transformă-l într-o aplicație terminal elegantă cu output colorat, spinner de încărcare și salvare în fișiere. E gata pentru producție! **Competențe pe care le vei Învăța**: - ⚡ Rularea fluxurilor programatic (fără DevUI) - 📡 Arhitectură event-driven cu streaming - 🎨 Crearea de interfețe terminale frumoase (culori, spinner, bare de progres) - 💾 Salvarea scripturilor finale în fișiere - 🔄 Manipularea fluxurilor async cu asyncio în Python **Ce face**: 1. Îți cere un subiect pentru podcast 2. Arată progresul în timp real („Agentul de Cercetare lucrează...”) 3. Afișează scriptul generat cu culori 4. Îți cere aprobarea 5. Salvează scriptul aprobat în `podcast.txt` **Codul**: - `podcast_app.py`: Aplicația ta principală cu gestionare de evenimente - `workflow.py`: Refolosește fluxul din Misiunea 2 - Gestionează evenimente: `AgentRunUpdateEvent`, `RequestInfoEvent`, `WorkflowOutputEvent` - Folosește culori ANSI pentru styling terminal **Condiția de victorie**: Rulează aplicația, creează un script de podcast și vezi-l salvat! Ai construit un instrument real. 🚀 ## Ce ai Stăpânit 🏆 După Actul 2, știi să: - ✅ Orchetrezi mai mulți agenți AI ca un expert - ✅ Construiești fluxuri cu logică secvențială ȘI condiționată - ✅ Adaugi puncte de aprobare umană - ✅ Folosești DevUI pentru testare și depanare - ✅ Creezi aplicații consolă gata de producție - ✅ Gestionezi elegant erorile în sisteme complexe - ✅ Alegi modelul de orchestrare potrivit pentru orice proiect ## Când Lucrurile Se Strică 🔧 ### „Fluxul meu de lucru e prea complicat!” **Soluția**: Împarte-l în sub-fluxuri mai mici. Fiecare flux să facă UN SINGUR lucru bine. Le poți lega între ele dacă e nevoie. ### „Nu pot urmări ce se întâmplă!” **Soluția**: Folosește checkpointing pentru a salva starea. Activează tracing în DevUI să vezi fiecare pas. ### „Eroarea unui agent strică tot!” **Soluția**: Adaugă limite de eroare. Fiecare agent ar trebui să gestioneze propriile greșeli și să aibă un plan fallback. ### „E atât de lent” **Soluția**: Pot unii agenți să ruleze în paralel? Fluxurile secvențiale sunt simple dar lente. Caută oportunități de paralelizare! ## Resurse Utile 🔗 - [Workflow Docs](https://learn.microsoft.com/en-us/agent-framework/user-guide/workflows/overview) — Ghiduri oficiale Microsoft - [Orchestration Patterns](https://www.ibm.com/think/topics/ai-agent-orchestration) — Versiunea IBM - [Agent Framework GitHub](https://github.com/microsoft/agent-framework) — Explorează codul sursă - [Exemple de cod](https://github.com/microsoft/agent-framework/tree/main/python/samples) — Fură modele de aici --- **Pregătit pentru finală?** Ai scenariul. Acum să îl transformăm în audio real! → [Actul 3: Adu podcastul tău la viață](03.Multi-SpeakerPodcastGenerationWithVibeVoice.md) 🎤 --- **Blocată? Confuz? Entuziasmat?** Împărtășește în chat-ul atelierului! Învățăm toți împreună. 🚀 --- **Declinarea răspunderii**: Acest document a fost tradus folosind serviciul de traducere AI [Co-op Translator](https://github.com/Azure/co-op-translator). Deși ne străduim pentru acuratețe, vă rugăm să rețineți că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa nativă trebuie considerat sursa autoritară. Pentru informații critice, se recomandă traducerea profesională realizată de un specialist uman. Nu ne asumăm nicio responsabilitate pentru eventualele neînțelegeri sau interpretări greșite rezultate din utilizarea acestei traduceri.