CrewAI ile LangGraph: Rol Tabanlı Ekip mi, Durum Grafiği mi?
Karşılaştırma

CrewAI ile LangGraph: Rol Tabanlı Ekip mi, Durum Grafiği mi?

Hazırlayan: Mindset Institute EditörlüğüGüncellendi: 5 dk okuma

CrewAI, ajanları rol, hedef ve görevlerle tanımlayıp bir ekip gibi çalıştırmayı kolaylaştırır; LangGraph ise akışın her adımını, durumunu ve geçişini sizin çizdiğiniz düşük seviyeli bir orkestrasyon çatısıdır. Seçim, ne kadar hızlı başlamak istediğinize ve akış üzerinde ne kadar ince kontrol gerektiğine bağlıdır.

Bir bakışta

  1. CrewAI bir ekip metaforuyla başlar, LangGraph bir graf ile. CrewAI'da rol, hedef ve görev tanımlarsınız; LangGraph'ta durum, düğüm ve kenar çizersiniz.
  2. LangGraph istem ve mimariyi sizin yerinize soyutlamaz. Belgelerine göre düşük seviyeli bir çatıdır; esneklik karşılığında tasarımı geliştirici yapar.
  3. CrewAI'da yapılandırılmış kontrol Flows ile gelir. Crews özerk iş birliğini, Flows ise durum yönetimi, koşullu dallanma ve döngülerle olay güdümlü akışı sağlar.
  4. Uzun süren ve insan onayı gereken akışlarda kalıcılık belirleyicidir. LangGraph kontrol noktalarıyla akışı kesintiden sonra sürdürmeyi, insan onayını ve geçmiş duruma dönmeyi destekler.

İki farklı soyutlama düzeyi

CrewAI ve LangGraph aynı sorunu çözer: bir dil modeline birden fazla adım attırmak, araç kullandırmak ve gerekirse birden fazla ajanı birlikte çalıştırmak. Ama sorunu farklı bir düzeyden ele alırlar.

CrewAI kendini otonom yapay zeka ajanlarını orkestre etmek ve karmaşık iş akışları kurmak için açık kaynak bir çatı olarak tanımlar. GitHub sayfasına göre ajanlar, görevler, ekipler, akışlar, araçlar ve orkestrasyon için kendi temel yapılarına sahip, bağımsız bir Python çatısıdır. Geliştirici bir ajana rol, hedef ve arka plan öyküsü verir; görevleri tanımlar ve ajanları bir ekipte toplar. Ekip içindeki iş birliğinin ayrıntısını çatı yürütür.

LangGraph ise belgelerinde uzun süre çalışan, durum taşıyan ajanları kurmak, yönetmek ve dağıtmak için düşük seviyeli bir orkestrasyon çatısı ve çalışma zamanı olarak tanımlanır. Belgeler açıkça LangGraph'ın istemleri ya da mimariyi soyutlamadığını söyler. Geliştirici paylaşılan bir durum tanımlar, iş yapan düğümleri yazar ve hangi düğümden sonra hangisinin çalışacağını kenarlarla belirler.

Basit bir benzetmeyle: CrewAI'da bir ekip kurup görevi dağıtırsınız, LangGraph'ta iş akışının haritasını adım adım çizersiniz.

CrewAI'ın yapı taşları: akıştan göreve

CrewAI belgeleri iki ana kavramı birlikte konumlar. Flows, uygulamanın omurgası olarak tanımlanır: durumu yöneten ve yürütmeyi kontrol eden yapılandırılmış, olay güdümlü iş akışlarıdır; adımlar ve çalıştırmalar arasında veri saklayabilir, koşullu mantık, döngü ve dallanma kullanabilir. Crews ise akışın içindeki iş birimleridir: akışın kendilerine devrettiği görevleri çözmek için iş birliği yapan özerk ajan ekipleri.

Bir ekibin içinde ajanlar rol, hedef ve arka plan öyküsüyle tanımlanır; araçlar ajana yetenek kazandırır. Ajanın başka ajanlara görev devredip devredemeyeceği bir ayarla belirlenir ve varsayılan olarak kapalıdır. Ekipteki görevler iki süreç türünden biriyle yürütülür: sıralı süreçte görevler belirli bir sırayla tamamlanır; hiyerarşik süreçte görevler bir yönetici tarafından ajanların yeteneklerine göre dağıtılır. Belgelere göre hiyerarşik süreç için bir yönetici dil modeli ya da özel bir yönetici ajan tanımlanması zorunludur.

Bu katmanlı yapı, CrewAI'ın gücünü de sınırını da açıklar. Özerk iş birliği gereken yerde ekip kurmak hızlıdır; adım adım kesin kontrol gereken yerde iş Flows katmanına taşınır.

Şekil 1

CrewAI'da kontrol yukarıda, özerk iş aşağıda

  1. FlowDurumu yönetir, adımları ve dallanmayı kontrol eder.
  2. CrewAkışın devrettiği işi üstlenen özerk ajan ekibi.
  3. AgentRol, hedef, arka plan öyküsü ve araçlarla tanımlanan ajan.
  4. TaskSıralı ya da hiyerarşik süreçle yürütülen somut görev.
Kaynak: CrewAI belgeleri.Mindset Institute

Ölçüt ölçüt CrewAI ve LangGraph

  • Ölçüt: Temel soyutlama. CrewAI: rol, hedef ve görevle tanımlanan ajanlardan oluşan ekipler; yapılandırılmış akış için Flows. / LangGraph: paylaşılan durum, düğümler ve kenarlardan oluşan graf.
  • Ölçüt: Kontrol düzeyi. CrewAI: ekip içindeki iş birliği çatı tarafından yürütülür; ince kontrol Flows ile kurulur. / LangGraph: her geçiş geliştirici tarafından tanımlanır; koşullu kenarlarla yönlendirme yapılır.
  • Ölçüt: Döngüler. CrewAI: Flows içinde döngü ve dallanma kurulabilir. / LangGraph: düğümler ve kenarlar durumu zamanla geliştiren döngüler oluşturabilir.
  • Ölçüt: Durum ve kalıcılık. CrewAI: Flows adımlar ve çalıştırmalar arasında veri saklar; ajan düzeyinde bellek açılabilir. / LangGraph: kontrol noktası kaydedicileri bir iş parçacığının durumunu kalıcı tutar; kısa ve uzun süreli bellek ayrımı vardır.
  • Ölçüt: İnsan onayı. CrewAI: akış tasarımında ele alınır. / LangGraph: belgelerine göre ajanın durumu herhangi bir noktada incelenip değiştirilebilir; kalıcılık insan onaylı akışları mümkün kılar.
  • Ölçüt: Bağımlılık. CrewAI: kendi temel yapılarına sahip bağımsız bir Python çatısı. / LangGraph: belgelerine göre LangChain olmadan da kullanılabilir.
  • Ölçüt: Başlama hızı. CrewAI: ekip metaforu sayesinde ilk çalışan örnek hızla kurulur. / LangGraph: graf tasarımı daha fazla ön düşünme ister.

Tablonun özeti şudur: CrewAI ne yapılacağını tarif etmenizi, LangGraph ise nasıl yapılacağını adım adım belirlemenizi ister.

Şekil 2

CrewAI neyi, LangGraph nasılı tarif ettirir

CrewAILangGraph
Temel soyutlamaRol ve görevle tanımlı ajan ekipleri, FlowsDurum, düğüm ve kenardan oluşan graf
Kontrolİş birliğini çatı yürütür, ince kontrol Flows ileHer geçişi geliştirici tanımlar
KalıcılıkFlows adımlar arasında veri saklarKontrol noktaları iş parçacığı durumunu tutar
İnsan onayıAkış tasarımında kurulurDurum herhangi bir noktada incelenip değiştirilir
Başlama hızıHızlı ilk örnekDaha fazla ön tasarım
Kaynak: CrewAI ve LangGraph resmî belgelerinden derlendi.Mindset Institute

Aynı iş iki çatıda: tedarikçi teklif karşılaştırması

Bir satın alma ekibinin, gelen tedarikçi tekliflerini okuyup karşılaştırmalı bir özet hazırlayan bir sistem istediğini düşünelim. Sistem teklif belgelerinden koşulları çıkarmalı, şirket politikasına uygunluğu kontrol etmeli, bir özet yazmalı ve belirli bir tutarın üzerindeki önerileri yöneticinin onayına sunmalı.

CrewAI ile ekip, rolleri belirleyerek başlar: belge analisti, politika denetçisi ve rapor yazarı. Her ajana uygun araç verilir, görevler sıralı süreçle bağlanır. İlk çalışan sürüm kısa sürede ortaya çıkar. Yönetici onayı ve tutara göre dallanma gerektiğinde iş bir Flow'a taşınır: akış ekibi çalıştırır, sonucu durumda saklar, koşula göre onay adımına ya da doğrudan rapora yönlenir.

LangGraph ile ekip önce durumu tasarlar: teklif listesi, çıkarılan koşullar, politika bulguları, onay kararı. Sonra her adımı bir düğüm olarak yazar ve tutara göre yönlendiren koşullu bir kenar ekler. Akış bir kontrol noktası kaydedicisiyle çalıştırıldığı için onay adımında beklenebilir; yönetici günler sonra yanıt verse bile akış kaldığı yerden sürer, gerekirse önceki bir duruma dönülüp yeniden çalıştırılır.

İki çözüm de işi yapar. CrewAI'da ilk sonuç daha erken gelir; LangGraph'ta bekleyen onaylar, hata sonrası devam ve adım düzeyinde denetim daha baştan tasarımın parçasıdır.

Hangi durumda hangisi?

Görev, farklı uzmanlıkların birbirine iş devrettiği ve ara adımların kesin sırasının çok önemli olmadığı bir iş birliğine benziyorsa CrewAI doğal bir başlangıçtır. Araştırma, içerik üretimi ya da analiz gibi işlerde rol tanımları ekibin düşünme biçimine de uyar ve prototip hızla çıkar.

Akış uzun sürüyorsa, dış sistemlerden yanıt ya da insan onayı bekliyorsa, hata sonrası kaldığı yerden devam etmesi gerekiyorsa ya da her adımın denetlenebilir olması isteniyorsa LangGraph'ın açık durum ve kontrol noktası yaklaşımı öne çıkar. Ödeme, iade, sözleşme incelemesi gibi kararların izlenebilir olması gereken süreçler buna örnektir.

Ekipteki deneyim de karara girer. Graf düşüncesine alışık, akış mantığını kendisi tasarlamak isteyen bir ekip LangGraph'ın esnekliğinden yararlanır. Ajan kavramlarına yeni başlayan bir ekip ise CrewAI'ın daha üst düzeydeki tanımlarıyla daha hızlı ilerler.

İki çatıyı birlikte düşünmek de mümkündür: bir ekip, keşif aşamasında CrewAI ile fikrini doğrulayıp, kesin kontrol gerektiren üretim akışını LangGraph ile yeniden kurabilir. Bu durumda rol ve görev tanımları, graf düğümlerinin tasarımı için iyi bir taslak olur.

Mindset programlarında ajan çatılarını nerede çalışırsınız?

Python ile Yapay Zeka Ajanları Geliştirme Eğitimi, tek ajanlı sistemlerden çoklu ajanlarla çalışmaya, araç kullanımından izleme ve değerlendirmeye uzanan akışıyla iki çatıyı karşılaştırmadan önce gereken ortak temeli kurar; ajan projesi geliştirecek yazılımcılar için başlangıç noktasıdır.

Tek bir çatıda derinleşmek isteyenler CrewAI ile Çok Ajanlı Sistem Geliştirme eğitiminde süreç modelleri ve delegasyonu, LangGraph ile Çok Adımlı Agent Tasarımı eğitiminde durum yönetimi ve graf tasarımını çalışabilir.

İlgili Mindset programı

Python ile Yapay Zekâ Ajanları (AI Agent) Geliştirme Eğitimi

Sık sorulanlar

Sık sorulan sorular

CrewAI kullanmak için LangChain gerekir mi?

CrewAI'ın GitHub sayfası çatıyı ajanlar, görevler, ekipler, akışlar, araçlar ve orkestrasyon için kendi temel yapılarına sahip bağımsız bir Python çatısı olarak tanımlar. LangGraph tarafında ise belgeler LangChain kullanmadan LangGraph kullanılabileceğini açıkça belirtir. Yani iki çatı da LangChain'e bağımlı olmadan çalışabilir; ekosistem araçlarını kullanmak isteğe bağlıdır.

LangGraph'ta akış yarıda kesilirse ne olur?

Akış bir kontrol noktası kaydedicisiyle çalıştırıldıysa, iş parçacığının durumu kalıcı olarak saklanır. Belgelere göre bu kalıcılık bir ajanın kesintiden sonra devam etmesini, hatadan sonra toparlanmasını, insan onaylı adımları ve önceki bir duruma dönerek yeniden çalıştırmayı mümkün kılar. Kaydedici kullanılmazsa durum yalnız çalışma süresince bellekte kalır.

CrewAI'da hiyerarşik süreç ne zaman tercih edilir?

Görevlerin hangi ajana gideceği önceden bilinmiyorsa ve dağıtım kararının çalışma anında verilmesi isteniyorsa hiyerarşik süreç uygundur. Bu süreçte bir yönetici, görevleri ajanların yeteneklerine göre dağıtır ve sonuçları denetler. Belgelere göre bunun için bir yönetici dil modeli ya da özel bir yönetici ajan tanımlamak zorunludur. Görev sırası belliyse sıralı süreç daha öngörülebilir ve daha ucuzdur.

Çok ajanlı bir sisteme gerçekten ihtiyacım olup olmadığını nasıl anlarım?

Tek bir ajanın iyi tanımlanmış araçlarla çözebildiği işlerde birden fazla ajan eklemek maliyeti, gecikmeyi ve hata ayıklama zorluğunu artırır. Farklı uzmanlıklar, farklı araç setleri ya da birbirini denetleyen adımlar gerekiyorsa çok ajanlı yapı değer üretir. İki çatıda da önce en basit akışı kurup ölçmek, sonra gerekçesi olan yerde ajan ya da düğüm eklemek daha sağlıklıdır.

CrewAI mi LangGraph mi? Çok Ajanlı Projede Seçim