Dipublikasikan 12 Juni 2026
CrewAI adalah framework open source yang memungkinkan developer untuk membangun tim AI agent yang bisa bekerja sama menyelesaikan tugas kompleks. Berbeda dengan single-agent assistant, CrewAI mengorganisir beberapa agent dengan role spesifik yang bisa berkolaborasi seperti tim manusia. Artikel ini akan membahas tutorial membangun workflow automation menggunakan CrewAI dengan Ollama sebagai backend LLM lokal, tanpa perlu API key pihak ketiga.
CrewAI dibangun di atas konsep role-based collaboration. Setiap agent diberikan role, goal, dan backstory yang menentukan bagaimana agent tersebut berperilaku. Sebagai contoh, dalam project software development, bisa ada agent sebagai Senior Developer, Code Reviewer, dan Technical Writer. Agent-agent ini berkomunikasi melalui task delegation yang diatur oleh framework.
Komponen utama CrewAI terdiri dari Agent, Task, Tools, dan Crew. Agent adalah entity yang melakukan pekerjaan. Task adalah unit kerja yang harus diselesaikan. Tools adalah kemampuan eksternal seperti web search, file I/O, atau API call. Crew adalah orchestrator yang mengatur urutan eksekusi dan delegasi antar agent. Konsep ini mirip dengan manajemen tim Agile, namun dieksekusi oleh AI agent yang bekerja 24 jam tanpa lelah.
Sebelum memulai, pastikan Python 3.10 atau lebih baru telah terpasang. Install CrewAI dan ekstensi tools:
pip install crewai crewai-toolsSelanjutnya, install Ollama untuk menjalankan model LLM secara lokal. Ollama mendukung berbagai model open source seperti Llama 3, Mistral, dan Phi. Unduh Ollama dari situs resmi atau gunakan command line:
curl -fsSL https://ollama.com/install.sh | shSetelah instalasi, pull model yang ingin digunakan. Untuk tutorial ini, gunakan Llama 3 8B yang cukup ringan dan responsif:
ollama pull llama3:8bVerifikasi Ollama berjalan dengan benar melalui:
ollama run llama3:8b "Hello, are you working?"Jika output muncul tanpa error, berarti Ollama telah terkonfigurasi dengan benar. Untuk hardware dengan GPU NVIDIA, pastikan driver CUDA telah terpasang agar inference berjalan lebih cepat. Ollama otomatis mendeteksi GPU dan meng offload computation ke GPU jika tersedia.
Buat file Python baru, misalnya crew.py, dan definisikan agent-agent yang akan bekerja. Berikut contoh tim untuk automation konten blog:
from crewai import Agent
researcher = Agent(
role="Content Researcher",
goal="Mencari topik trending di bidang teknologi yang relevan untuk developer Indonesia",
backstory="Seorang researcher yang ahli dalam menganalisis tren teknologi.",
verbose=True,
allow_delegation=False,
llm="ollama/llama3:8b"
)
writer = Agent(
role="Technical Writer",
goal="Menulis artikel tutorial 800 kata dengan bahasa Indonesia yang jelas",
backstory="Writer dengan pengalaman menulis dokumentasi teknis.",
verbose=True,
allow_delegation=True,
llm="ollama/llama3:8b"
)
editor = Agent(
role="Content Editor",
goal="Mereview artikel dan memastikan tidak ada kesalahan teknis",
backstory="Editor senior yang teliti dalam memeriksa code snippet.",
verbose=True,
allow_delegation=False,
llm="ollama/llama3:8b"
)Parameter allow_delegation=True memungkinkan agent mendelegasikan sub-task ke agent lain. Ini berguna untuk writer yang membutuhkan data tambahan dari researcher saat menulis. Backstory yang detail akan membantu model LLM memahami nuansa dan konteks yang diperlukan saat menghasilkan output.
Task di CrewAI memiliki atribut seperti description, expected_output, dan agent. Buat task yang saling berurutan:
from crewai import Task
research_task = Task(
description="Cari 3 topik tutorial tentang framework JavaScript yang sedang naik daun.",
expected_output="Daftar 3 topik dengan penjelasan singkat.",
agent=researcher
)
writing_task = Task(
description="Tulis artikel tutorial lengkap untuk topik nomor 1.",
expected_output="Artikel 800 kata dengan code snippet.",
agent=writer
)
editing_task = Task(
description="Review artikel dan berikan saran perbaikan.",
expected_output="Artikel final yang siap dipublish.",
agent=editor
)Task bisa dihubungkan menggunakan parameter context agar output dari task sebelumnya menjadi input untuk task berikutnya. Ini memungkinkan workflow yang lebih dinamis dan kontekstual.
Setelah agent dan task didefinisikan, susun Crew dan jalankan:
from crewai import Crew, Process
blog_crew = Crew(
agents=[researcher, writer, editor],
tasks=[research_task, writing_task, editing_task],
process=Process.sequential,
verbose=True
)
result = blog_crew.kickoff()
print(result)Proses Process.sequential menjalankan task satu per satu sesuai urutan. Alternatifnya adalah Process.hierarchical yang menggunakan manager agent untuk mengatur delegasi dinamis. Pilih sequential untuk workflow yang linear dan predictable. Hierarchical lebih cocok untuk project yang kompleks dengan banyak dependensi antar task.
CrewAI mendukung integrasi tools untuk memperluas kemampuan agent. Misalnya, tambahkan web search untuk researcher agar bisa mengakses data terbaru dari internet:
from crewai_tools import SerperDevTool, ScrapeWebsiteTool
search_tool = SerperDevTool()
scrape_tool = ScrapeWebsiteTool()
researcher = Agent(
role="Content Researcher",
goal="Mencari topik trending di bidang teknologi",
backstory="...",
tools=[search_tool, scrape_tool],
llm="ollama/llama3:8b"
)Untuk penggunaan lokal tanpa API key berbayar, gunakan custom tool dengan library seperti duckduckgo-search atau beautifulsoup4 untuk scraping. Tools custom di CrewAI didefinisikan dengan class yang meng-extend BaseTool. Dengan custom tools, agent bisa mengakses database internal, API perusahaan, atau bahkan sistem file lokal sesuai kebutuhan.
Untuk production, deploy CrewAI sebagai service dengan scheduler. Gunakan APScheduler atau Celery untuk menjalankan crew secara periodik. Simpan hasil output ke database atau file system:
from apscheduler.schedulers.background import BackgroundScheduler
scheduler = BackgroundScheduler()
scheduler.add_job(blog_crew.kickoff, "cron", hour=6, minute=0)
scheduler.start()Monitoring bisa dilakukan dengan logging verbose yang sudah built-in di CrewAI. Setiap step agent akan dicatat dengan detail, sehingga developer bisa melacak bagian mana yang memerlukan optimasi atau perbaikan prompt. Untuk production monitoring, pertimbangkan untuk mengirim log ke sistem seperti ELK Stack atau Grafana Loki agar analisis lebih komprehensif.
CrewAI membuka kemungkinan baru dalam membangun sistem automation yang berbasis tim AI agent. Dengan Ollama sebagai backend lokal, developer tidak perlu khawatir tentang biaya API atau privasi data. Kombinasi role-based agent, sequential task, dan custom tools menghasilkan workflow yang powerful dan fleksibel.
Untuk mempelajari lebih lanjut, kunjungi dokumentasi resmi CrewAI atau eksplorasi repository CrewAI di GitHub. Juga jangan lupa cek situs Ollama untuk daftar model yang tersedia secara lokal.
Dapatkan feedback, users, dan eksposur dari komunitas kreator, developer, dan entrepreneur digital Indonesia.
Submit Produk → Pelajari Dulu