Çok ajanlı (multi-agent) bir yapay zeka sistemi kurmak istiyorsunuz. Elinizde üç ana çerçeve var ve her biri tamamen farklı bir felsefeye dayanıyor. Yanlış olanı seçmek haftalarca kaybetmenize yol açabilir.

Bu yazıda CrewAI, LangGraph ve AutoGen’i 8 farklı boyutta gerçek kodlarla, gerçek rakamlarla ve dürüst yorumlarla karşılaştırıyoruz.

Tek Cümlede Üç Felsefe

  • CrewAI: “Ajanlar, rolleri olan takım üyeleridir” (çalışan işe almak gibi)
  • LangGraph: “Ajanlar, bir grafikteki düğümlerdir” (akış şeması çizmek gibi)
  • AutoGen: “Ajanlar, bir konuşmanın katılımcılarıdır” (toplantı yönetmek gibi)

Bunlar küçük farklar değil. Sisteminizi nasıl tasarlayıp kuracağınızı kökten değiştiriyorlar.

Mimari Karşılaştırması

CrewAI: Rol Tabanlı Takımlar

CrewAI, crew (ekip) mantığıyla düşünür: her ajanın bir unvanı, bir hedefi ve araçları olan takımlar.

from crewai import Agent, Task, Crew

# Ajanlar çalışanlar gibidir, her birinin net bir rolü var
researcher = Agent(
    role="Market Research Analyst",
    goal="Find accurate data about competitor pricing",
    backstory="10 years of experience in market analysis",
    llm="claude-sonnet-4-20250514",
    tools=[web_search, document_reader]
)

writer = Agent(
    role="Content Writer",
    goal="Write clear, engaging reports from research data",
    backstory="Technical writer who simplifies complex topics",
    llm="claude-sonnet-4-20250514"
)

# Task'lar ne yapılması gerektiğini tanımlar
research_task = Task(
    description="Research the top 5 competitors and their pricing",
    expected_output="Detailed pricing comparison table",
    agent=researcher
)

writing_task = Task(
    description="Write a one-page summary of the research findings",
    expected_output="Executive summary in markdown",
    agent=writer
)

# Crew, takımı yönetir
crew = Crew(
    agents=[researcher, writer],
    tasks=[research_task, writing_task],
    verbose=True
)

result = crew.kickoff()

Zihinsel model: Bir takım kuran yöneticisiniz. Rolleri tanımlayın, görevleri dağıtın, ekibin çalışmasına izin verin.

LangGraph: Grafik Tabanlı İş Akışları

LangGraph, düğümler ve kenarlar (node ve edge) mantığıyla düşünür: her ajan bir düğümdür, kenarlar akışı belirler.

from langgraph.graph import StateGraph, END
from typing import TypedDict, Annotated

# Paylaşılan state'i tanımla
class ResearchState(TypedDict):
    query: str
    research_data: str
    draft: str
    feedback: str
    revision_count: int

# Her düğüm, state'i işleyen bir fonksiyondur
def research_node(state: ResearchState) -> ResearchState:
    # Konuyu araştırmak için LLM'i çağır
    data = llm.invoke(f"Research: {state['query']}")
    return {"research_data": data.content}

def write_node(state: ResearchState) -> ResearchState:
    # Araştırmaya dayanarak yaz
    draft = llm.invoke(f"Write about: {state['research_data']}")
    return {"draft": draft.content}

def review_node(state: ResearchState) -> ResearchState:
    # Taslağı incele
    feedback = llm.invoke(f"Review this draft: {state['draft']}")
    return {"feedback": feedback.content, "revision_count": state["revision_count"] + 1}

# Revize mi edilecek yoksa bitecek mi karar ver
def should_revise(state: ResearchState) -> str:
    if "approved" in state["feedback"].lower():
        return "end"
    if state["revision_count"] >= 3:
        return "end"  # En fazla 3 revizyon
    return "revise"

# Grafiği oluştur
graph = StateGraph(ResearchState)
graph.add_node("research", research_node)
graph.add_node("write", write_node)
graph.add_node("review", review_node)

# Akışı tanımla
graph.set_entry_point("research")
graph.add_edge("research", "write")
graph.add_edge("write", "review")

# Koşullu kenar: geri döngü ya da bitiş
graph.add_conditional_edges("review", should_revise, {
    "revise": "write",  # Yazmaya geri dön
    "end": END          # Tamamlandı
})

app = graph.compile()
result = app.invoke({"query": "AI trends 2026", "revision_count": 0})

Zihinsel model: Bir akış şeması çiziyorsunuz. Her kutu bir ajan, oklar akışı gösteriyor, eşkenar dörtgenler karar noktaları.

AutoGen: Konuşma Tabanlı

AutoGen, konuşmalar mantığıyla düşünür: ajanlar bir toplantıdaki insanlar gibi birbiriyle konuşur.

from autogen import AssistantAgent, GroupChat, GroupChatManager

# Ajanlar konuşma katılımcılarıdır
researcher = AssistantAgent(
    name="Researcher",
    system_message="""You research topics thoroughly.
    Present findings with data and sources.
    When done, say RESEARCH_COMPLETE.""",
    llm_config=llm_config
)

writer = AssistantAgent(
    name="Writer",
    system_message="""You write clear content based on research.
    Wait for the researcher to finish before writing.
    When done, say DRAFT_COMPLETE.""",
    llm_config=llm_config
)

reviewer = AssistantAgent(
    name="Reviewer",
    system_message="""You review content for accuracy and clarity.
    If changes needed, explain what to fix.
    If approved, say APPROVED.""",
    llm_config=llm_config
)

# Grup sohbeti: ajanlar konuyu tartışır
group_chat = GroupChat(
    agents=[researcher, writer, reviewer],
    messages=[],
    max_round=10,
    speaker_selection_method="round_robin"
)

manager = GroupChatManager(groupchat=group_chat, llm_config=llm_config)

# Konuşmayı başlat
result = researcher.initiate_chat(
    manager,
    message="Research and write about AI coding trends in 2026"
)

Zihinsel model: Bir toplantı odası hazırlıyorsunuz. Kimin katılacağını, neyi tartışacaklarını tanımlayın ve konuşmanın akmasına izin verin.

Kafa Kafaya Karşılaştırma

1. Öğrenme Eğrisi

CrewAILangGraphAutoGen
İlk çalışan ajana varış süresi30 dakika2-3 saat1-2 saat
Dokümantasyon kalitesiİyiMükemmelOrta
Öğrenilmesi gereken kavramlarAgent, Task, CrewState, Node, Edge, ConditionAgent, GroupChat, Speaker
ZorlukDüşükYüksekOrta

Kazanan: CrewAI. Minimum kodla 30 dakikada çalışan bir çok ajanlı sisteminiz olabilir.

2. Kontrol ve Esneklik

CrewAILangGraphAutoGen
İş akışı kontrolüSıralı ya da paralelTam grafik kontrolüKonuşma akışı
Koşullu mantıkTemel (görev bağımlılıkları)Gelişmiş (her türlü dallanma)Konuşma üzerinden
Retry/döngüYerleşikÖzel (koşullu kenarlar)Konuşma turları üzerinden
İnsan onayı (human-in-the-loop)DestekleniyorMükemmelDestekleniyor
State yönetimiTemelGelişmiş (kaydet, tekrar oynat, incele)Konuşma geçmişi

Kazanan: LangGraph. Koşullu mantığa, retry döngülerine ya da karmaşık dallanmaya ihtiyacınız varsa, LangGraph’ın grafik tabanlı yaklaşımına rakip yok.

3. Performans ve Maliyet

CrewAILangGraphAutoGen
Token verimliliğiİyiEn iyiDüşük (konuşma yükü)
Görev başına gecikmeDüşükDüşükYüksek (çok turlu konuşmalar)
Tipik çalıştırma maliyeti0,10-0,50 $0,10-4,00 $ (döngülere bağlı)0,20-1,00 $
Paralel çalıştırmaVarVarSınırlı

Kazanan: Basit görevlerde CrewAI, karmaşık görevlerde LangGraph. AutoGen daha fazla token tüketir çünkü ajanlar tam konuşmalar yapar; her mesaj context’e ekleniyor.

LangGraph döngülerine dikkat edin. 11 kez tekrar eden bir inceleme döngüsü API çağrılarında 4 doların üzerine çıkabilir. Her zaman bir max_revisions sınırı koyun.

4. Hata Ayıklama ve Gözlemlenebilirlik

CrewAILangGraphAutoGen
LoglamaTemel (verbose mod)Mükemmel (LangSmith entegrasyonu)Konuşma logları
State incelemesiSınırlıHer adımda tam stateSohbet geçmişi
Replay/devam etmeYokVar (herhangi bir kontrol noktasından)Yok
Hata izlemeTask seviyesiNode seviyesi, tam state ileMesaj seviyesi

Kazanan: LangGraph. LangSmith entegrasyonu her adımda ne olduğuna tam görünürlük sağlıyor. İş akışlarını duraklatıp inceleyip devam ettirebilirsiniz. Bu, üretim ortamında büyük önem taşıyor.

5. Üretime Hazır Olma

CrewAILangGraphAutoGen
KararlılıkİyiÇok kararlıBelirsiz
Aktif geliştirmeÇok aktifÇok aktifBüyük yeniden yazım (0.4)
Kurumsal benimsemeArtıyorGüçlüAzalıyor
ToplulukBüyük, büyüyorBüyük, büyüyorÖnceden büyüktü, küçülüyor

Not: Microsoft, AutoGen’i önemli ölçüde yeniden yapılandırdı. AutoGen 0.4, tam bir mimari yeniden yazımdı. Çerçeve hâlâ aktif olsa da, bu yeniden yapılanma ve daha geniş Microsoft Agent Framework’e kayış, ekosistemin dalgalı olduğu anlamına geliyor. Büyük bir projeye başlamadan önce güncel durumu kontrol edin.

Kazanan: Kurumsal kullanımda LangGraph, startuplarda CrewAI.

6. Entegrasyon Ekosistemi

CrewAILangGraphAutoGen
LLM sağlayıcılarıTüm büyükler (OpenAI, Anthropic vb.)Tüm büyükler + LangChain ekosistemiTüm büyükler
Araç entegrasyonuYerleşik araç sistemiLangChain araçlarıFunction calling
MCP desteğiToplulukBüyüyorSınırlı
Özel araçlarKolayKolayKolay

Üçü de büyük LLM sağlayıcılarını destekliyor. LangGraph, LangChain ekosisteminden (binlerce hazır entegrasyon) faydalanıyor.

Gerçek Dünya Kullanım Örnekleri

CrewAI’yi Şu Durumlarda Kullanın:

İçerik pipeline’ı:

Araştırmacı → Yazar → Editör → Yayıncı

Her ajanın net bir rolü var. Görevler sırayla akıyor. CrewAI bunu çok iyi yönetiyor.

Müşteri destek otomasyonu:

Sınıflandırıcı Ajan → Yönlendirici → Uzman Ajan → Yanıt Ajanı

Talebi sınıflandır, doğru uzmana yönlendir, yanıt üret.

Kod üretimi:

Mimar → Geliştirici → Test Uzmanı

Çözümü planla, kodu yaz, test et.

LangGraph’ı Şu Durumlarda Kullanın:

Retry mantığı olan karmaşık iş akışları:

Araştır → Yaz → İncele → (onaylandı mı? → yayınla) veya (reddedildi mi? → yeniden yaz → incele)

Koşullu döngü, LangGraph’ın parladığı yer.

State’li pipeline’lar:

Sipariş işle → Doğrula → (ödeme başarısızsa → 3 kez yeniden dene) → (stok azsa → bildir) → Gönder

Her adımın öncesinde ne olduğunu bilmesi gerekiyor. LangGraph state’i kalıcı tutar.

İnsan onaylı süreçler:

Yapay zeka üretir → İnsan inceler → (onayla → yayınla) veya (reddet → yapay zeka revize eder)

İş akışını duraklat, insan girdisini bekle, devam et.

AutoGen’i Şu Durumlarda Kullanın:

Beyin fırtınası ve tartışma:

Birden fazla ajan bir problemi tartışır, birbirine meydan okur, fikir birliğine varır

AutoGen’in konuşma modeli bunun için en doğal seçim.

Kod incelemesi (konuşmalı):

Geliştirici kodu sunar → İnceleyen eleştirir → Geliştirici yanıtlar → tekrarla

Karşılıklı konuşma deseni, kod incelemesine uyuyor.

Araştırma sentezi:

Birden fazla araştırmacı bulgularını sunar → tek bir rapora sentezlenir

Kurulum ve Başlangıç

CrewAI

pip install crewai crewai-tools

Başlaması en hızlı olan. Agent, task, crew oluştur, çalıştır.

LangGraph

pip install langgraph langchain-anthropic

Daha fazla kurulum ama daha fazla kontrol. State, node, edge tanımla, derle ve çalıştır.

AutoGen

pip install autogen-agentchat

AutoGen’i seçmeden önce güncel geliştirme durumunu kontrol edin. Alternatif olarak Microsoft Agent Framework’ü değerlendirin.

Karar Şeması

Sizin için en önemlisi ne?

Hızlı prototip → CrewAI
   └── Basit, doğrusal iş akışları → CrewAI
   └── Paralel ajan ihtiyacı → CrewAI

Kontrol ve hata ayıklama → LangGraph
   └── Karmaşık dallanma mantığı → LangGraph
   └── State kalıcılığı ihtiyacı → LangGraph
   └── Üretim sistemi → LangGraph

Konuşmalı ajanlar → AutoGen
   └── Tartışma/beyin fırtınası → AutoGen
   └── Yinelemeli iyileştirme → AutoGen
   └── (Güncel durumu kontrol edin, büyük yeniden yazım sürüyor)

Dürüst Tavsiyem

Bugün Başlıyorsanız

CrewAI ile başlayın. Küçük bir şey inşa edin: iki ajanlı bir içerik pipeline’ı ya da bir kod üretim takımı. Çok ajanlı kavramlara alışın. Daha fazla kontrole ihtiyaç duyduğunuzda daha sonra LangGraph’a geçebilirsiniz.

Üretim İçin İnşa Ediyorsanız

LangGraph kullanın. Grafik modeli, state kalıcılığı ve LangSmith hata ayıklaması üretim sistemleri için gerekli. Öğrenme eğrisi buna değer.

Konuşmalara İhtiyacınız Varsa

AutoGen’i deneyin, ama mimari değişikliklerin farkında olun. AutoGen 0.4 büyük bir yeniden yazımdı, öğrendiğiniz API’lerin güncel olduğundan emin olun.

Büyüyen Alternatif: Claude Code’un Ajan Ekipleri

Zaten Claude Code kullanıyorsanız, ayrı bir çerçeve benimsemeden önce onun yerleşik ajan ekiplerini (agent teams) değerlendirin. Herhangi bir çerçeve kurulumu yapmadan birçok çok ajanlı kullanım durumunu karşılıyor.

Türkiye’de Çok Ajanlı Çerçevelerin Durumu

Türkiye’deki yapay zeka topluluğunda ve startup ekosisteminde çok ajanlı çerçeveler henüz erken benimseme aşamasında. LangChain ve LangGraph, Türkçe kaynaklı geliştirici topluluklarında (Discord sunucuları, LinkedIn’deki yapay zeka grupları) en çok konuşulan seçenek çünkü dokümantasyonu en olgun ve İngilizce kaynak en bol olan taraf. CrewAI, hızlı prototip üreten küçük Türkiye merkezli yapay zeka ajansları ve serbest geliştiriciler arasında popülerlik kazanıyor çünkü müşteriye “çalışan bir demo” göstermek için gereken süre çok kısa. AutoGen’in Türkiye’deki kullanımı görece sınırlı kalıyor, kısmen Microsoft’un mimari yeniden yazımı nedeniyle, kısmen de Azure OpenAI hizmetlerine Türkiye’den erişimin bazı kurumsal müşteriler için hâlâ ek yapılandırma gerektirmesi yüzünden. Bir çerçeve seçerken, ekibinizin İngilizce teknik dokümantasyonu rahat okuyabilmesi de pratik bir faktör: LangGraph’ın öğrenme eğrisi, resmi dokümantasyon dışında güvenilir Türkçe kaynak neredeyse hiç olmadığı için Türkiye’deki ekipler için biraz daha dik hissettiriyor.

Hızlı Özet

CrewAILangGraphAutoGen
FelsefeTakım rolleriGrafik iş akışıKonuşmalar
En iyi olduğu alanHızlı prototip, doğrusal akışlarÜretim sistemleri, karmaşık mantıkTartışma, beyin fırtınası
Öğrenme eğrisiDüşükYüksekOrta
Token verimliliğiİyiEn iyiDüşük
Hata ayıklamaTemelMükemmel (LangSmith)Konuşma logları
Aktif geliştirmeÇok aktifÇok aktifBüyük yeniden yazım (0.4)
Buradan başlayınEvet (yeni başlayanlar)Evet (üretim)Belki (durumu kontrol edin)

İlgili Yazılar