Ana içeriğe atla

CrewAI vs LangGraph vs AutoGen: Doğru Çoklu Aracılı Yapay Zekâ Çerçevesini Seçmek

CrewAI, LangGraph ve AutoGen'in çoklu aracılı yapay zekâya nasıl yaklaştığını öğrenin. İhtiyaçlarınıza en uygun olanı bulmak için iş akışları, bellek, ölçeklenebilirlik ve iş birliği açısından farklarını keşfedin.
Güncel 16 Nis 2026  · 15 dk. oku

Bu eğitimde, üç önde gelen çoklu aracılı yapay zekâ çerçevesinin ayrıntılı bir karşılaştırmasını adım adım anlatacağım: CrewAI, LangGraph ve AutoGen. Son bir yılda çoklu aracılı sistemler etrafındaki tartışmalar hızla büyüdü ve bunun iyi bir nedeni var. Yapay zekâ olgunlaştıkça, tek bir akıllı aracıyla uygulama geliştirmek çoğu zaman yetersiz kalıyor. Bunun yerine, her biri belirli rol ve sorumluluklara sahip birden fazla aracıyı orkestre etmenin daha uyarlanabilir ve güvenilir çözümler sunduğunu geliştiriciler keşfediyor.

Bu karşılaştırmanın önemi, her çerçevenin çoklu aracı koordinasyonu sorununa nasıl yaklaştığında yatıyor. CrewAI, gerçek dünyadaki organizasyon yapılarından esinlenen rol tabanlı bir model benimserken LangGraph grafik tabanlı bir iş akışı yaklaşımını benimser ve AutoGen ise sohbet temelli iş birliğine odaklanır. Her çerçeve, kendine özgü tasarım felsefeleri, güçlü yanları ve ödünleşimleri sunar. 

Bu eğitimdeki amacım, bu farkları uygulamalı açıklamalar ve özlü örneklerle vurgulamak; böylece projeniz için seçim yaparken bilinçli bir karar verebilmenizdir.

Yapay zekâ uygulamalarına yeniyseniz, AI Fundamentals, Developing AI Applications veya Retrieval Augmented Generation (RAG) with LangChain gibi kurslarımızdan birini almayı düşünebilirsiniz. 

Yapay Zekâ Aracısı Nedir?

Çerçevelere dalmadan önce, bu bağlamda aracının ne anlama geldiğini açıklayarak zemin hazırlayayım. Çoklu aracılı yapay zekâ çerçevelerinde bir aracı, büyük bir dil modelinin etrafına sarılı bir istem sarmalayıcısından fazlasıdır. Tanımlı bir role, kullanabileceği araçlara, erişebileceği belleğe ve izlediği davranışlara sahip özerk bir varlıktır. Aracılar, tek başına çalışabilir veya diğer aracılarla iş birliği yaparak tek bir aracının tek başına üstesinden gelemeyeceği kadar karmaşık sorunları çözebilir.

Bir aracıyı hem karar verici hem de işbirlikçi olarak düşünürüm. Girdi alır, bunun üzerine akıl yürütür, eylemler gerçekleştirir (bazen harici araçlar aracılığıyla) ve gerektiğinde diğer aracılarla iletişim kurar. 

Örneğin, bir aracı verileri toplamakla, bir diğeri bunları analiz etmekle ve bir başkası sonuçları raporlamakla sorumlu olabilir. Birlikte, işbirlikçi bir zekâ sistemi oluştururlar.

Ancak aracılar her zaman en iyi seçenek değildir. İş akışınız tek bir API'den veri çekmek ve sonuçları görüntülemek gibi basitse, basit bir betik veya tek aracılı orkestrasyon daha verimli olabilir. Çoklu aracılı sistemler; koordinasyon, uzmanlaşma veya dinamik uyum gerektiren görevlerde parıldar.

Çoklu Aracılı Yapay Zekâ Çerçevelerini Anlamak

Çoklu aracılı çerçeveler, tek aracılı paradigmadan iş birliği, delege etme ve uyarlanabilir iş akışlarını destekleyen sistemlere doğru genişler. Farklı aracıların bir sorunun parçalarında uzmanlaştığı ve genel bir hedefe ulaşmak için iletişim kurduğu işbirlikçi zekâ fikrini hayata geçirirler. 

Bu yaklaşım, orkestrasyon katmanı altında birlikte çalışan uzmanlarla organizasyonlardaki ekiplerin çalışma biçimini yansıtır.

Bu çerçevelerin temel bileşenleri genellikle durum yönetimi, iletişim protokolleri ve bellek sistemlerini içerir. Bellek, özellikle önemlidir çünkü aracılara geçmiş etkileşimleri hatırlama ve bilgili kararlar verme olanağı tanır. 

Kısa vadeli bellek, aracılara anlık etkileşimler sırasında bağlamı koruma imkânı verir. Uzun vadeli bellek, geçmiş deneyimlerden öğrenmeyi ve bilgi tabanları oluşturmayı sağlar. Kalıcı bellek, önemli bilgilerin sistem yeniden başlatmalarından sağ çıkmasını ve oturumlar arasında erişilebilir olmasını temin eder.

Bu bileşenleri etkinleştirerek, çoklu aracılı çerçeveler, iş akışı otomasyonundan araştırma analizine kadar uzanan sorunları ele alabilen esnek mimarileri destekler. Hangi çerçevenin seçileceği, projenizin ne kadar kontrol, esneklik ve ölçeklenebilirlik gerektirdiğine bağlıdır.

CrewAI, LangGraph ve AutoGen'e Genel Bakış

Artık aracılar ve çoklu aracılı çerçeveler hakkında ortak bir anlayışa sahip olduğumuza göre, karşılaştırmamızın üç konusunu kısaca tanıtalım.

CrewAI, işyeri esinli bir metaforla rol tabanlı iş birliğine vurgu yapar. Her aracının belirlenmiş bir rolü, sorumlulukları ve araçlara erişimi vardır; bu da sistemi ekip tabanlı iş akışları için sezgisel kılar. 

Çerçeve, rol ve sorumlulukların net olduğu görev odaklı iş birliğinde başarılıdır ve verimli yürütmeyi sağlar. CrewAI'nin gücü, aracı koordinasyonuna sezgisel yaklaşımında ve yaygın iş akışı kalıpları için yerleşik desteğinde yatar.

LangGraph, aracı etkileşimlerini yönlendirilmiş bir grafikte düğümler olarak ele alan grafik tabanlı bir iş akışı tasarımı benimser. Bu mimari yaklaşım, koşullu mantık, dallanan iş akışları ve dinamik uyumla karmaşık karar hatları için olağanüstü esneklik sağlar. 

LangGraph, birden çok karar noktası ve paralel işleme yetenekleri gerektiren senaryolarda öne çıkar.

AutoGen, doğal dil etkileşimlerine ve dinamik rol yapmaya vurgu yapan sohbet temelli aracı mimarisine odaklanır. Çerçeve, bağlama göre rollerini uyarlayabilen aracılarla, sohbet odaklı esnek iş akışları oluşturmada başarılıdır. AutoGen'in gücü, doğal dil etkileşiminin kritik olduğu hızlı prototipleme ve insani denetim döngülerinde yatar.

CrewAI, LangGraph ve AutoGen'e Genel Bakış

CrewAI, LangGraph ve AutoGen'e Genel Bakış

Derinlemesine Karşılaştırma: CrewAI vs LangGraph vs AutoGen

Her çerçeve, çoklu aracı orkestrasyonuna benzersiz bir açıdan yaklaşır. CrewAI rol atamasına, LangGraph iş akışı yapısına ve AutoGen sohbete ağırlık verir. 

Bu farklar, geliştiricilerin sistemlerini nasıl tasarladığını, yönettiğini ve ölçeklendirdiğini etkiler; seçim yapmadan önce bunları anlamak kritiktir. 

Haydi bu farkları, mimariden başlayarak birkaç önemli boyut boyunca inceleyelim.

Mimari farklar

Mimari, her çerçevenin temelidir. CrewAI, aracılarının belirli sorumlulukları olan çalışanlar gibi davrandığı rol tabanlı bir modeli izler. Bu, iş akışlarını ekip çalışması açısından görselleştirmeyi kolaylaştırır. 

Buna karşılık LangGraph, iş akışlarını düğüm ve kenarlar olarak temsil eden grafik tabanlı orkestrasyona odaklanır ve son derece modüler, koşullu yürütmeyi mümkün kılar. 

AutoGen ise farklı bir yol izler; etkileşimleri aracılar ya da aracılarla insanlar arasındaki sohbetler olarak modeller ve doğal, diyalog odaklı bir akış oluşturur.

Kullanım kolaylığı

Kullanım kolaylığı söz konusu olduğunda, CrewAI rolleri ve görevleri düşünen herkes için sezgiseldir. Basitçe hedeflere sahip aracılar tanımlar ve onların iş birliği yapmasına izin verirsiniz. 

LangGraph, grafik tasarımını derinlemesine anlamayı gerektirir; bu bir öğrenme eğrisi yaratabilir ancak iş akışı mantığı üzerinde daha fazla kontrol sağlar. 

AutoGen özünde sohbet odaklıdır; küçük projelere başlamayı kolaylaştırırken yinelemeli geliştirme için esnek kalır.

Desteklenen araçlar ve entegrasyonlar

Entegrasyonlar açısından, üç çerçevenin de kapsamlı API desteği ve harici araçlarla entegrasyonu vardır. CrewAI, yaygın bulut hizmetleri ve araçlar için yerleşik entegrasyonlar sunar. 

LangGraph, tüm LangChain ekosisteminden yararlanır ve API'ler ile harici sistemlerle geniş kapsamlı entegrasyonlar sunar. 

AutoGen ise sohbetler içinde araç kullanımını önceliklendirir ve insanların doğrudan katılımına izin verir; bu da yinelemeli ya da yoğun inceleme gerektiren iş akışlarında esnekliği artırır.

Bellek desteği ve türleri

Bellek desteği çerçeveler arasında önemli ölçüde değişir. CrewAI, bağlamsal aracı davranışı için RAG desteğine sahip, yapılandırılmış, rol tabanlı bellek kullanır. 

LangGraph, iş akışının sürekliliği için kontrol noktalarıyla durum tabanlı bellek sağlar. 

AutoGen, çok turlu etkileşimler için diyalog geçmişini koruyan sohbet tabanlı belleğe odaklanır. Her yaklaşım, çerçevenin çekirdek felsefesiyle uyumludur.

Yapılandırılmış çıktı

Yapılandırılmış çıktının ele alınması da başka bir karşıtlık alanıdır. CrewAI, rol mantığı sayesinde yapıyı dayatır—aracılar, tanımlı sorumluluklarıyla uyumlu çıktılar üretir. 

LangGraph, durum grafikleri sayesinde burada öne çıkar; katı çıktı formatlarını ve geçişleri dayatabilir. 

Daha çok sohbet odaklı olan AutoGen ise, konuşmanın nasıl orkestre edildiğine bağlı olarak tutarlılığı değişebilen esnek çıktılar üretir.

Çoklu Aracı Desteği

Üç çerçevenin de çoklu aracı yetenekleri vardır; ancak iş birliği modelleri farklıdır. 

CrewAI, her aracının net bir sorumluluğu olduğu rol atamasına odaklanır; bu da koordinasyonu yapılandırılmış bir ekip ortamı gibi hissettirir. 

LangGraph, her aracı ya da fonksiyonu bir grafikte düğüm olarak ele alarak, yapılandırılmış durum geçişleri ve koşullu dallanmalar aracılığıyla etkileşimi mümkün kılar ve iş akışı düzeyinde iş birliği sağlar. 

AutoGen, aracılar ile insanlar arasında doğal dilde gerçekleşen grup sohbeti modellerini öne çıkarır; bu, iş birliğini dinamik ve daha az katı kılar, ancak öngörülebilirliği de azaltabilir.

İnsanın döngüye dahil edilmesi özellikleri

İnsani denetim, bu çerçeveler arasında temel bir ayırt edicidir. CrewAI, görev yürütmesine insan kontrol noktalarını doğrudan entegre eder; böylece sorumlular, görevler ilerlemeden önce çıktıları gözden geçirebilir veya rafine edebilir. 

LangGraph, iş akışı grafikleri içinde insani denetim kancaları sağlar; geliştiricilerin yürütmeyi duraklatmasına, kullanıcı girdisi toplamasına ve aynı durumdan devam etmesine olanak tanır. 

AutoGen, insan katılımını sohbet akışının bir parçası hâline getirir; bir kullanıcı vekili aracı, diyaloğu yönlendirmek veya yeniden yönlendirmek için her an devreye girebilir. 

Bu esneklik, AutoGen'i etkileşimli veya inceleme odaklı iş akışları için özellikle güçlü kılarken, CrewAI ve LangGraph müdahale için daha yapılandırılmış mekanizmalar sunar.

Önbellekleme ve tekrar oynatma

Önbellekleme ve tekrar oynatma için, CrewAI görevlerin sorunsuz devam etmesi adına yerleşik hata yönetimiyle kapsamlı bir önbellekleme aracı içerir. 

LangGraph, bellek veya SQLite gibi arka uçlarla düğüm düzeyinde önbelleğe almayı destekler ve LangGraph Studio aracılığıyla tekrar oynatma ve hata ayıklama sağlar. 

AutoGen, disk veya Redis gibi arka uçlarla LLM önbelleklemesine odaklanır; aracılar arasında paylaşılan önbellekler sunarak maliyet tasarrufu ve yeniden üretilebilirlik sağlar.

Kod yürütme

Kod yürütme açısından, CrewAI, atanan araçlar (CodeInterpreterTool) aracılığıyla yürütmeyi etkinleştirir ve rol tabanlı felsefesini sürdürür.

LangGraph, düğümlerinde yerel ve harici kod yürütmeye izin verir ve hesaplamalı iş akışları için daha fazla esneklik sunar. 

AutoGen, yürütmeyi doğrudan sohbetlerine entegre eder; aracılar (CodeExecutorAgent) diyaloglarının bir parçası olarak kod parçacıklarını çalıştırıp değerlendirebilir.

Özelleştirilebilirlik

Özelleştirilebilirlik açısından, üç çerçeve de güçlüdür; ancak farklı şekillerde. CrewAI oldukça özelleştirilebilir, fakat rol merkezli paradigması içinde. 

LangGraph, geliştiricilerin koşullu mantıkla son derece uzmanlaşmış iş akışları tasarlamasına izin vererek en fazla modülerliği sağlar. 

AutoGen, konuşmaya dayalı esneklik sunar; yaratıcı çoklu aracı diyaloglarına olanak tanır, ancak yapısal olarak daha az resmidir.

Ölçeklenebilirlik

Ölçeklenebilirlik de değişkendir. CrewAI, tanımlı roller içinde paralel görev yürütme ve aracının yatay çoğaltımıyla ölçeklenmeyi destekler. 

LangGraph, baştan ölçeklenebilir olacak şekilde tasarlanmıştır; grafik tabanlı iş akışları büyük dağıtık sistemlere genişletilebilir. 

AutoGen ise sohbet temelli olarak ölçeklenir; birden fazla aracının daha büyük gruplar hâlinde iş birliği yapmasına izin verir; ancak büyük ölçekli uygulamalar için sınırlamaları vardır.

Dokümantasyon ve topluluk

Son olarak, herhangi bir çerçevenin uzun vadeli başarısında dokümantasyon ve topluluk önemli rol oynar. 

CrewAI, giderek büyüyen bir geliştirici tabanı oluşturuyor; daha fazla rol odaklı proje ortaya çıkıyor ve erken benimseyenler pratik kullanım örneklerini paylaşıyor. 

LangGraph, daha geniş LangChain ekosisteminin bir parçası olmanın avantajlarından yararlanır; kapsamlı dokümantasyon, eğitimler ve aktif topluluk desteği sunar. 

AutoGen, diğerlerine göre daha az olgun olsa da, net dokümantasyon, aktif bir topluluk ve kapsamlı bir eğitim listesi sağlar.

Karşılaştırma Tablosu

Aşağıdaki tablo, çerçeve seçiminize rehberlik etmesi için CrewAI, LangGraph ve AutoGen arasındaki temel farkları tüm ana boyutlar boyunca özetler.

Özellik

CrewAI

LangGraph

AutoGen

Mimari

Rol tabanlı organizasyon yapısı

Düğüm ve kenarlarla grafik tabanlı iş akışları

Sohbet temelli çoklu aracı etkileşimleri

Kullanım Kolaylığı

Sezgisel rol atama

Orta düzey öğrenme eğrisi 

(grafik tasarımı)

Basit sohbet kurulumu

Bellek Desteği

Rol tabanlı bellek Kısa/Uzun vadeli

Varlık

Bağlamsal

Durum tabanlı

Kısa/Uzun vadeli

Kontrol noktası alma

Mesaj tabanlı

Kısa vadeli

Sohbet geçmişi 

Entegrasyonlar

Bulut araçları

İş süreçleri

LangChain

 Ekosistem

Platform/Studio

Araç entegrasyonları

Çoklu Aracı Desteği

Evet

Evet

Evet

Yapılandırılmış Çıktı

Role dayalı zorunluluk

Güçlü durum tabanlı

Katı format

Esnek

Önbellekleme & Tekrar Oynatma

Araç Önbellekleme

Düğüm düzeyinde Önbellekleme

LLM Önbellekleme

Kod Yürütme

Araç tabanlı

Yerel/harici

Entegre

İnsanın döngüye dahil edilmesi

Evet

Evet

Evet

Özelleştirilebilirlik

Rol paradigması içinde yüksek

Azami modülerlik

Koşullu mantık tasarımı

Sohbet esnekliği

Ölçeklenebilirlik

Görev paralelleştirme

Dağıtık grafik yürütme

Sınırlı büyük ölçek desteği

Dokümantasyon Topluluk

Büyüyen geliştirici tabanı

İyi oturmuş 

LangChain ekosistemi

Net dokümanlar

İstikrarlı büyüme

Karşılaştırma Tablosu: CrewAI vs. LangGraph vs. Autogen

Her biri ne zaman seçilmeli

  • CrewAI'yi seçin projeniz doğal olarak roller ve sorumluluklara (ör. bir araştırmacının işi bir yazara devretmesi) uyuyorsa. Ekip benzeri iş akışları için sezgiseldir, yapılandırılmış belleği destekler ve insan kontrol noktalarını eklemeyi kolaylaştırır.

  • LangGraph'ı seçin dallanan mantıkla karmaşık orkestrasyon gerekiyorsa. Grafik tabanlı tasarımı, uyarlanabilir iş akışları, koşullu yürütme ve dağıtık sistemlere ölçeklenmesi gerekebilecek projeler için idealdir.

  • AutoGen'i seçin eğer sohbet odaklı iş birliği ile esnek, insani denetim istiyorsanız. Doğal dilin düzenleyici ilke olduğu yinelemeli görevlerde, beyin fırtınasında veya yoğun inceleme gerektiren iş akışlarında öne çıkar.

Artık çerçeveleri üst düzeyde karşılaştırdığımıza göre, CrewAI'nin rol tabanlı yaklaşımıyla başlayarak her birini ayrıntılı olarak inceleyelim.

CrewAI Çerçevesine Derin Bakış

CrewAI, bir organizasyon metaforu etrafında inşa edilmiştir. Aracılar, her biri bir role ve sorumluluklar kümesine sahip çalışanlar gibi ele alınır. 

Örneğin, bir aracı verileri toplayan bir “araştırmacı” olarak, bir diğeri raporları hazırlayan bir “yazar” olarak hareket edebilir. Bu iş bölümü, rollerin ve sorumlulukların doğal olarak bulunduğu senaryolarda CrewAI'yi özellikle sezgisel kılar.

CrewAI Mimarisi

CrewAI Mimarisi

CrewAI'nin bellek sistemi bu organizasyon yapısını yansıtır. Her aracı; görev bağlamını, varlık ilişkilerini ve biriken bilgileri içeren role özgü bir bellek tutar. 

Çerçeve, birden fazla bellek katmanını destekler: anlık görev bağlamı için kısa vadeli bellek, oturumlar arasında içgörüler için uzun vadeli bellek, kişiler ve kavramları izlemek için varlık belleği ve her şeyi birbirine bağlayan bağlamsal bellek. 

Bu yapılandırılmış yaklaşım, bir araştırmacı aracının zamanla bilgi biriktirmesi, bir yazar aracının ise kendi üslup tercihlerini ve yazım geçmişini koruması anlamına gelir. İnsanın döngüye dâhil edilmesi de yerleşiktir; görevler ilerlemeden önce sorumluların aracı çıktılarının onaylanmasına veya değiştirilmesine olanak tanır.

İşte bir araştırma aracısını tanımladığım basit bir CrewAI kod parçası:

from crewai import Agent, Task, Crew

# Environment variables
os.environ["OPENAI_API_KEY"] = "your-api-key"
os.environ["OPENAI_API_BASE"] = "https://api.your-provider.com/v1"
os.environ["OPENAI_MODEL_NAME"] = "your-model-name"

# Define agents
researcher = Agent(
    role="Researcher",
    goal="Gather information on AI frameworks",
    backstory="Expert in technical research and summarization",
)

writer = Agent(
    role="Writer",
    goal="Prepare well-structured reports",
    backstory="Skilled technical writer who explains concepts clearly",
)

# Define tasks
research_task = Task(
    description="Find details on CrewAI, LangGraph, and AutoGen",
    expected_output="A structured summary of each framework, including use cases and differences.",
    agent=researcher,
    output_file="output/research_notes.md", 
   human_input=True

)

writing_task = Task(
    description="Turn the research notes into a polished article section",
    expected_output="A readable, clear article comparing the three frameworks.",
    agent=writer,
    output_file="output/final_article.md",
    human_input=True
)

# Create a crew with both agents and tasks
crew = Crew(
    agents=[researcher, writer],
    tasks=[research_task, writing_task]
)

# Run the crew
result = crew.kickoff()
print(result)

Bu iş akışında, araştırmacı aracı bilgi toplar ve dosyaya kaydedilen yapılandırılmış notlar üretir. İlerlemeden önce bir insan, notları gözden geçirip rafine etmek üzere devreye girebilir. Ardından yazar aracı, bu notları cilalı bir makale bölümüne dönüştürür ve yine sonlandırmadan önce isteğe bağlı insan incelemesine olanak verir.

 CrewAI, süreci koordine eder; aracılar rollerine bağlı kalırken, insanlar önemli kontrol noktalarında denetimi sürdürür. Bu, küçük bir editoryal ekibin birlikte çalışması gibi hissettirir—CrewAI'nin tam da modellemek üzere tasarlandığı şey.

CrewAI ayrıca, iş akışlarını ince ayarla kontrol etmek için Ekipler'i tamamlayan Akışlar'ı sunar. Ekipler, birlikte çalışan özerk aracı takımlarını temsil ederken; Akışlar, yürütme yollarını, durumu ve dallanma mantığını yöneten olay güdümlü, üretime hazır hatlardır. 

Bu, Ekiplerdeki özerk karar vermenin esnekliğini, Akışlardaki yapılandırılmış orkestrasyonun hassasiyetiyle birleştirebileceğiniz anlamına gelir.

CrewAI iş birliğini roller ve sorumluluklar açısından çerçevelerken, LangGraph bunun yerine iş akışlarını bir grafikte birbirine bağlı düğümler olarak ele alarak yapı ve mantığa vurgu yapar.

LangGraph Çerçevesine Derin Bakış

LangGraph, iş akışlarını düğümler grafiği olarak temsil ederek farklı bir yaklaşım benimser. Her düğüm bir aracı, bir fonksiyon veya bir karar noktası olabilir. Sistem, sonuçlara bağlı olarak dinamik uyumu mümkün kılan koşullu dallanmayı destekler. Bu, görevlerin önceki çıktılara bağlı olduğu karmaşık karar hatlarını orkestre etmek için LangGraph'ı güçlü kılar.

LangGraph Dallanma Mimarisi

LangGraph Dallanma Mimarisi

LangGraph ayrıca, grafik durumunun bir parçası olarak işleyen güçlü bellek yetenekleri sağlar. Kısa vadeli bellek, aktif ileti dizilerinde kalıcıdır ve herhangi bir düğümde kontrol noktası alınabilir; bu da iş akışlarının duraklatılıp yeniden başlatılmasını mümkün kılar. 

Uzun vadeli bellek, farklı iş akışı yürütmeleri boyunca kalıcı olan kullanıcıya özgü veya uygulama düzeyindeki verileri depolar. Bu durum tabanlı yaklaşım, bir düğümdeki kararların daha sonraki düğümlerdeki davranışı—farklı oturumlar arasında bile—etkilemesi gereken karmaşık iş akışları için onu özellikle güçlü kılar.

LangGraph Bellek Sistemi

LangGraph Bellek Sistemi

LangGraph Studio, görsel geliştirme ortamı, bu iş akışlarını oluşturmayı ve hata ayıklamayı daha da basitleştirir.

LangGraph Studio

LangGraph Studio

İşte iki aracılı bir iş akışı kuran bir LangGraph kod parçası: bilgi toplayan bir araştırma düğümü ve sonuçları yorumlayan bir analiz düğümü.

from langchain_openai import ChatOpenAI
from typing import Annotated
from typing_extensions import TypedDict
import os
from langchain.schema import HumanMessage
from langgraph.graph import StateGraph, START, END
from langgraph.graph.message import add_messages

# Environment variables
os.environ["OPENAI_API_KEY"] = "your-api-key"

llm = ChatOpenAI(
    model="gpt-4o-mini",
)

# Define the graph state 
class State(TypedDict):
    messages: Annotated[list, add_messages]

# Define nodes powered by the LLM 
def research_node(state: State):
    """Research agent: collects information using the LLM."""
    prompt = "You are a researcher. Collect detailed information.\nUser query: "
    user_query = state["messages"][-1].content
    response = llm.invoke(prompt + user_query)
    return {"messages": [response]}

def analysis_node(state: State):
    """Analysis agent: analyzes research results with the LLM."""
    research_output = state["messages"][-1].content
    prompt = "You are an analyst. Provide insights based on this research:\n"
    response = llm.invoke(prompt + research_output)
    return {"messages": [response]}

# Build the graph
graph_builder = StateGraph(State)

# Add nodes
graph_builder.add_node("Research", research_node)
graph_builder.add_node("Analysis", analysis_node)

# Add edges (workflow order)
graph_builder.add_edge(START, "Research")
graph_builder.add_edge("Research", "Analysis")
graph_builder.add_edge("Analysis", END)

# Compile the graph
graph = graph_builder.compile()

# Run the workflow
if __name__ == "__main__":

    initial_messages = [HumanMessage(content="Please draft a comparison of CrewAI, LangGraph, and AutoGen.")]
    result = graph.invoke({"messages": initial_messages})
    
    print(f"Research and Analysis Complete. {result}")

    print("\nFinal Report:")
    for msg in result["messages"]:
        print(f"{type(msg).__name__}: {msg.content}")

Araştırma-Analiz İş Akışı

Araştırma-Analiz İş Akışı

Bu iş akışında, araştırma düğümü kullanıcının sorgusuna ilişkin ham bilgileri toplar ve analiz düğümü bu sonuçlara dayalı içgörüler üretir. Kenarlar, yürütme sırasını tanımlar; araştırma tamamlandığında grafik çıktıyı otomatik olarak analiste yönlendirir. 

Bu, LangGraph'ın iş akışlarını modüler grafikler olarak nasıl resmileştirdiğini gösterir; her adımın bir öncekinin sonucuna bağlı olduğu hatları tasarlamayı kolaylaştırır. CrewAI'nin rol metaforu ya da AutoGen'in serbest akan sohbetlerinden farklı olarak, LangGraph, aracılar arasındaki iş birliğine ince ayarlı yapısal kontrol sağlar.

LangGraph yapısal iş akışlarına vurgu yaparken, AutoGen bunun yerine düzenleyici ilke olarak sohbete odaklanır.

AutoGen Çerçevesine Derin Bakış

AutoGen, sohbete vurgu yapar. İş akışlarını, aracılar arasında ve bazen de aracılar ile insanlar arasında diyaloglar olarak modeller. Bu sohbet temelli yaklaşım, yinelemeli akıl yürütme, müzakere veya denetim gerektiren görevler için özellikle kullanışlıdır. Örneğin, bir aracı bir çözüm önerir, bir diğeri bunu eleştirir ve bir insan sorumlu tartışmayı yönlendirmek için devreye girebilir.

Autogen Mimarisi

Autogen Mimarisi

AutoGen'in belleği sohbet merkezlidir; çok turlu etkileşimlerde bağlamı korumak için tam diyalog geçmişini depolar. Bu mesaj tabanlı bellek, aracılara konuşmanın önceki bölümlerine atıf yapma ve önceki alışverişler üzerine inşa etme olanağı tanır. 

Diğer çerçevelerin yapılandırılmış belleğinden daha basit olsa da, bu yaklaşım, doğal sohbet akışının iş akışını yönlendirdiği ve aracının tüm diyalog bağlamının farkında olması gereken senaryolarda başarılıdır.

RoundRobinGroupChat yeteneği özellikle güçlüdür. Birden fazla aracının sırayla iş birliği yapmasına olanak tanır; her yanıt tüm katılımcılara yayınlanır, böylece ekibin tamamı tutarlı bir bağlamı korur. Bu tasarım, bir aracının taslak oluşturduğu ve diğerinin bunu değerlendirdiği veya eleştirdiği yansıma desenini uygulamayı kolaylaştırır.

İşte bir yazar, bir değerlendirici ve bir kullanıcı vekili ile bir grup sohbeti kuran bir AutoGen kod parçası:

import asyncio
from autogen_agentchat.conditions import TextMentionTermination
from autogen_agentchat.agents import UserProxyAgent, AssistantAgent
from autogen_agentchat.conditions import MaxMessageTermination
from autogen_agentchat.messages import TextMessage
from autogen_ext.models.openai import OpenAIChatCompletionClient
from autogen_agentchat.teams import RoundRobinGroupChat  
from autogen_agentchat.ui import Console


async def simple_user_agent():
    # Model client
    model_client = OpenAIChatCompletionClient(model="gpt-4o")

    # Writer agent
    writer = AssistantAgent(
        "Writer",
        model_client=model_client,
        system_message=(
            "You are a professional writer. "
            "Always respond with a detailed draft when asked. "
        ),
    )

    # Reviewer agent
    reviewer = AssistantAgent(
        "Reviewer",
        model_client=model_client,
        system_message=(
            "You are a reviewer who critiques drafts and suggests improvements. "
        ),
    )

    # User proxy agent
    user_proxy = UserProxyAgent("User")

    # Termination conditions
    termination = MaxMessageTermination(max_messages=8)
    text_termination = TextMentionTermination("TERMINATE")

    # Group chat with Writer, Reviewer, and User
    team = RoundRobinGroupChat(
        [writer, reviewer, user_proxy],
        termination_condition=termination | text_termination,
        max_turns=8,
    )

    # Run the group chat
    await Console(
        team.run_stream(
            task=TextMessage(
                source=user_proxy.name,
                content="Please draft a comparison of CrewAI, LangGraph, and AutoGen."
            ),
        )
    )

if __name__ == "__main__":
    asyncio.run(simple_user_agent())

Bu iş akışında, yazar aracı bir taslak üretir; değerlendirici aracı taslağı değerlendirip geri bildirim verir ve kullanıcı vekili aracı insan katılımcıyı temsil eder. 

RoundRobinGroupChat, her katılımcının sırayla söz almasını sağlayarak tartışmayı yapılandırılmış tutar. Bir mesaj sınırı veya belirli bir anahtar kelime gibi sonlandırma koşulları, sohbetin ne zaman sona ereceği üzerinde kontrol sahibi olmanızı sağlar. Bu kurulum, AutoGen'in sohbet gücünü gösterir: aracılar dinamik olarak iş birliği yapar; insanlar ise denetim veya yönlendirme için herhangi bir aşamada devreye girebilir.

Kullanım Senaryoları ve Uygulamalar

Her çerçevenin en iyi nereye uyduğunu düşünürken, bunları sıklıkla sorunun doğasına göre eşlerim. Rollerinin net olduğu basit iş akışı otomasyonu gerekiyorsa—örneğin bir “veri toplayıcı” aracının sonuçları bir “yazar” aracına devretmesi—CrewAI en doğal seçimdir. Organizasyon metaforu bu senaryolarla mükemmel hizalanır.

Dallanan mantık gerektiren karmaşık karar hatları için LangGraph mükemmeldir. Yolun, sorun türü veya yükseltme düzeyi gibi koşullara bağlı olduğu çok adımlı bir müşteri destek sistemini orkestre ettiğinizi hayal edin. LangGraph'ın grafik tabanlı tasarımı bu uyarlanabilir iş akışları için idealdir.

Son olarak, insanın döngüye dâhil edildiği sistemler için AutoGen öne çıkar. Aracıların birlikte beyin fırtınası yaptığı ve bir insanın denetlediği işbirlikçi bir araştırma asistanı oluşturuyorsam, AutoGen'in sohbet mimarisi doğal ve etkilidir.

Teknik Uygulama Hususları

Uygulama açısından performans, ölçeklenebilirlik ve entegrasyon kritik önemdedir. CrewAI, rol hiyerarşileri içinde aracının yatay çoğaltımı ve görev paralelleştirme yoluyla ölçeklenir. LangGraph, dağıtık grafik yürütme ve paralel düğüm işleme yoluyla ölçeklenir. AutoGen ise konuşma parçalama ve dağıtık sohbet yönetimi aracılığıyla ölçeklenir; ancak bu, sohbet bağlamını korumak için benzersiz zorluklar doğurur.

Entegrasyon bir diğer faktördür. LangGraph, daha geniş LangChain ekosisteminden yararlanır; AutoGen, sohbet arayüzlerine odaklanır ve geleneksel API entegrasyonu için ek soyutlama katmanları gerektirebilir. CrewAI, rol tabanlı iş akışlarına yönelik yapılandırılmış yaklaşımıyla mevcut iş sistemlerine iyi entegre olur.

Kurumsal ve Üretim Hazırlığı

Kurumsal bağlamlarda, lisanslama ve uyumluluk göz ardı edilemez. CrewAI, kurumsal destek seçenekleriyle ticari lisanslama sunar. LangGraph, LangChain tarafından desteklenir ve kurumsal düzeyde destek ile danışmanlık hizmetleri sağlar. AutoGen, Azure AI hizmetleriyle entegrasyonu aracılığıyla Microsoft destekli olanaklar sunar.

Aynı derecede önemli olan dağıtım esnekliğidir. CrewAI, şirket içinde veya bulutta dağıtılabilir; bu da onu katı veri yönetişimi gereksinimleri olan kuruluşlar için uygun kılar. 

LangGraph’ın mimarisi mevcut kurumsal sistemler ve API'lerle sorunsuz biçimde entegre olur ve iki tamamlayıcı hizmet sunar—iş akışı tasarımı ve hata ayıklama için LangGraph Studio ve ölçekli dağıtımları yönetmek için LangGraph Platform.  

AutoGen, Microsoft ile doğal bağlarından yararlanır ve hâlihazırda Azure ekosistemine yatırım yapmış ekipler için doğal bir seçimdir. Ayrıca hâlen geliştirme aşamasında olan Autogen Studio ile hızlı prototipleme için düşük kodlu bir arayüz sunar. 

Sonuç olarak, her çerçeve farklı bir dağıtım yolu sunar ve doğru seçenek, bir kuruluşun yerel kontrolü, modüler entegrasyonu veya sorunsuz bulut benimsemesini öncelikleyip önceliklemediğine bağlıdır.

Bu kurumsal hususları akılda tutarak, bulgularımızı özetleyelim ve çerçeve seçimi için rehberlik sağlayalım.

Sonuç

Bu eğitim boyunca, çoklu aracılı yapay zekâ çerçevelerinin temellerini ele aldım ve üç farklı yaklaşımı inceledim: CrewAI, LangGraph ve AutoGen. CrewAI, rol tabanlı iş birliğinde öne çıkarken; LangGraph, grafik güdümlü orkestrasyonda parlıyor; AutoGen ise sohbet temelli, insanın döngüye dâhil edildiği sistemlerde başarılıdır.

Temel çıkarım, tek bir çerçevenin evrensel olarak daha iyi olmadığıdır. Seçim, projenizin ihtiyaçlarına bağlıdır. Yapılandırılmış rollere değer veriyorsanız CrewAI uygun olabilir. İş akışınız uyarlanabilir dallanma gerektiriyorsa LangGraph muhtemelen size iyi hizmet edecektir. Aracıların sohbet yoluyla iş birliği yapmasını istiyorsanız AutoGen esnek bir ortam sunar.

Her bir çerçeveyle denemeler yapmanızı öneririm. Güçlü ve zayıf yönlerini öğrenmenin en iyi yolu, küçük prototipler inşa etmek ve belirli görevlerinizle nasıl davrandıklarını görmektir. Bunu yaparak, hangi çerçevenin iş akışlarınız için en doğal hissettirdiğini ve hangisinin uzun vadeli hedeflerinizle en iyi hizalandığını keşfedeceksiniz.

Öğrenmeye devam etmek için aşağıdaki kaynaklara göz atmayı unutmayın:

CrewAI vs LangGraph vs AutoGen SSS

CrewAI, görevi delege etmeyi LangGraph ve AutoGen'den farklı nasıl ele alır?

CrewAI, görevleri rollere haritalayarak rol tabanlı delege etme kullanır. LangGraph iş akışı grafikleri kullanırken AutoGen, sohbet turları üzerine dayanır.

CrewAI ile LangGraph arasındaki aracı iş birliğindeki temel farklar nelerdir?

CrewAI, rol atamalarıyla iş birliği yaparken, LangGraph, aracıları koşullu dallanma ve yapılandırılmış durumla bir iş akışı grafiğinde düğümler olarak bağlar.

AutoGen'in aracıdan aracıya sohbet yaklaşımı, CrewAI'nin rol tabanlı tasarımından nasıl farklıdır?

AutoGen, aracılar birbirlerinin yanıtlarını eleştirip üzerine inşa ettikleri sohbet odaklı grup sohbetlerini vurgular. CrewAI ise yapılandırılmış, rol tabanlı etkileşimleri zorunlu kılar.

Hangi çerçeve, insanın döngüye dâhil edildiği sistemler için en iyi desteği sunar?

Üç çerçeve de insan katılımını destekler; ancak CrewAI iş akışlarına kontrol noktalarını entegre eder, LangGraph duraklatma/sürdürme kancaları sağlar ve AutoGen insanları doğrudan sohbetlerin içine yerleştirir.

LangGraph'ın bellek yönetimi yetenekleri, CrewAI ve AutoGen ile nasıl karşılaştırılır?

LangGraph, kontrol noktası alma ve kalıcılık ile durum tabanlı bellek sağlar. CrewAI, RAG destekli yapılandırılmış, rol tabanlı bellek kullanırken AutoGen sohbet geçmişini depolar.


Benito Martin's photo
Author
Benito Martin
LinkedIn

Martin Data Solutions’ın Kurucusu ve Serbest Çalışan Veri Bilimci, ML ve AI Mühendisi olarak Regresyon, Sınıflandırma, NLP, LLM, RAG, Sinir Ağları, Topluluk Yöntemleri ve Bilgisayarlı Görü alanlarında geniş bir portföy sunuyorum.

  • Veri temizleme, analitik, modelleme ve AWS ile GCP’de dağıtımı kapsayan uçtan uca birçok ML projesini başarıyla geliştirerek etkili ve ölçeklenebilir çözümler sundum.
  • Çeşitli sektör kullanım senaryoları için Streamlit ve Gradio ile etkileşimli ve ölçeklenebilir web uygulamaları geliştirdim.
  • Veri bilimi ve analitik alanlarında öğrencilere eğitim verdim ve mentorluk yaparak kişiselleştirilmiş öğrenme yaklaşımlarıyla mesleki gelişimlerini destekledim.
  • Kurumsal gereksinimlere uyarlanmış geri getirme destekli üretim (RAG) uygulamaları için kurs içerikleri tasarladım.
  • MLOps, vektör veritabanları ve LLM’ler gibi konuları ele alan, yüksek etki yaratan yapay zeka ve ML teknik blogları yazdım ve önemli etkileşim sağladım.

Üstlendiğim her projede CI/CD, kod linting’i, biçimlendirme, model izleme, deney takibi ve sağlam hata yönetimi gibi yazılım mühendisliği ve DevOps’taki güncel uygulamaları hayata geçiririm. Tam kapsamlı çözümler sunmaya; veri içgörülerini, işletmelerin büyümesine yardımcı olan ve veri bilimi, makine öğrenimi ile yapay zekâdan en iyi şekilde yararlanan pratik stratejilere dönüştürmeye kararlıyım.

Konular

Öne Çıkan DataCamp Kursları

Kurs

Google ADK ile AI Ajanları Oluşturma

1 sa
5.4K
Google'ın Ajan Geliştirme Kiti (ADK) ile adım adım bir müşteri destek asistanı oluşturun.
Ayrıntıları GörRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Devamını GörDevamını Gör