Uçtan uca gecikmeyi, belirteç tüketimini ve mimari farklılıkları ölçerek, 2.000 çalıştırma (her çerçeve için 5 görev, her biri 100 çalıştırma) üzerinden 4 popüler açık kaynaklı ajan tabanlı çerçeveyi karşılaştırmalı olarak test ettik.
Ajan tabanlı yapay zeka çerçevelerinin kıyaslaması
Çerçevelerin kendilerinin ajan davranışını nasıl etkilediğini ve bunun gecikme süresi ve token tüketimi üzerindeki sonuçlarını inceledik.
LangGraph, tüm görevlerde en düşük gecikme değerlerine sahip en hızlı çerçevedir; LangChain ise en yüksek gecikme süresine ve token kullanımına sahiptir.
5 görev ve 2.000 çalıştırma sonucunda LangChain, token verimliliği en yüksek çerçeve olarak öne çıkarken, AutoGen gecikme süresinde liderliği ele geçiriyor; LangGraph ve LangChain ise onu yakından takip ediyor. CrewAI ise genel olarak en yüksek performansı sergiliyor.
Yöntemimizi detaylı olarak burada inceleyebilirsiniz.
Görev 1: Temel toplama
İlk olarak, karmaşık mantıksal işlemler yapmadan, yalnızca tek bir aracı çağırıp sonucu döndürdüğümüzde her bir çerçevenin ek yükünü ölçtük.
LangChain ve LangGraph: Basit görevler için, her ikisi de 900'den az komut istemi belirteciyle 5 saniyenin altında tamamlanarak, ajansız kod kadar hızlı performans gösterirler. LangGraph'ın durum makinesi mimarisi, bu basitlik seviyesinde LangChain'e kıyasla fark edilebilir bir gecikme yaratmaz; durum yönetiminin ek yükü yalnızca görev karmaşıklığı arttıkça ortaya çıkar.
AutoGen: Hem gecikme süresi hem de token kullanımı açısından LangChain ve LangGraph'ın biraz üzerinde yer alıyor; bu da, tek adımlı bir görev için bile iki ajanın mesaj alışverişinde bulunduğu çoklu ajanlı konuşma döngüsünün temel maliyetini yansıtıyor.
CrewAI: Tek bir araç çağrısı yapması istendiğinde bile, LangChain'in neredeyse 3 katı token tüketerek ve neredeyse 3 kat daha uzun süre alarak "yönetimsel ek yük" olarak adlandırılabilecek bir durum sergiliyor. Planlayıcı ve Analist kişilikleri arasındaki çok adımlı doğrulama süreci, hızdan ziyade eksiksizliğe öncelik veren kapsamlı ancak kaynak yoğun bir yaklaşım sunuyor. Bu maliyet yapısal niteliktedir: görev karmaşıklığından bağımsız olarak ortaya çıkar.
Görev 2: Karşılaştırmalı gelir analizi (devlet yönetimi)
2. Görevde, çerçevelerin bellekte iki farklı filtre grubunu tutma (Durum Kalıcılığı) ve bunları birleştirme yeteneğini görmek istedik.
CrewAI
Günlük kayıt analizimizde, CrewAI'nin çerçeveler arasında en yüksek düzeyde altyapı şeffaflığı sağladığını, ancak bunun en yüksek kaynak tüketimi pahasına gerçekleştiğini tespit ettik.
CrewAI, elde edilen verileri hemen döndürmek yerine, kendi süreçlerini bir öz inceleme mekanizması aracılığıyla tekrar tekrar doğrular. Bu keşifsel davranış, yapılandırılmış max_iter=10 sınırına ulaşmasına ve bazı çalıştırmaların JSON çıktısı üretmeden sürekli bir düşünme döngüsünde takılı kalmasına neden oldu.
Bu davranışın temel nedeni, CrewAI'nin sistem komut istemine çok katmanlı talimatlar enjekte etmesi, her ajana bir rol, hedef ve geçmiş öyküsü ataması ve her adımda ReAct tarzı bir Düşünce → Eylem → Gözlem döngüsünü uygulamasıdır. Basit görevler için bile, LLM bu süreci atlayamaz ve uzun, ayrıntılı iç monologlar üretir; bu durum çoklu ajan senaryolarında daha da karmaşık hale gelir.
CrewAI, diğer çerçevelere kıyasla neredeyse iki kat daha fazla token tüketti ve LangChain'den üç kat daha uzun sürdü; bu da onu basit veri alma görevlerinden ziyade karmaşık durum geçişleri ve çok faktörlü karar verme süreçleri için daha uygun hale getiriyor.
Dil Zinciri
En hızlı ve en uygun maliyetli çerçeve. Kayıtlarımızda, LangChain'in görevi herhangi bir sapma olmadan 5-6 adımda tamamladığını gözlemledik: Yükle → Filtrele → Hesapla → Filtrele → Hesapla → Çıktı. Durum yönetimi çok basit olduğundan, ek yük neredeyse sıfırdır ve gecikme tüm çerçeveler arasında en düşüktür.
Otomatik Üretim
Son derece dengeli bir performans sergiledi. 2. Görevde, hem belirteç kullanımı hem de gecikme açısından LangGraph ile neredeyse birebir eşleşti ve görev zinciri doğrusal kaldığında konuşma döngüsünün ek yükünün önemli ölçüde artmadığını gösterdi.
Ancak, araç çağırma işlemi sırasında parametreleri doğrulamak için bazen fazladan bir doğrulama adımı ekler, bu da onu LangChain'den biraz daha yavaş hale getirir. Bir araç çağrısında hata oluştuğunda veya veriler beklendiği gibi geri dönmediğinde, bir sonraki adımda mantığını hemen günceller ve doğru JSON'a ulaşır. Araç çıktılarını diyalogsal bir akış olarak yönettiği için, mantıksal hatalara karşı en dayanıklı çerçevelerden biridir.
DilGrafiği
Bu görevde, grafik tabanlı mimarisi sayesinde LangGraph en istikrarlı çerçevedir. Kayıtlarında, durumun çalışma boyunca çok temiz bir şekilde taşındığını gözlemledik. Bu çerçevede veri kirlenmesi veya segmentlerin birbirine müdahale etme riski en düşük seviyededir. 100 çalıştırmanın tamamında, neredeyse aynı sayıda adımda ve aynı gecikme aralığında sonuçlar üretti.
Görev 3: Eşik ayrıştırma (sayısal disiplin)
Bu görevde, çerçevelerin "1 yıldan az görev süresi" ve "aylık 70 dolardan fazla ücret" gibi doğal dildeki sayısal koşulları, tenure_max=12 ve charges_min=70.0 gibi kesin araç parametrelerine ne kadar doğru bir şekilde çevirdiğini görmek istedik.
LLM zaten bu dönüşümü nasıl yapacağını biliyor; asıl test etmek istediğimiz şey, çerçevenin bu parametreleri kendi yeniden deneme mekanizmaları, yeniden istem bağlamı ve durum yönetimi döngüleri boyunca koruyup koruyamayacağıydı.
LangChain ve LangGraph
Her iki çerçeve de parametreleri (tenure_max=12, charges_min=70) LLM'nin ürettiği şekilde, herhangi bir değişiklik veya yeniden istem döngüsü olmadan doğrudan araca iletti. Bu verimlilik rakamlarda da kendini gösteriyor: Her iki çerçeve de Görev 3'ü 9 saniyenin altında ve 1.800'den az istem belirteciyle tamamladı; bu, bu görevdeki en düşük değer.
Sayısal eşiklerin çerçeve müdahalesi olmadan korunup korunmadığını ölçmek istediğimizde, bu iki yöntem beklentilerimizi karşıladı: hangi parametre üretildiyse, o parametre çalıştırıldı.
Otomatik Üretim
Autogen, sayısal doğruluk açısından tamamen başarılıdır. Bazı çalıştırmalarda, çerçevenin LLM tarafından oluşturulan parametreyi araca iletmeden önce bir doğrulama adımı eklediği gözlemlenmiştir; bu da çerçevenin parametreyi korurken fazladan bir adım harcadığı anlamına gelir. 2480 token ve 8 saniyede, fazladan adıma rağmen LangChain'in gecikmesiyle eşleşti ve doğrulama yükünün gerçek ancak küçük olduğunu doğruladı. Parametre bütünlüğü açısından beklentilerimizi karşıladı; doğrulama adımı, anlamlı bir gecikme cezası yerine yalnızca marjinal bir token maliyeti getirdi.
CrewAI
En dikkat çekici davranış, 3. görevi 30 saniyede 4.360 jetonla tamamlayan ve bu görevde en yüksek puanı alan CrewAI'da gözlemlendi. Günlük analizinden iki farklı başarısızlık modeli ortaya çıktı.
Bazı çalıştırmalarda, %68,81 olması gereken bir değer 0,6878 (ondalık oran) olarak döndürüldü. Bu, çerçevenin çıktı serileştirmesinin LLM'nin çıktısını orijinal bağlamından ayırabileceğini gösterir.
Kayıtlar, LLM'nin başlangıçta doğru parametreleri, tenure_max=12 ve charges_min=70 değerlerini ürettiğini gösteriyor. Ancak CrewAI "Ayrıştırma başarısız" döngüsüne girdiğinde, çerçeve LLM'yi yeniden değerlendirmeye zorladı. Yeniden sorgulama bağlamında, LLM eşiği tenure_max=14'e kaydırdı ve charges_min filtresini tamamen devre dışı bırakarak %46,84'lük bir müşteri kaybı oranı üretti; bu oran aslında 14 yıldan daha kısa süreli tüm müşterilerin müşteri kaybı oranıdır. Tam olarak gözlemlemek istediğimiz senaryo buydu: çerçevenin yeniden deneme mekanizması, LLM'nin zaten doğru olarak belirlediği bir parametreyi bozabilir.
Görev 4: Hata toleransı ve yön değiştirme kapasitesi
Bu görevde, her bir çerçevenin yıkıcı senaryoları nasıl ele aldığını ve gecikme ve token tüketimi üzerindeki etkisini gözlemlemek istedik. Araç, ajanı köşeye sıkıştırarak art arda 3 farklı hata türü (Ağ, Zaman Aşımı, Hız Sınırı) veriyor. İlk iki hata ajana yeniden deneme talimatı veriyor ve her ikisi de yeniden denendikten sonra, gelen Hız Sınırı hatası ajana 10 saniye beklemesini söylüyor. Ajan bekleyip yeniden denedikten sonra, araç normal şekilde çalışmaya başlıyor.
LangGraph ve Otomatik Oluşturma
Bu iki çerçeve, bu görevde araç arızalarıyla karşılaştıklarında otomatik olarak alternatif çözümler buldu.
Araç bir oran sınırlama uyarısı verdiğinde, bu temsilciler durup beklemek yerine, başarısız olan aracı tamamen terk etmeye ve alternatif bir yol bulmaya karar verdiler. Yaklaşımları şuydu: "Bu araç çalışmadığına göre, her ödeme yöntemini tek tek filtreleyeceğim, her biri için ayrı ayrı müşteri kaybı oranını hesaplayacağım ve ardından sonuçları kendim birleştireceğim."
Yöntem: Görevi tek bir araç çağrısıyla tamamlamak yerine, filtreleme ve hesaplama için ayrı ayrı iki araç kullanarak, her bir Ödeme Yöntemini (Elektronik çek, Postayla gönderilen çek vb.) ayrı ayrı işlediler.
Bu ajanlar, yol bağımlılığı yerine hedef odaklı akıl yürütme ile çalışırlar. En kısa yol mevcut değilse, saniyeler içinde alternatif bir uygulama planı oluşturabilirler.
LangGraph, 4. Görevde 15.010 komut istemi belirteciyle, tüm kıyaslama boyunca en yüksek tek görev belirteç sayısına ulaştı; bunun nedeni, durum makinesinin her adımda her manuel araç çağrısının büyüyen geçmişini bağlam içine geri biriktirmesidir. AutoGen, ara sonuçların konuşma tarzında işlenmesi nedeniyle biraz daha kontrollü bir şekilde 10.750 belirteçle onu takip etti. Buna rağmen, her ikisi de yaklaşık 24-27 saniyede tamamlandı ve bu da ek belirteç maliyetinin anlamlı bir gecikmeye dönüşmediğini doğruladı, çünkü pivot işlemi kendisi hızlıydı.
CrewAI
Önceki görevlerde en yüksek token tüketimini göstermesine rağmen, CrewAI bu görevde en düşük token kullanımını (ancak en yüksek gecikme değerlerini) sergiledi.
Neden en düşük seviye?
CrewAI, rakipleri gibi 10-15 adımlık manuel bir çözüm yoluna başvurmadı. Hatalarla karşılaştığında, her adımda tüm geçmişi ve karmaşık ara verileri tekrar tekrar LLM'ye geri pompalamak yerine, daha odaklı, modüler bir mantık döngüsü oluşturdu. Gereksiz ayrıntılardan kaçınarak, bu görevde en uygun maliyetli çerçeve haline geldi.
Yüksek gecikme süresinin sebebi nedir?
CrewAI'nin yönetim yapısı, bir hatayla karşılaştığında planı durdurup yeniden değerlendiriyor. 10 saniyelik bekleme uyarısı aldığında, "strateji planlama" aşamasında daha fazla zaman geçirdi. Ayrıca, filtreleme için başka bir araca geçmek yerine, sürekli olarak ana aracın toparlanmasını beklemeyi veya istikrarlı araçla denemeyi tercih etti; bu da genel süreyi uzattı.
Dil Zinciri
LangChain bu görevde en önemli dönüşümünü geçirdi ve dayanıklılığın doğru yapılandırmaya bağlı olduğunu kanıtladı.
İlk çalıştırmamızda, LangChain her denemede ConnectionError hatası vererek çöktü.
LangChain'in varsayılan AgentExecutor'ı, bir araç içinden fırlatılan ham Python istisnalarını ölümcül hatalar olarak ele alır ve işlemi sonlandırır. Rakiplerinin aksine, varsayılan olarak "hatalar gözlemlerdir" felsefesini uygulamaz. Ajan hatayı asla görmediği için, onun hakkında akıl yürütme şansı da yoktur.
Langchain_agent.py dosyasındaki araç çağrısını bir try-except bloğu içine aldık. Bu, hatayı ajanın işleyebileceği okunabilir bir mesaja dönüştürdü.
Düzeltme sonrası davranış: Düzeltmeyi uyguladıktan sonra, LangChain'in günlüklerinde LangGraph ile tamamen aynı mantığı sergilediğini gözlemledik. Araçtan 3 hata aldı, hemen stratejisini değiştirdi ve iki ayrı araç kullanmaya başladı; biri filtreleme, diğeri hesaplama için. Her ödeme yöntemini ayrı ayrı işledi ve sonuçları birleştirdi.
LangChain aslında LangGraph kadar yetenekli ve uyarlanabilir, ancak çerçevenin hata işleme özelliği varsayılan olarak kapalı olduğundan bu yeteneğini gösterme fırsatı bulamadı. Doğru şekilde yapılandırıldıktan sonra, aynı alternatif yol yaklaşımını kullanarak doğru sonuca ulaştı.
Bu farklılıklar neden ortaya çıktı? (çerçeve mimarisi analizi)
Eğer ajan davranışı yalnızca LLM'ye (GPT-5.2) bağlı olsaydı, tüm çerçeveler benzer şekilde davranmalıydı. Bununla birlikte, bu oranlardaki belirgin farklılıklar, çerçevelerin kendi iç döngü mekanizmalarından kaynaklanmaktadır:
1. LangGraph ve AutoGen (%90 Pivot):
LangGraph, Durum Makinesi mimarisi üzerinde çalışırken, AutoGen ise Konuşma tabanlı bir model üzerinde çalışır. Her iki sistemde de hatalar bir geri bildirim döngüsü olarak işlenir. LangGraph'ta, hatayı alan durum bir sonraki düğüme geçer; AutoGen'de ise Proxy ajanı hatayı bir sohbet mesajı olarak asistana iletir. Bu sürekli yönlendirme mekanizması, ajanı bir çözüm aramaya devam etmeye zorlar. Ajan sürekli olarak "Bir hata aldım, ne yapmalıyım?" sorusuyla karşı karşıya kaldığı için, alternatif bir manuel yol izlemeye karar verme olasılığı %90'a yükselir.
2. LangChain (%65 Pivot / %35 Bekleme):
LangChain, sıralı bir AgentExecutor mimarisi üzerinde çalışır. Hata yönetimi mevcut olsa bile, yürütme döngüsü daha doğrusal bir yapıya sahiptir ve öncelikle nihai bir yanıt üretmeye odaklanmıştır. Araç 3-4 adımda hata verirse, LangChain bazen alternatif bir stratejiye geçmek yerine, aracın bir sonraki denemede başarılı olmasını veya mevcut bağlamdan bir sonuç üretmesini beklemeyi tercih eder. LangChain'in durum kilitlemesi LangGraph'ınkinden daha esnek olduğundan, bekleme/doğrudan çözüm oranı yaklaşık %35 civarındadır.
3. CrewAI (%0 Pivot):
CrewAI, Yönetimsel Süreç mimarisi üzerinde çalışır. Ajanları, Rol ve Görev tanımlarına sarılmıştır. Hatalar oluştuğunda, iç mimarisi tipik olarak Kendi Kendini Düzeltme veya Yeniden Deneme mantığını tetikler. Bununla birlikte, "tüm planı iptal edip 5 adımda manuel filtreleme yapalım" gibi radikal bir strateji değişikliği, CrewAI'nin yönetimsel plan yapısıyla çelişir. CrewAI, planından tamamen vazgeçmek yerine, "Bana verilen aracı düzeltmeliyim veya en yakın alternatifi kullanmalıyım" disipliniyle çalışır. Bu, temelde hedef merkezli bir yaklaşımdan ziyade plan merkezli bir yaklaşımdır.
Görev 5: Yapılandırılmamış veri düzenlemesi (yapılandırılmamış veri yönlendirme)
5. görevde, çerçevelerin CSV dosyaları içindeki JSON ve uzun metin (LongText) sütunlarıyla karşılaştıklarında nasıl davrandıklarını gözlemledik. Ajanların öncelikle bu sütunların veri türünü keşfetmeleri, ardından doğru işleme araçlarını sırayla veya paralel olarak seçmeleri gerekiyordu.
Gerçek dünyada, yapılandırılmamış veri yönetimi, bir aracının standart tablo verilerinin ötesine geçerek JSON veri blokları, serbest metin paragrafları veya iç içe nesnelerle çalışmasını gerektirir.
Bu tür verileri doğru şekilde işleyebilecek bir çerçeve için iki şeyi iyi yapması gerekir:
1- Hangi aracın hangi veri türüne uygun olduğunu anlayan bir keşif zekası
2- Birden fazla bağımsız araç çağrısını koordine eden bir orkestrasyon mekanizması.
Görev 5'i özellikle bu iki yeteneği ayrı ayrı ölçmek için tasarladık.
Otomatik Üretim
AutoGen bu görevde güçlü bir performans sergileyerek 8.170 istem belirteci ve 47 saniyelik ortalama gecikme süresiyle, 5. Görevdeki en hızlı ve en verimli belirteç kullanımını sağlayan sonucu elde etti.
Mimarisinin merkezinde yer alan konuşma döngüsü, yani AssistantAgent ve UserProxyAgent arasındaki mesajlaşma, genellikle gereksiz ayrıntılara yol açan bir yapı olarak görülür. Ancak, 5. Görevde bu yapı bir avantaja dönüştü.
Konuşma geçmişine bakarak, LLM, Metadata ve SupportNotes sütunlarının birbirinden bağımsız olduğunu fark etti. Ardından, aynı anda 4 aracı listeleyen tek bir TOOL CALLS yanıtı gönderdi: inspect_column(Metadata), inspect_column(SupportNotes), parse_json_column(…) ve summarize_text_column(…) hepsi paralel olarak çalıştı. Bu, görevi en az belirteç ve en az adımla yalnızca 3 LLM turunda tamamlamasına olanak sağladı.
Bu davranışın ardındaki teknik neden açık: AutoGen'in araç yürütme motoru, LLM tarafından döndürülen tool_calls listesini atomik olarak çalıştırır ve sonuçları tek bir görüşme adımında toplar. Çerçevenin "görüşmeyi yönetme" felsefesi, doğal olarak aynı anda birden fazla paralel kanalın açılmasına olanak tanır ve belirteç ve gecikme sayıları bunu doğrudan doğrular.
DilGrafiği
LangGraph, 9.150 komut istemi belirteci ve 70 saniyelik ortalama süreyle, belirteç sayısı bakımından AutoGen'e yakın ancak süre bakımından daha yavaş bir performans sergiledi. Durum Makinesi mimarisi, 5. Görevde hem en büyük gücünü hem de en belirgin zayıflığını aynı anda gösterdi.
Her çalıştırmada, llm düğümü → araçlar düğümü → llm düğümü döngüsü, önceki tüm araç çıktılarını durumda biriktirir ve bunları LLM'ye iletir. Bu yapı, ajanın hiçbir şeyi unutmamasını garanti eder ki bu normalde önemli bir avantajdır.
Ancak, 5. Görevde bu güçlü yönü aleyhine işledi. LangGraph doğru araçları buluyor ve doğru segmenti oluşturuyordu. Ancak analiz tamamlandıktan sonra bile, biriken durumda belirsizlikler tespit etti, zaten tamamlanmış adımları hala beklemede olarak yorumladı ve tekrar tekrar ek araç çağrıları tetikledi. Gerekli verileri zaten almış ve doğru cevabı üretmek üzereyken bile, durum makinesinin "eksik adım" sinyali devreye girdi ve ajan gereksiz döngülere girdi. Sonuç olarak, çalıştırma başına araç çağrısı sayısı 6 ile 16 arasında değişti. Durumun "hiçbir şeyi unutmama" gücü bazen tamamlanmış adımların tamamlanmamış gibi görünmesine neden oldu, ajanı gereksiz döngülere geri çekti ve karşılaştırılabilir bir belirteç sayısına rağmen gecikmeyi AutoGen'in 23 saniye üzerine çıkardı.
CrewAI
CrewAI'nin 5. Görev performansı, tüm kıyaslama testinde en yüksek varyansı gösterdi. Bazı çalıştırmalarda, yalnızca 5 araç çağrısıyla kusursuz bir sıra izledi, hiçbir sapma olmadı ve bir komut dosyası gibi çalıştı. Bu çalıştırmalarda, CrewAI'nin rol ve görev tanımlı yönetim yapısı tam olarak amaçlandığı gibi çalıştı: ajan rolünü açıkça anladığında, tahmin edilebilir ve disiplinli bir şekilde davrandı.
Ancak diğer çalıştırmalarda (örneğin, 16. çalıştırma: 35 araç çağrısı), tam bir kaos yaşandı. Bunun temel nedeni, CrewAI'nin her adımda ürettiği iç monologdu (Düşünce). Doğru filtreyle segmenti doğru şekilde oluşturduktan sonra, ajanın iç monologu ek filtrelerin de uygulanması gerekip gerekmediğini sorgulamaya başladı. Sonucu gördükten sonra, mevcut segmentin geçerli olup olmadığı veya önceki segmentin öncelikli olması gerekip gerekmediği konusunda şüphe duydu. Bu şüphe, verileri sıfırdan yeniden yüklemesine neden oldu. Ardından tekrar filtreledi, başka bir doğrulama döngüsüne girdi, tekrar şüphe duydu ve bu sarmalı 8 kez tekrarladı.
CrewAI'da her Düşünce bağımsız bir değerlendirme üretir ve bu değerlendirmeler bazen daha önce doğrulanmış adımları geçersiz kılar. Yönetimsel Sürecin "sürekli doğrulama" refleksi, bazı çalışmalarda, ajanı kendi doğru kararlarını yeniden sorgulamaya itti.
Dil Zinciri
LangChain'in AgentExecutor yapısı doğası gereği sıralı olup, bu kısıtlama en çok Görev 5'te belirginleşmiştir. 10.070 istem belirteci ve 86 saniyelik ortalama süreyle, en yüksek belirteç sayısına sahip olmamasına rağmen bu görevdeki en yavaş çerçeve olmuştur.
Her adımda tek bir araç çağrısı yapar, sonucu alır ve ardından devam eder; bu da 4 bağımsız aracın 4 ayrı LLM turu ve 4 ayrı bekleme süresi gerektirdiği anlamına gelir. AutoGen'in 47 saniyelik medyan değeri ile LangChain'in 86 saniyelik medyan değeri, sıralı ve paralel yürütmenin maliyetinin doğrudan bir ölçüsüdür.
5. Görevde, LangChain'in araç sayısı genellikle 9 veya 15'te sabitlendi. Bu iki küme, iki tipik stratejiye işaret ediyor: bazı çalıştırmalarda inceleme adımını atlayıp doğrudan ayrıştırma ve özetlemeye geçti (9 araç), diğerlerinde ise işleme başlamadan önce her sütunu inceledi (15 araç). LangChain'in doğrusal yürütücü kimliği burada açıkça ortaya çıktı: ne AutoGen'in paralel verimliliğini ne de CrewAI'nin monolog kaosunu sergiledi.
Yapılandırılmamış veri yönetimi ve çerçeve mimarisi
Bu çalışmanın sonuçları, bir çerçeve yazılımının yapılandırılmamış verileri (JSON, LongText) ne kadar verimli bir şekilde yönetebildiğinin, doğrudan iç döngü mekanizmasıyla bağlantılı olduğunu ortaya koymaktadır:
Paralel araç çağrılarına (AutoGen) olanak tanıyan çerçeveler, bağımsız veri sütunlarını tek bir adımda işleyebilir. Büyük JSON nesneleri ve çok sayıda metin sütunu içeren gerçek dünya senaryolarında, bu fark büyük bir maliyet ve hız avantajı anlamına gelir.
Durum odaklı döngülere sahip çerçeveler (LangGraph) veri tutarlılığında mükemmeldir, ancak geçmişte birikmiş olan tamamlanmış adımların yeniden değerlendirilmesi riskini taşırlar.
Monolog tabanlı çerçeveler (CrewAI), verilerin türünü ve anlamını anlama konusunda oldukça yeteneklidir, ancak bu derinlik bazen aşırı sorgulamaya ve tekrara dönüşebilir.
Doğrusal yürütme çerçeveleri (LangChain), yapılandırılmamış verilerin farklı dallarını ayrı ayrı işleyerek her iki dünyanın da orta yolunu oluşturan bir sonuç üretir.
GitHub'da ajan tabanlı çerçevelerin yıldız sayısındaki artış
Ajan tabanlı yapay zeka çerçevelerini karşılaştırın
Ajan tabanlı yapay zeka çerçeveleri birçok temel boyutta farklılık gösterir ve bu farklılıkları anlamak, anlamlı karşılaştırmalar yapabilmek için çok önemlidir.
Çoklu ajan orkestrasyonu
Çoklu ajanlı orkestrasyon, tek bir ajanın yeteneklerini aşan karmaşık iş akışlarını ele almak için birden fazla uzmanlaşmış yapay zeka ajanını koordine eder. Tek bir monolitik ajan oluşturmak yerine, orkestrasyon işi farklı rollere, araçlara ve uzmanlığa sahip ajanlar arasında bölüştürür. Her çerçeve, ajan koordinasyonuna farklı yaklaşımlar sunar.
DilGrafiği
LangGraph, nispeten iyi bilinen bir çerçevedir ve ajan sistemleri geliştiren yazılımcılar için önemli bir seçenek olarak öne çıkmaktadır.
Çoklu ajan koordinasyonunun açıkça tanımlanması: Birden fazla ajanı , her biri kendi mantığına, belleğine ve sistemdeki rolüne sahip ayrı düğümler veya gruplar olarak modelleyebilirsiniz.
API'ler ve araçlar genelinde yapay zeka iş akışları oluşturur. Bu nedenle, RAG ve özel işlem hatları için iyi bir uyum sağlar.
Otomatik Üretim
AutoGen, birden fazla ajanın mesajları bir döngü içinde ileterek iletişim kurmasına olanak tanır. Her ajan, kendi iç mantığına bağlı olarak yanıt verebilir, düşünme süreçlerini aktarabilir veya araçları çağırabilir.
Ajanlar arası eşzamansız işbirliği özelliği sayesinde, ajan davranışının deneme veya yinelemeli iyileştirme gerektirdiği araştırma ve prototipleme senaryoları için özellikle kullanışlıdır.
CrewAI
CrewAI, düşük seviyeli mantığın büyük bir kısmını sizin için halleder ve çoklu ajan koordinasyonu sağlar:
- İzleme ve hata ayıklama için izleme araçlarıyla entegre olur.
- Koşullu mantık, döngüler ve durum yönetimi içeren Akışlar aracılığıyla yerleşik yürütme kontrolü.
- Hiyerarşik (yönetici-çalışan) ve yapılandırılmış çoklu ajan koordinasyonunu destekler.
OpenAI Sürü
Swarm, prototipleme için geliştirilmiş, hafif ve deneysel bir çoklu ajan çerçevesidir. Ajanlar, ortak bağlamı koruyarak görevleri aktarırken, sırayla ve devir teslimlerle çalışırlar. Esnek iş akışları için doğal dil rutinleri ve Python araçları kullanır.
Dil Zinciri
LangChain, RAG araçlarıyla tek ajanlı LLM uygulamaları oluşturmak için bir çerçevedir. Belge işleme iş akışları için zincirler, araçlar, bellek ve veri alma gibi modüler bileşenler sağlar.
LangChain, esas olarak tek bir aracının iş akışını yönettiği tek aracılı yürütme modelleri aracılığıyla çalışır.
Ajan ve fonksiyon tanımı
DilGrafiği
LangGraph, ajan tasarımına grafik tabanlı bir yaklaşım benimser; burada her ajan kendi durumunu koruyan bir düğüm olarak temsil edilir. Bu düğümler, koşullu mantık, çoklu ekip koordinasyonu ve hiyerarşik kontrol sağlayan yönlendirilmiş bir grafik aracılığıyla bağlanır. Bu sayede, ölçeklenebilir orkestrasyon için denetleyici düğümlere sahip çoklu ajan grafikleri oluşturabilir ve görselleştirebilirsiniz.
LangGraph, araçları ajanlara bağlayan , açıklama eklenmiş, yapılandırılmış fonksiyonlar kullanır. Düğümler oluşturabilir, bunları çeşitli denetleyicilere bağlayabilir ve farklı ekiplerin nasıl etkileşimde bulunduğunu görselleştirebilirsiniz. Bunu, her ekip üyesine ayrıntılı bir iş tanımı vermek gibi düşünün. Bu, birlikte çalışan ajanlar oluşturmayı ve test etmeyi kolaylaştırır.
Otomatik Üretim
AutoGen, ajanları esnek yönlendirme ve eşzamansız iletişim yeteneğine sahip uyarlanabilir birimler olarak tanımlar. Ajanlar, mesaj alışverişi yaparak birbirleriyle (ve isteğe bağlı olarak insanlarla) etkileşime girer ve işbirlikçi problem çözme olanağı sağlar. LangGraph gibi , açıklama eklenmiş, yapılandırılmış fonksiyonlar kullanır.
CrewAI
CrewAI, rol tabanlı bir tasarım yaklaşımı benimser. Her ajana bir rol (örneğin, Araştırmacı, Geliştirici) ve erişebileceği bir dizi beceri, işlev veya araç atanır. İşlev tanımlaması, yapılandırılmış açıklamalar aracılığıyla yapılır.
OpenAI Sürü
OpenAI Swarm, ajanların komut istemleri ve fonksiyon açıklamaları aracılığıyla tanımlandığı , rutin tabanlı bir model kullanır. Resmi orkestrasyon veya durum modellerine sahip değildir; bunun yerine manuel olarak yapılandırılmış iş akışlarına dayanır. Fonksiyonların davranışı, LLM tarafından açıklama metinleri aracılığıyla çıkarılır (Swarm, bir fonksiyonun ne yaptığını açıklamasını okuyarak belirler), bu da bu kurulumu esnek ancak daha az hassas hale getirir.
Dil Zinciri
LangChain, tek bir düzenleyici ajanın dil modellerine ve çeşitli araçlara yapılan çağrıları yönettiği zincir tabanlı bir mimari kullanır. İşlevleri, araç setleri ve komut istemi şablonları gibi açık arayüzler aracılığıyla tanımlar.
LangChain öncelikle merkezi iş akışlarına odaklanmış olsa da, çoklu ajan kurulumları için uzantıları destekler ancak ajanlar arası yerleşik iletişim özelliği bulunmamaktadır.
Hafıza
Bellek kapasitesi :
- Durum bilgisi içeren (Stateful) : Çerçevenin, çalıştırmalar arasında kalıcı belleği destekleyip desteklemediği.
- Bağlamsal : Mesaj geçmişi veya bağlam aktarımı yoluyla kısa süreli belleği destekleyip desteklemediği.
Bellek özellikleri, bağlamı hatırlayabilen ve zaman içinde uyum sağlayabilen ajan sistemleri oluşturmanın önemli bir parçasıdır:
- Kısa süreli hafıza : Son etkileşimleri takip ederek temsilcilerin çok aşamalı konuşmaları veya adım adım iş akışlarını yönetmelerini sağlar.
- Uzun süreli bellek : Kullanıcı tercihleri veya görev geçmişi gibi oturumlar arası kalıcı bilgileri depolar.
- Varlık belleği : Etkileşimler sırasında bahsedilen belirli nesneler, kişiler veya kavramlar hakkındaki bilgileri izler ve günceller (örneğin, daha önce bahsedilen bir şirket adını veya proje kimliğini hatırlamak).
DilGrafiği
LangGraph iki tür bellek kullanır: tek bir görev veya görüşme sırasında bilgileri depolayan iş parçacığı içi bellek ve oturumlar arasında verileri kaydeden iş parçacıkları arası bellek . Geliştiriciler, bir görevin akışını kaydetmek ve bunu belirli bir thread_id ile ilişkilendirmek için MemorySaver kullanabilirler. Uzun süreli depolama için LangGraph, InMemoryStore veya diğer veritabanları gibi araçları destekler. Bu, bellek kapsamının nasıl belirlendiği ve yürütmeler arasında nasıl saklandığı konusunda esnek kontrol sağlar.
Otomatik Üretim
AutoGen, bağlamsal bir bellek modeli kullanır. Her ajan, etkileşim geçmişini depolayan bir context_variables nesnesi aracılığıyla kısa vadeli bağlamı korur. Dahili kalıcı belleği yoktur.
CrewAI
CrewAI Katmanlı bellek yapısını varsayılan olarak sunar. Kısa süreli belleği ChromaDB vektör deposunda, son görev sonuçlarını SQLite'da ve uzun süreli belleği (görev açıklamalarına bağlı olarak) ayrı bir SQLite tablosunda saklar. Ek olarak, vektör gömme yöntemini kullanarak varlık belleğini destekler. Bu bellek kurulumu, memory=True etkinleştirildiğinde otomatik olarak yapılandırılır.
OpenAI Sürü
Swarm durumsuz bir yapıya sahiptir ve belleği doğal olarak yönetmez. Geliştiriciler kısa süreli belleği context_variables üzerinden manuel olarak geçirebilir ve isteğe bağlı olarak daha uzun süreli bağlamı depolamak için harici araçlar veya üçüncü taraf bellek katmanları (örneğin, mem0) entegre edebilirler.
Dil Zinciri
LangChain, esnek bileşenleri aracılığıyla hem kısa süreli hem de uzun süreli belleği destekler. Kısa süreli bellek, genellikle bir oturum içindeki konuşma geçmişini izleyen bellek içi tamponlar aracılığıyla yönetilir. Uzun süreli bellek için LangChain, gömülü vektörleri ve alma verilerini kalıcı hale getirmek üzere harici vektör depoları veya veritabanlarıyla entegre olur.
Geliştiriciler, yerleşik bellek sınıflarını kullanarak bellek kapsamlarını ve stratejilerini özelleştirebilir ve böylece etkileşimler genelinde bağlamsal ve varlığa özgü belleğin verimli bir şekilde yönetilmesini sağlayabilirler.
İnsan müdahalesi
DilGrafiği
LangGraph, grafiği duraklatmak ve yürütme sırasında kullanıcı girişini beklemek için özel kesme noktalarını (interrupt_before) destekler.
Otomatik Üretim
AutoGen, UserProxyAgent aracılığıyla insan aracıları doğal olarak destekler ve bu sayede insanlar aracı işbirliği sırasında adımları inceleyebilir, onaylayabilir veya değiştirebilir.
CrewAI :
CrewA I , human_input=True ayarını yaparak her görevden sonra geri bildirim sağlar; ajan, kullanıcıdan doğal dil girdisi toplamak için duraklatılır.
OpenAI Sürü
OpenAI Swarm'da yerleşik HITL bulunmamaktadır.
Dil Zinciri
LangChain, yürütmeyi durdurmak ve insan müdahalesi istemek için zincirler veya aracılar içine özel kesme noktaları eklemeye olanak tanır. Bu, iş akışındaki tanımlanmış noktalarda inceleme, geri bildirim veya manuel müdahaleyi destekler.
Ajan tabanlı yapay zeka çerçevelerinde Model Bağlam Protokolü (MCP) entegrasyonu
Yapay zekâ ajanlarının veritabanları, API'ler, dosya sistemleri ve iş uygulamaları gibi harici araçlarla etkileşim kurması gerekiyor. Standart bir yapı olmadan, her çerçeve her araç için özel entegrasyonlar oluşturmak zorunda kalıyor ve bu da parçalanmış bir ekosisteme yol açıyordu. MCP, herhangi bir ajanın tek bir arayüz üzerinden herhangi bir araca bağlanmasına olanak tanıyan evrensel bir protokol sağlayarak bu sorunu çözüyor.
Her bir çerçeve MCP ile nasıl entegre oluyor?
DilGrafiği
LangGraph, mevcut araçları otomatik olarak keşfeden ve bunları LangChain uyumlu biçime dönüştüren bir adaptör aracılığıyla MCP sunucularına bağlanır. Ardından, aracılar bu araçları kendi yerel yetenekleriyle birlikte sorunsuz bir şekilde kullanabilirler.
Otomatik Üretim
AutoGen, uzantı modülü aracılığıyla yerleşik MCP entegrasyonu sağlar. Geliştiriciler, MCP sunucularına bağlanabilir ve yalnızca birkaç satır kodla tüm araçlarını AutoGen ajanlarının kullanımına sunabilirler.
CrewAI
CrewAI ajanları, basit URL'ler veya yapılandırılmış ayarlar kullanarak yapılandırmalarında doğrudan MCP sunucularına referans verebilirler. Çerçeve, bağlantı yaşam döngüsünü ve hata yönetimini otomatik olarak ele alır.
OpenAI Sürü
Swarm, ekosistemi genelinde OpenAI'ün yerel MCP desteğinden faydalanmaktadır. OpenAI, MCP'yi ChatGPT ve Agents SDK'sına entegre ettiğinden beri, Swarm bu altyapıyı doğrudan kullanabilir.
Dil Zinciri
LangChain, Python fonksiyonlarının MCP sunucularına köprü görevi gördüğü MCP araç çağırma yetenekleri sunar. Bu, çeşitli kaynaklardan araçları çekmeyi ve özel sarmalayıcılar olmadan zincirlere, aracılara ve diğer LangChain bileşenlerine entegre etmeyi mümkün kılar.
Ajan tabanlı yapay zeka çerçeveleri aslında ne işe yarıyor?
Ajan tabanlı yapay zeka çerçeveleri, veri akışının LLM'lere nasıl girip çıktığını yönetmeye ve bu akışları yönlendirmeye yardımcı olur. Temel düzeyde, LLM'nin tahmin edilebilir bir biçimde yanıt vermesi için istemleri yapılandırmaya ve yanıtları doğru araca, API'ye veya belgeye yönlendirmeye yardımcı olurlar.
Sıfırdan bir yapı oluşturuyorsanız, komut istemini manuel olarak tanımlamanız, LLM'nin kullanmak istediği aracı çıkarmanız ve ilgili API çağrısını tetiklemeniz gerekir. Çerçeveler bunu şu şekilde kolaylaştırır:
- İstem düzenlemesi : Karmaşık istemlerin oluşturulması, yönetilmesi ve LLM'lere yönlendirilmesi.
- Araç entegrasyonu : Temsilcilerin harici API'leri, veritabanlarını, kod fonksiyonlarını vb. çağırmasına olanak sağlamak.
- Bellek : Zaman içinde (kısa ve uzun vadeli) durumu koruma yeteneği.
- RAG entegrasyonu : Harici kaynaklardan bilgiye erişimi mümkün kılma.
- Çoklu ajan koordinasyonu : Ajanların nasıl işbirliği yapacağı veya görevleri nasıl devredeceği konusunda yapılandırma.
Ajan tabanlı yapay zeka çerçeveleri: Gerçek hayattan kullanım örnekleri
LangGraph – Çok temsilcili seyahat planlayıcısı
LangGraph ile oluşturulmuş bir üretim projesi, uçuş ve otel verilerini (Google Uçuşlar ve Oteller API'lerini kullanarak) çeken ve seyahat önerileri üreten , durum bilgisi içeren, çoklu ajanlı bir seyahat asistanını göstermektedir. 4
CrewAI – Aktif içerik oluşturucu
CrewAI'nin resmi örnekler deposunda, rol odaklı temsilcilerin (örneğin, "Araştırmacı", "Yazar") görevler üzerinde iş birliği yaptığı seyahat planlaması , pazarlama stratejisi , hisse senedi analizi ve işe alım asistanları gibi akışlar yer almaktadır. 5
CrewAI, Groq kullanarak üst düzey bir içerik özetini eksiksiz bir makaleye dönüştürüyor.
Ajan tabanlı yapay zeka çerçevelerinin temel özellikleri
Model desteği :
- Çoğu modelden bağımsızdır ve birden fazla LLM sağlayıcısını destekler (örneğin, OpenAI, Anthropic, açık kaynaklı modeller).
- Ancak, sistem komut istemi yapıları çerçeveye göre değişiklik gösterir ve bazı modellerde diğerlerine göre daha iyi performans gösterebilir.
- Sistem uyarılarına erişim ve bunların özelleştirilmesi, en iyi sonuçlar için genellikle çok önemlidir.
Takımlar :
- Tüm çerçeveler, aracı eylemlerini etkinleştirmenin temel bir parçası olan araç kullanımını destekler.
- Özel araçları tanımlamak için basit soyutlamalar sunun.
- Çoğu, Model-Context-Protocol (MCP) protokolünü ya yerel olarak ya da topluluk eklentileri aracılığıyla destekler.
Bellek / Durum :
- Adımlar veya LLM çağrıları boyunca kısa süreli hafızayı korumak için durum izleme özelliğini kullanın.
- Bazıları, temsilcilerin bir oturum içindeki önceki etkileşimleri veya bağlamı korumasına yardımcı olur.
RAG (Retrieval-Augmented Generation) :
- Çoğu, RAG için kolay kurulum seçenekleri içerir ve vektör veritabanlarını veya belge depolarını entegre eder.
- Bu, ajanların yürütme sırasında harici bilgilere başvurmasına olanak tanır.
Diğer ortak özellikler
- Asenkron yürütmeyi destekleyerek, eş zamanlı aracı veya araç çağrılarına olanak tanır.
- Yapılandırılmış çıktılar (örneğin, JSON) için yerleşik işleme özelliği.
- Modelin sonuçları artımlı olarak ürettiği akışlı çıktılara destek.
- Ajan çalıştırmalarını izlemek ve hata ayıklamak için temel gözlemlenebilirlik özellikleri .
Kıyaslama metodolojisi
1. Görev Yapısı
Görev 1: Tek bir araç çağrısının doğru parametreyle yapılıp yapılamayacağını ölçer. Çerçevenin temel altyapı yükü, bu basit senaryoda en açık şekilde ortaya çıkar.
Görev 2: İki ayrı filtre grubunun sonuçlarını bellekte tutmayı ve bunları tek bir çıktıya birleştirmeyi gerektirir. Durum yönetimi ve çok segmentli koordinasyon test edilir.
Görev 3: Doğal dildeki sayısal koşulların, bozulma olmaksızın araç parametrelerine çevrilip çevrilmediğini ölçer. Asıl test, çerçevenin yeniden deneme ve yeniden istem mekanizmalarının bu parametreleri koruyup koruyamayacağıdır.
Görev 4: Bir araç, sırasıyla Ağ, Zaman Aşımı ve Hız Sınırı hataları veriyor. Bu hatalar karşısında çerçevenin stratejisinin değişip değişmediği ölçülüyor.
Görev 5: Ajanın öncelikle JSON ve LongText sütunlarını keşfetmesi, ardından doğru araçları doğru kapsam parametreleriyle çağırması gerekir. Çerçevenin bağımsız araçları paralel mi yoksa ardışık mı çalıştırdığı gözlemlenir.
2. Yapılandırma
Tüm çerçeveler aynı LLM modelini (openai/gpt-5.2) ve aynı sıcaklık değerini (0.1) kullandı. Tüm görevler için her ajana aynı araçlar ve aynı komutlar verildi. Her çerçeve kendi doğal yapısında kuruldu: LangChain AgentExecutor ile, LangGraph StateGraph ile, AutoGen AssistantAgent + UserProxyAgent ile ve CrewAI Agent + Task + Crew ile.
IBM numaralı Telekomünikasyon Müşteri Kaybı veri seti (7.032 müşteri) kullanıldı. Her çalıştırmadan önce araç durumu sıfırlandı. Her çerçeve ve görev kombinasyonu için 100 bağımsız çalıştırma gerçekleştirildi.
Maksimum yineleme sınırları, görev karmaşıklığına göre belirlendi: 1, 2 ve 3. görevler için 10; istikrarsız araç döngüsü nedeniyle 4. görev için 20; ve 4 adımlı keşif zinciri nedeniyle 5. görev için 20.
Yorum yapan ilk kişi olun
E-posta adresiniz yayınlanmayacak. Tüm alanlar gereklidir.