# Babak 2: Rakit Tim Produksi Podcast Anda 🎬 ![lab2](../../../../translated_images/id/lab2.48444b9d549e7863.webp) ## Alur Cerita Makin Seru Alex (asisten AI Anda dari Babak 1) hebat, tapi satu agen tidak bisa menjalankan seluruh studio podcast. Anda butuh *tim*: - πŸ” **Agen Riset**: Menjelajah internet untuk info terbaru - ✍️ **Agen Naskah**: Mengubah hasil riset menjadi dialog yang menarik - πŸ‘€ **Anda (Sang Editor)**: Menyetujui naskah atau mengirim ulang untuk revisi Selamat datang di **Orkestrasi Agen AI** β€” di mana Anda menjadi sutradara kru AI Anda sendiri. Bayangkan seperti Avengers, tapi untuk produksi podcast. ## Apa Itu Orkestrasi Agen? (Versi Sederhana) Bayangkan Anda menjalankan sebuah restoran. Anda tidak melakukan semuanya sendiri, bukan? Anda punya: - 🍳 Koki yang memasak - πŸ‘¨β€πŸ³ Sous chef yang menyiapkan bahan - πŸ‘©β€πŸ³ Pelayan yang mengantarkan makanan Orkestrasi agen adalah konsep yang sama, tapi dengan AI. Setiap agen memiliki keahlian, dan Anda mengoordinasikan mereka untuk mencapai tujuan besar. Tidak ada agen tunggal yang kewalahan, dan pekerjaan selesai lebih cepat. ### Analogi Band 🎸 Agen AI Anda seperti sebuah band: - **Vokalis utama**: Agen utama yang menangani tugas yang berhadapan dengan pelanggan - **Drummer**: Menjaga ritme, menangani proses latar belakang - **Pemain bass**: Mendukung semua orang, mengambil data - **Anda (Manajer Band)**: Mengkoordinasikan semuanya! Tanpa koordinasi? Hanya suara gaduh. Dengan orkestrasi? Musik yang indah. ### Kenapa Ini Penting Satu agen AI mencoba melakukan semuanya = kelelahan. Agen yang khusus bekerja sama = efisiensi maksimal! πŸš€ **Kenyataan**: Ingat saat mencoba riset, menulis, DAN mengedit podcast sendirian? Ya, itu melelahkan. Dengan orkestrasi, masing-masing agen mengerjakan keahlian mereka. Anda tinggal membuat keputusan akhir. **Contoh Dunia Nyata**: Bot dukungan pelanggan yang tahu kapan menangani pembayaran vs. masalah teknis vs. kapan harus menghubungi manusia. Itulah orkestrasi! ## Agen vs. Alur Kerja: Apa Bedanya? Pikirkan seperti ini: ### πŸ€– Agen AI = Musisi Jazz - **Membuat keputusan spontan** berdasarkan apa yang didengar - **Berimprovisasi** solusi menggunakan alatnya - **Berpikir** dengan otak LLM - **Beradaptasi** dengan apa pun yang Anda berikan ### 🎡 Alur Kerja = Orkestra Bermain Musik Klasik - **Mengikuti skor** (langkah yang telah ditetapkan) - **Jalur eksekusi yang dapat diprediksi** - **Mengkoordinasikan** banyak agen, manusia, sistem - **Terstruktur** seperti resep masakan **Keajaibannya**: Alur kerja *mengorkestrasi* agen! Anda membangun alur kerja yang memberi tahu agen kapan memainkan perannya. Mendapatkan yang terbaik dari kedua dunia. 🎭 ## Tiga Cara Mengkoordinasikan Kru AI Anda ### 1. 🎯 Terpusat (Anda Bosnya) Satu agen utama yang membuat semua keputusan. Anggap seperti Anda mengelola tim β€” Anda menentukan siapa melakukan apa dan kapan. **Kelebihan**: - βœ… Kepemimpinan jelas (tidak membingungkan) - βœ… Keputusan konsisten - βœ… Mudah debug **Gunakan untuk**: - Routing layanan pelanggan ("Apakah ini tagihan atau dukungan teknis?") - Alur persetujuan konten ("Apakah naskah ini lolos?") - Produksi podcast (persis seperti yang kita bangun!) ### 2. 🀝 Terdesentralisasi (Agen Mengorganisasi Diri Sendiri) Agen berbicara langsung satu sama lain dan menyelesaikan masalah bersama. Seperti chat grup tempat semua berkoordinasi. **Kelebihan**: - βœ… Mudah diperluas (tambah agen kapan saja) - βœ… Tidak ada titik kegagalan tunggal - βœ… Agen bekerja sama secara alami **Gunakan untuk**: - Tim riset (setiap agen mengeksplorasi sumber berbeda) - Sesi curah pendapat - Penyelesaian masalah terdistribusi ### 3. πŸ”€ Hibrida (Yang Terbaik dari Kedua Dunia) Anda menetapkan arah umum, tapi agen bebas mengorganisasi tugas mereka sendiri. Seperti CEO yang mempercayai timnya. **Cocok untuk**: Proyek kompleks yang membutuhkan kontrol dan fleksibilitas. ## Microsoft Agent Framework: Kotak Peralatan Orkestrasi Anda 🧰 Saatnya membangun! Berikut yang akan Anda gunakan: ### Komponen Utama #### 1. 🧱 Eksekutor (Pekerja Anda) - **Apa itu**: Unit pemrosesan individu β€” bisa agen atau logika khusus - **Apa yang mereka lakukan**: Menerima input, bekerja, menghasilkan output - **Anggap sebagai**: Stasiun di lini perakitan #### 2. ➑️ Edge (Koneksi) - **Apa itu**: Jalur antar eksekutor - **Apa yang mereka lakukan**: Mengontrol aliran pesan ("Setelah A, ke B") - **Anggap sebagai**: Panah di diagram alir #### 3. πŸ—ΊοΈ Alur Kerja (Rencana Besar) - **Apa itu**: Grafik lengkap dari eksekutor + edge - **Apa yang mereka lakukan**: Mendefinisikan keseluruhan proses dari awal hingga akhir - **Anggap sebagai**: Cetak biru jalur produksi Anda ### Fitur Keren yang Akan Anda Sukai **πŸ›‘οΈ Keamanan Tipe**: Pesan antar agen diperiksa tipe-nya. Tidak ada kejutan "Ups, tipe data salah". **πŸ”€ Routing Fleksibel**: - Kondisi if-then ("Jika disetujui, terbitkan; jika tidak, tulis ulang") - Pemrosesan paralel (beberapa agen bekerja bersamaan) - Jalur dinamis (alur kerja menyesuaikan berdasarkan hasil) **πŸ”Œ Integrasi Eksternal**: - Terhubung ke API - Tambah checkpoint human-in-the-loop (Anda menyetujui sebelum publikasi) - Bangun alur permintaan/respons **πŸ’Ύ Checkpointing**: Simpan kemajuan! Jika terjadi crash, mulai lagi dari titik terakhir. **🀝 Koordinasi Multi-Agen**: - Jalankan agen berurutan (A β†’ B β†’ C) - Jalankan paralel (A + B + C sekaligus) - Serah terima antar agen - Pemrosesan kolaboratif ## Praktik Terbaik (Tips Pro) 🎯 ### 1. Jaga Modularitas Setiap agen harus melakukan SATU hal dengan sangat baik. Jangan buat "super agen" yang mengerjakan semuanya β€” Anda akan menyesal saat debugging. ### 2. Rencanakan untuk Kegagalan Agen bisa salah. Jaringan bisa gagal. Bangun penanganan error dan rencana cadangan. Masa depan Anda akan berterima kasih. ### 3. Pantau Segala Sesuatu Lacak apa yang dilakukan agen Anda. Gunakan DevUI (nanti kita bahas!) untuk melihat alur kerja berjalan. ### 4. Optimalkan Ukuran Pesan Jangan kirim file besar antar agen. Jaga pesan tetap ringan dan cepat. ### 5. Pilih Pola yang Tepat Butuh kontrol? Pilih terpusat. Butuh skala? Pilih terdesentralisasi. Bingung? Pilih hibrida! ## DevUI: Debugger Alur Kerja Anda πŸ” ### Apa Itu DevUI? DevUI seperti taman bermain untuk menguji agen dan alur kerja Anda. Ini antarmuka web tempat Anda bisa: - πŸ‘€ Melihat alur kerja berjalan - πŸ’¬ Chat langsung dengan agen - πŸ” Debug saat ada masalah - πŸ“Š Melihat jejak dan metrik performa > **Penting**: DevUI hanya untuk pengembangan! Jangan pakai di produksi. Anggap sebagai lingkungan uji lokal Anda. ### Kenapa Ini Keren - **πŸ–₯️ UI Web Interaktif**: Klik, ketik, uji β€” tanpa perlu command line - **πŸ“ Siap Drag-and-Drop**: Upload file, uji dengan input berbeda - **πŸ“‚ Penemuan Otomatis**: Arahkan ke folder, otomatis temukan semua agen Anda - **πŸ“‹ Mode Tanpa Setup**: Daftarkan agen lewat kode, tak perlu struktur folder - **πŸ”Œ Kompatibel OpenAI**: Bekerja dengan SDK OpenAI (cocok banget!) - **πŸ‘οΈ Tracing Terintegrasi**: Lihat persis apa yang agen lakukan ### Cara Input Bekerja DevUI pintar soal input: - **Menguji Agen?** Anda dapat kotak teks dan tombol upload file - **Menguji Alur Kerja?** UI otomatis bikin field input sesuai yang dibutuhkan alur kerja Ini seperti sihir, tapi sebenarnya cuma kode bagus. ✨ ## Misi Anda: Bangun Studio Podcast 🎬 ### Misi 1: Buat Agen Tunggal dengan DevUI πŸ“‚ [01.AgentDevUI](../../../../WorkshopForAgentic/code/02.Workflow/01.AgentDevUI) **Tantangannya**: Sebelum membangun tim lengkap, coba uji DevUI dengan satu agen: spesialis pencarian web. **Apa yang Anda Bangun**: Agen riset yang bisa mencari topik podcast di internet. Anda akan mengujinya melalui antarmuka web DevUI di `http://localhost:8090`. **Keahlian yang Akan Anda Pelajari**: - πŸš€ Menjalankan agen di DevUI - πŸ” Menguji respons agen secara real-time - πŸ› οΈ Membuat alat custom (pencarian web) - πŸ“Š Mengaktifkan tracing untuk debugging - πŸ–₯️ Menggunakan UI web interaktif **Kode**: - `agent.py`: SearchAgent Anda dengan kekuatan pencarian web - Menggunakan OllamaChatClient untuk koneksi ke Qwen - Mengimplementasikan fungsi alat `web_search()` - Menjalankan dengan `serve()` β€” otomatis membuka DevUI **Syarat Kemenangan**: Tanyakan ke agen Anda "Apa yang sedang tren di AI?" dan lihat dia mencari di web! πŸŽ‰ ### Misi 2: Bangun Alur Kerja Multi-Agen πŸ“‚ [02.WorkflowDevUI](../../../../WorkshopForAgentic/code/02.Workflow/02.WorkflowDevUI) **Tantangannya**: Sekarang mulai seru! Bangun alur produksi podcast lengkap dengan: 1. πŸ” **Agen Pencari** β†’ Meneliti topik Anda 2. ✍️ **Agen Naskah** β†’ Menulis dialog antara dua pembawa acara (dalam bahasa Cina!) 3. πŸ‘€ **Eksekutor Review** β†’ Meminta persetujuan Anda 4. πŸ”„ **Loop Ulang** β†’ Jika ditolak, menulis ulang berdasarkan masukan **Keahlian yang Akan Anda Pelajari**: - 🧱 Membuat agen spesialis untuk tugas berbeda - πŸ”— Menghubungkan agen dengan WorkflowBuilder - πŸ”€ Menerapkan loop persetujuan (human-in-the-loop!) - 🚦 Routing bersyarat (disetujui vs ditolak) - πŸ”§ Membangun eksekutor khusus untuk logika bisnis **Alur Kerja**: ``` SearchAgent β†’ ScriptAgent β†’ ReviewExecutor ↑ ↓ (if rejected) ←───────── ``` **Kode**: - `search_agent/agent.py`: Spesialis riset Anda - `generate_script_agent/agent.py`: Penulis naskah Anda (menulis dalam bahasa Cina!) - `workflow/workflow.py`: Tempat terjadinya keajaiban orkestrasi - `main.py`: Menjalankan semuanya di DevUI **Syarat Kemenangan**: Berikan topik, tinjau naskah, tolak sekali untuk uji loop, lalu setujui! πŸŽ‰ ### Misi 3: Bangun Aplikasi Konsol πŸ“‚ [03.Application](../../../../WorkshopForAgentic/code/02.Workflow/03.Application) **Tantangannya**: Ambil alur kerja Anda dari DevUI dan ubah menjadi aplikasi terminal yang keren dengan output berwarna, spinner loading, dan penyimpanan file. Ini sudah siap produksi! **Keahlian yang Akan Anda Pelajari**: - ⚑ Menjalankan alur kerja secara programatik (tanpa DevUI) - πŸ“‘ Arsitektur event-driven dengan streaming - 🎨 Membuat UI terminal yang indah (warna, spinner, progress bar) - πŸ’Ύ Menyimpan naskah akhir ke file - πŸ”„ Menangani alur kerja async dengan Python asyncio **Apa yang Dilakukan**: 1. Meminta topik podcast Anda 2. Menampilkan progres real-time ("Agen Pencari sedang bekerja...") 3. Menampilkan naskah yang dihasilkan dengan warna 4. Meminta persetujuan Anda 5. Menyimpan naskah yang disetujui ke `podcast.txt` **Kode**: - `podcast_app.py`: Aplikasi utama Anda dengan event handling - `workflow.py`: Menggunakan ulang alur kerja dari Misi 2 - Menangani event: `AgentRunUpdateEvent`, `RequestInfoEvent`, `WorkflowOutputEvent` - Menggunakan warna ANSI untuk styling terminal **Syarat Kemenangan**: Jalankan aplikasinya, buat naskah podcast, dan lihat tersimpan! Anda telah membangun alat nyata. πŸš€ ## Apa yang Sudah Anda Kuasai πŸ† Setelah Babak 2, Anda bisa: - βœ… Mengorkestrasi banyak agen AI seperti bos - βœ… Membangun alur kerja dengan logika berurutan DAN bersyarat - βœ… Menambahkan checkpoint persetujuan manusia - βœ… Menggunakan DevUI untuk menguji dan debug alur kerja - βœ… Membuat aplikasi konsol siap produksi - βœ… Menangani error dengan baik di sistem kompleks - βœ… Memilih pola orkestrasi yang tepat untuk proyek apa pun ## Saat Terjadi Masalah πŸ”§ ### "Alur kerja saya terlalu rumit!" **Solusi**: Pecah menjadi sub-alur kerja yang lebih kecil. Setiap alur harus melakukan SATU hal dengan baik. Hubungkan jika perlu. ### "Saya tidak bisa melacak apa yang terjadi!" **Solusi**: Gunakan checkpoint alur kerja untuk menyimpan status. Aktifkan tracing di DevUI untuk melihat setiap langkah. ### "Satu agen error membuat semuanya crash!" **Solusi**: Tambahkan batasan error. Setiap agen harus menangani gagalannya sendiri dan punya perilaku cadangan. ### "Ini sangat lambat" **Solusi**: Apakah ada agen yang bisa dijalankan paralel? Alur kerja berurutan mudah tapi lambat. Cari peluang paralelisasi! ## Sumber Daya Bermanfaat πŸ”— - [Dokumentasi Alur Kerja](https://learn.microsoft.com/en-us/agent-framework/user-guide/workflows/overview) β€” Panduan resmi Microsoft - [Pola Orkestrasi](https://www.ibm.com/think/topics/ai-agent-orchestration) β€” Pendekatan IBM - [Agent Framework GitHub](https://github.com/microsoft/agent-framework) β€” Telusuri kode sumber - [Contoh Kode](https://github.com/microsoft/agent-framework/tree/main/python/samples) β€” Curi pola dari sini --- **Siap untuk puncaknya?** Kamu sudah punya skripmu. Sekarang mari kita ubah menjadi audio nyata! β†’ [Bab 3: Hidupkan Podcastmu](03.Multi-SpeakerPodcastGenerationWithVibeVoice.md) 🎀 --- **Buntu? Bingung? Semangat?** Bagikan di obrolan workshop! Kita semua belajar bersama. πŸš€ --- **Penafian**: Dokumen ini telah diterjemahkan menggunakan layanan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berusaha untuk mencapai ketepatan, harap diingat bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang sah. Untuk informasi penting, disarankan menggunakan terjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang keliru yang timbul dari penggunaan terjemahan ini.