CrewAI Bagus! - Kesan Pertama Saya
Setelah 10 hari membangun podcast yang dihasilkan AI dengan CrewAI, saya belajar bahwa meskipun framework-nya sangat mudah digunakan, konten berkualitas tetap membutuhkan usaha manusia yang nyata.
Saya menemukan CrewAI beberapa minggu lalu melalui kursus "Practical Multi AI Agents and Advanced Use Cases with crewAI". Meskipun awalnya saya ragu mencobanya karena sudah menggunakan Langgraph untuk agent saya Sydney, dua hal memicu minat saya:
- Saya telah mengeksplorasi cara membuat podcast dari nol, khususnya fokus pada bagaimana menggunakan Gen AI untuk "bernalar" atas 15 tahun konten blog saya daripada hanya copy paste postingan. Saya sudah mencoba NotebookLLM untuk ini (yang hasilnya lumayan, kamu bisa cek episode podcast di sini), tapi saya ingin lebih banyak kontrol atas alur percakapan dan opening hook.
- Saya ingin belajar sesuatu yang baru dan bereksperimen dengan model text-to-speech OpenAI.
Update Nov 2025: Saya lulus dari menggunakan agent framework dan mulai coding dari nol dengan Claude Code dan Google Gemini CLI. Ini memberi saya kontrol yang jauh lebih banyak. Peluncuran terbaru saya adalah STRATUM (market intelligence) dan DIALOGUE (AI podcast generator) — yang berevolusi langsung dari eksperimen CrewAI di bawah ini.
Setelah sekitar 10 hari bermain dengan CrewAI, ini observasi utama saya:
1. Hal-hal baiknya
1.1 Mengejutkan mudah untuk memulai
- Kurva belajar awal sangat singkat — saya sudah bisa berjalan dalam beberapa jam saja
- Menyiapkan tool kustom (seperti mengambil konten dari blog saya menggunakan Weaviate sebagai vector store) mudah. Mengubah script podcast menjadi output audio juga cukup mudah diset up.
- Kemampuan mendeskripsikan agent dan task mereka dalam bahasa Inggris biasa menggunakan file YAML sangat powerful (Tips: autocomplete Visual Studio Code sangat membantu di sini!)
1.2 Pemilihan model yang fleksibel
Beralih antar LLM berbeda semudah mengupdate crew.py kamu:
llm_openai_4o_mini = LLM(model="gpt-4o-mini", temperature=0)
llm_anthropic_35 = LLM(model="claude-3-5-sonnet-20240620", temperature=0)
llm_openai_4o = LLM(model="gpt-4o", temperature=0)
llm_gemini_15_pro = LLM(model="gemini/gemini-1.5-pro-002", temperature=0)
Kamu kemudian bisa menetapkan model spesifik ke agent berbeda berdasarkan kekuatan mereka. Misalnya,
@agent
def content_researcher(self) -> Agent:
return Agent(
config=self.agents_config['content_researcher'],
llm=llm_anthropic_35,
tools=[BlogContentRetrievalTool()],
verbose=True
)
Semua ini berarti kontrol yang besar atas bagaimana saya ingin podcast saya terstruktur dan ditulis.
1.3 Text-to-Speech: Janji dan Keterbatasan
Meskipun API text-to-speech OpenAI mengesankan dalam kualitas, saat ini hanya menawarkan enam model suara. Untuk pembuatan podcast, ini cukup membatasi — terutama ketika kamu mencoba membuat percakapan menarik antara beberapa host. Kurangnya variasi suara berarti podcast kamu mungkin terdengar mirip dengan yang lain menggunakan teknologi yang sama. Ini pasti area di mana saya berharap melihat peningkatan di masa depan, baik melalui OpenAI memperluas pilihan suara mereka atau melalui integrasi dengan penyedia text-to-speech lain.
Saya bisa memahami kekhawatiran AI safety juga jadi lab-lab AI mungkin tidak terlalu terburu-buru menyediakan terlalu banyak model suara.
2. Kenyataan: Ini Bukan Sekadar "Klik dan Buat"
Awalnya, saya khawatir ini mungkin berkontribusi pada banjir konten yang dihasilkan AI (atau "AI Slop") yang kita lihat online. Lagipula, saya bisa menghasilkan script podcast 15 menit dalam sekitar 5 menit. (Dalam kursus DeepLearning.AI di atas, Joao memang membahas contoh kode "Content creation at scale".)
Namun, perspektif saya berubah setelah benar-benar membaca/me-review beberapa script awal yang dihasilkan.
Membuat konten berkualitas tinggi masih membutuhkan kerja yang signifikan!
2.1 Struktur Agent yang Terpikirkan
Saya harus merevisi struktur AI crew beberapa kali, menambahkan peran tambahan, terutama peran "fact_checker". Crew podcast saya saat ini mencakup:
- Content researcher
- Script writer
- Fact checker
- Script editor
- Audio producer
2.2 Penyempurnaan Terus-Menerus
Keberhasilan membutuhkan:
- Mendefinisikan dengan hati-hati tujuan dan tugas setiap agent menggunakan bahasa spesifik industri. Seseorang dengan pengalaman nyata di industri podcast bisa menggunakan bahasa spesifik industri dan bisa meminta setiap agent untuk melakukan tugas yang sangat spesifik. Output-nya akan jauh lebih baik dengan cara itu.
- Selektif dalam akses tool (lebih banyak tidak selalu lebih baik). Agent mudah terjebak dalam loop tanpa akhir.
- Aturan delegasi yang jelas antar agent
- Persyaratan struktur output yang spesifik
- Kriteria kualitas "Seperti apa hasil kerja yang baik" yang terdefinisi dengan jelas (saya bahkan melibatkan putri saya di sini — dia yang kreatif! :D).
Jadi sekali lagi, seperti yang kamu lihat, meskipun menggunakan crew AI agent membantu mempercepat pekerjaan saya secara signifikan (setidaknya 5X dari riset ke scripting, fact check, revisi, pembuatan audio), tetap terserah saya untuk membuat konten berkualitas tinggi.
2.3 Pemilihan model penting
Model LLM yang berbeda punya "kepribadian" yang berbeda dan tingkat kemampuan mengikuti instruksi yang bervariasi. Jadi kamu harus bereksperimen untuk memahami kekuatan dan kelemahan model yang berbeda dan bagaimana mereka cocok dengan kebutuhanmu di setiap langkah proses.
Beberapa observasi:
- Respons API bisa berbeda dari respons antarmuka web chat untuk model yang sama
- Saat ini, saya lebih suka model Anthropic untuk konten panjang menggunakan API. Namun, untuk versi web, saya sebenarnya berpikir claude-3-5-sonnet-20241022 dan GPT-4o setara.
- o1-preview dari OpenAI adalah andalan saya untuk tugas coding
2.4 Feedback dan Memory adalah Game-Changer
Kamu harus memberikan feedback ke crew AI-mu. Mereka bagus dalam mengikuti arahan tapi mereka tidak tahu apa yang kamu mau dan tidak bisa membaca pikiranmu (setidaknya belum haha). Kemampuan untuk melatih crew melalui feedback sangat krusial.
Dengan CrewAI, cukup sederhana untuk melatih crew dan memberikan feedback, hanya dengan menjalankan
crewai train -n <n_iterations> <filename> (optional)
Meskipun saya belum sepenuhnya mengeksplorasi fungsi memory CrewAI, kombinasi feedback dan memory tampaknya sangat powerful untuk menghasilkan output yang konsisten dan berkualitas tinggi.
3. Tunjukkan Hasilnya!
Ok, ok - saya mendengar kamu berkata "Chandler, kamu sudah bicara cukup. Tunjukkan contoh script podcast yang dihasilkan oleh AI crew-mu!"
Ini contoh workflow lengkap:
- Fase Riset: Lihat bagaimana agent Content Researcher menganalisis dan mengekstrak informasi kunci dari postingan blog saya
- Ringkasan Fact Check: Laporan verifikasi detail dari Fact Checker
- Draft Script Awal: Versi pertama percakapan podcast dari Script Writer
- Script Final yang Dipoles: Versi yang disempurnakan Script Editor dengan alur dan keterlibatan yang lebih baik
- Dengarkan Hasilnya: Versi audio final yang diproduksi oleh agent Audio Producer
Setiap tautan di atas menunjukkan progresi dari konten mentah ke podcast yang dipoles, mendemonstrasikan bagaimana agent yang berbeda berkontribusi pada produk akhir.
Meskipun saya masih punya pikiran tentang bagaimana saya bisa meningkatkan seluruh pipeline lebih lanjut, saya harap di atas memberikan gambaran yang bagus tentang apa yang mungkin.
Pemikiran akhir
CrewAI telah mengesankan saya dengan keseimbangannya antara kesederhanaan dan kekuatan. Meskipun ia membuat pembuatan konten lebih mudah diakses, ini bukan tombol ajaib — kualitas tetap membutuhkan keahlian, perencanaan yang cermat, dan penyempurnaan terus-menerus.
Pernahkah kamu bereksperimen dengan framework multi-agent seperti CrewAI atau Langgraph? Saya ingin mendengar apa yang sedang kamu bangun dengannya — silakan tinggalkan komentar atau hubungi.
Salam,
Chandler
Update Jan 2026: Eksperimen CrewAI ini akhirnya menjadi DIALOGUE — aplikasi produksi penuh. Keterbatasan suara yang saya sebutkan di atas? Saya akhirnya beralih ke Gemini TTS, yang memberi saya 30 suara dalam 7 bahasa. Lumayan upgrade dari 6 suara OpenAI! Kalau penasaran, cek di sini.





