CrewAI - Framework AI Multi-Agen
Daftar Isi
Pendahuluan
CrewAI adalah framework mutakhir untuk mengorkestrasi agen AI otonom yang bekerja bersama sebagai tim kolaboratif. Terinspirasi dari dinamika tim di dunia nyata, framework ini memungkinkan pengembang membuat sistem multi-agen yang canggih di mana setiap agen memiliki peran, keahlian, dan seperangkat alat yang spesifik.
Fitur utama CrewAI:
- Agen berbasis peran: Definisikan agen dengan peran, tujuan, dan latar belakang spesifik
- Manajemen tugas: Buat tugas terstruktur dengan output yang diharapkan dan dependensi
- Orkestrasi fleksibel: Mode eksekusi sekuensial, paralel, dan hierarkis
- Ekosistem tool: Kumpulan tool bawaan yang kaya plus pembuatan tool kustom
- Sistem memori: Memori jangka pendek, jangka panjang, dan entitas untuk persistensi konteks
- Delegasi: Agen dapat mendelegasikan tugas ke agen lain saat diperlukan
Sistem multi-agen mengungguli pendekatan agen tunggal untuk tugas kompleks karena memungkinkan spesialisasi, pemrosesan paralel, dan pemecahan masalah kolaboratif — mirip seperti tim manusia.
Dalam tutorial ini, Anda akan belajar cara membuat agen, mendefinisikan tugas, mengorkestrasi crew, mengintegrasikan tool, dan membangun aplikasi multi-agen dunia nyata.
Prasyarat
- Python 3.10 atau lebih tinggi
- Kunci API OpenAI (atau penyedia LLM lain yang didukung)
- Pemahaman dasar tentang Large Language Models (LLM)
- Keakraban dengan pola async Python (untuk eksekusi paralel)
Instalasi dan Pengaturan
# Instal CrewAI dengan semua tool
pip install crewai[tools]
Atau instalasi minimal
pip install crewai
Atur variabel lingkungan
export OPENAIAPIKEY="kunci-openai-api-anda"
Opsional: untuk penyedia LLM lain
export ANTHROPICAPIKEY="kunci-anthropic-anda"
Verifikasi instalasi:
import crewai
print(f"Versi CrewAI: {crewai.version}")
from crewai import Agent, Task, Crew
print("Semua komponen inti berhasil diimpor")
Konsep Dasar
CrewAI dibangun di atas tiga abstraksi inti:
from crewai import Agent, Task, Crew, Process
Crew paling sederhana
agen = Agent(
role="Agen Penyambut",
goal="Menyambut pengguna dengan hangat",
backstory="Anda adalah agen ramah yang menyambut pengguna.",
verbose=True,
)
tugas = Task(
description="Sambut pengguna dan doakan hari yang produktif.",
expectedoutput="Pesan sambutan yang hangat dan personal.",
agent=agen,
)
crew = Crew(
agents=[agen],
tasks=[tugas],
process=Process.sequential,
verbose=True,
)
hasil = crew.kickoff()
print(hasil)
Membuat Agen
Agen adalah pekerja inti dalam CrewAI. Setiap agen harus memiliki peran dan bidang keahlian yang jelas.
from crewai import Agent
from crewaitools import SerperDevTool, WebsiteSearchTool
Agen analis riset
analisriset = Agent(
role="Analis Riset Senior",
goal="Menemukan dan menganalisis tren dan perkembangan terbaru "