Giriş
Büyük Dil Modeli (LLM) uygulamalarının manzarası, tek ajanlı etkileşimlerden karmaşık çoklu ajan sistemlerine doğru hızla evriliyor. Ancak bu sistemlerin inşası, önemli bir orkestrasyon zorluğu doğurur. Geliştiricilerin ajanların nasıl iletişim kuracağını, bağlamı nasıl paylaşacağını ve durumu nasıl yöneteceğini belirlemesi gerekir. Bu alanda öne çıkan üç çerçeve şunlardır: CrewAI, Microsoft'un AutoGen'ı ve LangChain'in LangGraph'i. Her biri, ajan iş akışlarınızı nasıl oluşturacağınızı ve yöneteceğinizi temel olarak değiştiren farklı bir mimari felsefeye sahiptir. Bu yazı, doğru aracı kullanım durumunuz için seçmenize yardımcı olmak amacıyla temel farklarını inceler.
Mimari Paradigmalar
Bu çerçeveler arasındaki birincil ayırt edici unsur, altta y soyutlama katmanlarıdır.
CrewAI: Rol Tabanlı İşbirliği
CrewAI, "roller" kavramına dayanarak inşa edilmiştir. Geliştiricilerin belirli roller, hedefler ve geçmiş hikayelere sahip Ajanlar tanımlamasına olanak tanıyarak ajan etkileşiminin karmaşıklığını soyutlar. Çerçeve, ardından görevleri sıralı veya hiyerarşik olarak yürütmek için bir "crew" (ekip) ajanlarını orkestralar. Bu yaklaşım; araştırmacının veri topladığı ve bir Yazar'ın bunu sentezlediği gibi, net bir iş bölümünün olduğu iş mantığı için oldukça sezgiseldir. Devralma mantığını otomatik olarak işleyerek iskelet kodu (boilerplate) kullanımını minimize eder.
AutoGen: Konuşma Yapabilen Ajanlar
AutoGen, konuşma desenlerine odaklanarak farklı bir yaklaşım benimsiyor. AutoGen'daki ajanlar "konuşma yapabilir"dir; yani diğer ajanlara, kullanıcılara veya harici araçlara konuşabilirler. Çerçeve, grup sohbetleri aracılığıyla kod yürütme ve hata ayıklama gerektiren senaryolarda öne çıkar. Rollere dair görüşlü değildir ve daha çok konuşma akışına ve sonlandırma koşullarına odaklanır. Bu durum, çoklu akıl yürütme ve araç kullanımı gerektiren karmaşık problem çözme görevleri için onu ideal kılar.
LangGraph: Grafik Tabanlı Durum Makineleri
LangChain ekosisteminin bir parçası olan LangGraph, ajan iş akışlarını grafiklerle tanımlanan durum makineleri olarak ele alır. Önceden tanımlanmış rollere veya konuşma desenlerine güvenmek yerine, geliştiriciler düğümleri (ajanlar veya işlevler) ve kenarları (geçişler) açıkça tanımlar. Bu, insan müdahalesi (human-in-the-loop), döngüsel yürütme ve kalıcı durum yönetimi gibi özelliklere olanak tanıyarak en yüksek düzeyde kontrol sağlar. En esnek seçenektir ancak grafik teorisi ve durum yönetimi hakkında daha derin bir anlayış gerektirir.
Pratik Uygulama Örneği
Farkı göstermek için basit bir görevi ele alalım: Araştırma bazlı bir blog yazısı hazırlamak. CrewAI'de bu bildirimseldir (declarative). Ajanları ve görevleri tanımlarsınız, motor bunları çalıştırır.
from crewai import Agent, Task, Crew, Process
# Ajanları Tanımla
researcher = Agent(
role='Senior Researcher',
goal='Çığır açan teknolojileri ortaya çıkar',
verbose=True
)
writer = Agent(
role='Content Strategist',
goal='Çarpıcı anlatılar oluştur',
verbose=True
)
# Görevleri Tanımla
research_task = Task(
description='Bir sonraki büyük AI trendlerini belirle',
agent=researcher
)
write_task = Task(
description='Bir blog yazısı yaz',
agent=writer
)
# Crew Oluştur
crew = Crew(
agents=[researcher, writer],
tasks=[research_task, write_task],
process=Process.sequential
)
result = crew.kickoff()
Buna karşılık, LangGraph durumun ve düğümlerin açıkça tanımlanmasını gerektirir; durumun ne zaman ve nasıl güncelleneceği konusunda daha ince taneli kontrol sunar.
from langgraph.graph import StateGraph
# Grafik oluşturucuyu tanımla
builder = StateGraph(AgentState)
# Düğümleri ekle
builder.add_node("researcher", researcher_node)
builder.add_node("writer", writer_node)
# Kenarları tanımla
builder.add_edge("researcher", "writer")
builder.set_entry_point("researcher")
graph = builder.compile()
Hangi Çerçeveyi Ne Zaman Seçmelisiniz?
Rol tabanlı iş akışlarının hızlı prototiplenmesini istiyor ve orkestrasyon kodunu minimize etmek istiyorsanız
CrewAI seçin. Pazarlama içeriği üretimi veya müşteri desteği triyajı gibi yapılandırılmış görevler için mükemmeldir.
İş akışınız karmaşık kod üretimi, hata ayıklama içeriyorsa veya açık uçlu sorunları çözmek için ajanlar arasında kapsamlı iletişim gerektiriyorsa
AutoGen seçin. Yazılım geliştirme asistanlarında özellikle güçlüdür.
Yürütme akışı üzerinde ince taneli kontrol, insan onay adımları veya karmaşık durum gereksinimleri olan üretim seviyesinde sistemler oluşturmak istiyorsanız
LangGraph seçin. Kurumsal düzeyde güvenilirlik ve özel mantık için en iyi seçenektir.
Sonuç
Tek bir "en iyi" çerçeve yoktur; yalnızca belirli mimari ihtiyaçlarınız için en uygun olan vardır. CrewAI sadeliği ve yapıyı sunar, AutoGen konuşma esnekliği sağlar ve LangGraph granüler kontrol sunar. Çoklu ajan ekosistemi olgunlaştıkça, bu ayrımaları anlamak, ölçeklenebilir, sürdürülebilir ve etkili AI uygulamaları oluşturmak için hayati önem taşıyacaktır. Çözmeye çalıştığınız sorunla başlayın ve mimari buna uygun şekilde şekillensin.