AI Otomasyon

CrewAI vs LangGraph: Çoklu Ajan (Multi-Agent) Mimarileri Nasıl Kurulur?

Birden fazla AI ajanının (araştırmacı, yazar, denetçi, kodlayıcı) senkronize çalışarak karmaşık iş süreçlerini otonom tamamlamasını sağlayan kütüphanelerin analizi.

Güncellendi: 9 Eylül 20265 dk
Paylaş:XLinkedIn

Özet & Doğrudan Çözüm (TL;DR)

CrewAI ve LangGraph, karmaşık iş süreçlerini tek bir devasa prompt yerine uzmanlaşmış roller üstlenen çoklu yapay zeka ajanlarına (Multi-Agent Swarm) paylaştıran iki lider mimaridir. CrewAI rol tabanlı işbirlikçi ekipler için hızlı ve beyin fırtınası odaklı bir soyutlama sunarken; LangGraph döngüsel durum makineleri (StateGraph), insan onayı kapıları (Human-in-the-loop) ve deterministik hata toleransı için kurumsal standarttır.

Önemli Çıkarımlar:

  • Rol Tabanlı İş Bölümü: Araştırmacı, Veri Analisti, Kodlayıcı ve Kalite Denetçisi gibi uzman ajanların orkestrasyonu.
  • LangGraph Durum Makinesi: Koşullu kenarlar (Conditional Edges), geri alma (Time-travel checkpointing) ve deterministik akış.
  • Halüsinasyon İzolasyonu: Bir ajanın hatası diğer ajan tarafından denetlenip geri çevrilerek genel hata payı %80 azaltılır.
  • Kurumsal Entegrasyon: LangGraph veritabanı persistence ve checkpointing ile uzun süren iş akışlarını güvenle yürütür.

1. Neden Tek Bir Büyük Prompt Değil de Çoklu Ajan?

Tek bir prompt içine tüm kuralları ve yüzlerce satırlık iş mantığını yığdığınızda, LLM'ler dikkat dağılması (attention distraction) yaşar ve kritik adımları atlar.

Çoklu ajan (Multi-Agent) mimarisinde ise her ajan dar ve uzmanlaşmış bir role sahiptir. Örneğin: Araştırmacı Ajan sadece veriyi toplar; Denetçi Ajan kaynakları doğrular; Yazıcı Ajan ise onaylı veriden nihai raporu üretir. Bir ajanın çıktısı diğerinin girdisi olur.

2. LangGraph ile Durum Makinesi (StateGraph) Kurulumu

LangGraph, ajanlar arası veri akışını Python tip tanımlı bir durum nesnesi (TypedDict) üzerinde döngüsel bir graf olarak yönetir:

langgraph_agent_flow.py
from typing import TypedDict, Annotated, Sequence
import operator
from langgraph.graph import StateGraph, END

class AgentState(TypedDict):
    input_task: str
    draft_code: str
    review_feedback: str
    is_approved: bool

def coder_node(state: AgentState) -> AgentState:
    # Kod yazan ajan mantığı...
    return {"draft_code": "def solution(): return True"}

def reviewer_node(state: AgentState) -> AgentState:
    # Kodu denetleyen ajan mantığı...
    has_bugs = False
    return {
        "review_feedback": "Kod standartlara uygun." if not has_bugs else "Hatalar var.",
        "is_approved": not has_bugs
    }

def should_continue(state: AgentState) -> str:
    return END if state.get("is_approved") else "coder"

# Graf oluşturma
workflow = StateGraph(AgentState)
workflow.add_node("coder", coder_node)
workflow.add_node("reviewer", reviewer_node)
workflow.set_entry_point("coder")
workflow.add_edge("coder", "reviewer")
workflow.add_conditional_edges("reviewer", should_continue, {"coder": "coder", END: END})

app = workflow.compile()

3. CrewAI vs LangGraph: Hangisi Tercih Edilmeli?

Eğer amacınız hızlıca bir pazar araştırması veya içerik üretim ekibi kurup 30 satır kodla ayağa kaldırmaksa CrewAI sezgisel ve hızlıdır.

Ancak bankacılık, ERP entegrasyonu, ödeme sistemleri ve insan onay kapısı (human-in-the-loop) gerektiren deterministik süreçlerde LangGraph'ın durum yönetimi ve hata toleransı kesin tercihtir.

Sıkça Sorulan Sorular

Çoklu ajan sistemlerinde token maliyeti fırlar mı?

Evet. Ajanlar birbirleriyle konuştukça token tüketimi katlanabilir. Bunu önlemek için küçük modeller (Gemini Flash, GPT-4o-mini) ara adımlarda, büyük akıl yürütme modelleri ise yalnızca nihai denetim aşamasında kullanılmalıdır.

Ajanlar birbirini sonsuz döngüye sokarsa ne yapılır?

Graf tanımında maksimum yineleme sayısı (`recursion_limit`) belirlenerek sonsuz döngüler programatik olarak engellenir.

Doğrulanmış Kaynaklar ve Dokümantasyon

İlgili Teknik Rehberler

Bu mimariyle bağlantılı diğer üretim odaklı rehber ve vaka analizlerini inceleyin: