Memilih framework AI agent yang tepat membutuhkan pemahaman mendalam tentang arsitektur di baliknya. Artikel ini membedah perbedaan teknis antara LangGraph, AutoGen, dan CrewAI dalam hal state management, pola orkestrasi, serta kecocokan skenario aplikasi.
Prasyarat dan Asumsi Versi
Asumsi lingkungan pengembangan yang digunakan:
- Python 3.10 atau lebih baru
- LangGraph 0.2.x
- AutoGen 0.2.x / 0.4.x
- CrewAI 0.70.x
Peringatan Keamanan: Jangan simpan API key (seperti OPENAI_API_KEY) di dalam source code. Gunakan environment variable atau secret manager di lingkungan produksi.
1. Lanskap Arsitektur AI Agent
Setiap framework membawa filosofi desain yang berbeda untuk memecahkan masalah kompleksitas agen AI:
- LangGraph: Pendekatan berbasis Graph State Machine. Agen dan tools diwakili sebagai node, sedangkan transisi logika diwakili sebagai edge.
- AutoGen: Pendekatan berbasis Conversational Multi-Agent. Interaksi antar agen dimodelkan sebagai pertukaran pesan (message passing) dalam dialog.
- CrewAI: Pendekatan berbasis Role-Based Orchestration. Menggabungkan konsep peran, tugas (task), dan proses sekuensial atau hierarkis.
2. Perbedaan State Management
State management menentukan bagaimana data dan memori dipertahankan antar langkah eksekusi.
LangGraph (Centralized State Machine)
State dikelola secara terpusat menggunakan skema eksplisit (TypedDict atau Pydantic). Setiap node menerima state saat ini dan mengembalikan update state.
from typing import TypedDict, Annotated
import operator
class AgentState(TypedDict):
messages: Annotated[list, operator.add]
current_step: strAutoGen (Distributed Conversational State)
State tersebar di dalam riwayat percakapan masing-masing agen. State dievaluasi berdasarkan konteks pesan terakhir yang diterima oleh agent.
from autogen import AssistantAgent, UserProxyAgent
assistant = AssistantAgent("assistant", llm_config={"config_list": config_list})
user_proxy = UserProxyAgent("user_proxy", code_execution_config={"work_dir": "coding"})CrewAI (Task Context Pipeline)
State dikelola melalui konteks tugas (task output). Hasil dari satu task secara otomatis diteruskan sebagai input ke task berikutnya dalam pipeline.
from crewai import Agent, Task, Crew, Process
researcher = Agent(role="Researcher", goal="Riset topik", backstory="Pakar analisis")
task1 = Task(description="Cari tren AI 2025", agent=researcher)
crew = Crew(agents=[researcher], tasks=[task1], process=Process.sequential)3. Pola Orkestrasi: Cyclic vs Acyclic
Alur eksekusi menentukan tingkat kontrol dan fleksibilitas sistem.
- Cyclic (LangGraph): Mendukung loop perulangan (reflection, human-in-the-loop, retry mechanism) secara native. Sistem dapat kembali ke node sebelumnya berdasarkan kondisi dynamic edge.
- Acyclic / Conversational Loop (AutoGen): Orkestrasi berjalan dinamis berdasarkan aturan percakapan. Loop terjadi ketika agen saling membalas pesan hingga kondisi berhenti terpenuhi.
- Sequential / Hierarchical (CrewAI): Orkestrasi terstruktur dari atas ke bawah. Mendukung alur kerja lurus (DAG) atau hirarki manajer-bawahan untuk delegasi tugas.
4. Skenario Penggunaan yang Cocok
Gunakan LangGraph jika:
- Membutuhkan kontrol penuh atas kontrol flow dan cabang logika terstruktur.
- Memerlukan fitur Human-in-the-loop dan penanganan error/retry berbasis state.
- Sistem bersifat deterministic state machine dengan siklus iterasi yang ketat.
Gunakan AutoGen jika:
- Aplikasi berfokus pada simulasi multi-agen, negosiasi, atau kolaborasi bebas.
- Membutuhkan fitur eksekusi kode otomatis di lingkungan terisolasi (sandbox).
- Arsitektur aplikasi berbasis event-driven message passing.
Gunakan CrewAI jika:
- Ingin membangun prototype atau alur kerja operasional bisnis dengan cepat.
- Tugas-tugas memiliki spesifikasi peran (role-based) yang jelas.
- Diperlukan integrasi cepat dengan tools bawaan dan pustaka LangChain.
Checklist Ringkas Pemilihan Framework
- Gunakan LangGraph untuk sistem kritis skala enterprise dengan workflow kompleks dan state terpusat.
- Gunakan AutoGen untuk riset, eksekusi kode, dan interaksi inter-agen yang dinamis.
- Gunakan CrewAI untuk otomasi alur kerja tim, role-playing, dan pencapaian target produksi secara efisien.
