CrewAI ile ajan ekibi kurmak: ajan, görev ve süreç tasarımı
CrewAI ile ajan, görev ve süreç tanımlayarak çok ajanlı ekip kurmayı öğrenin: rol tasarımı, sıralı ve hiyerarşik süreç, araç ve bellek.
CrewAI ile çok ajanlı ekip ne demektir?
CrewAI, birden fazla yapay zeka ajanının bir ekip gibi çalışmasını sağlayan bir Python çerçevesidir. Her ajana bir rol verilir, ekibe yapılacak görevler tanımlanır ve ekibin bu görevleri hangi düzen içinde yürüteceği belirlenir. Yaklaşımın arkasındaki fikir, karmaşık bir işi tek bir uzun komutla çözmeye çalışmak yerine uzmanlaşmış ajanlara bölmektir: araştırmacı, yazar, denetçi gibi.
Bu bölme belirgin faydalar sağlar. Her ajanın talimatı daha kısa ve odaklı olur, bu da çıktı kalitesini kontrol etmeyi kolaylaştırır. İş akışı da daha okunabilir hale gelir, çünkü kimin neyi yaptığı açıktır. Dezavantajı ise koordinasyon maliyetidir: ajan sayısı arttıkça çağrı sayısı, süre ve hata olasılığı artar. Bu yüzden her iş için çok ajanlı yapı gerekmez; ekip yaklaşımı, gerçekten farklı uzmanlıklar gerektiren işlerde anlam kazanır.
Temel kavramlar: ajan, görev, ekip ve süreç
- Agent (ajan): Rolü (role), hedefi (goal) ve geçmiş hikayesi (backstory) ile tanımlanır. Bu alanlar ajanın davranışını ve uzmanlığını çerçeveler. Ajana araçlar (tools) ve kullanacağı dil modeli de verilebilir.
- Task (görev): Yapılacak işin açıklaması (description) ve beklenen çıktının tarifi (expected_output) ile tanımlanır. Görev bir ajana atanır; başka görevlerin çıktısı bağlam olarak verilebilir.
- Crew (ekip): Ajanların (agents) ve görevlerin (tasks) bir araya getirildiği yapıdır. Çalıştırma biçimi process ayarıyla belirlenir; bellek (memory) ve önbellek (cache) gibi seçenekler de ekip düzeyinde açılabilir.
- Process (süreç): Process.sequential varsayılandır ve görevleri sırayla çalıştırır. Process.hierarchical ise bir yönetici ajan kullanır; yöneticinin dil modeli (manager_llm) ya da yönetici ajan (manager_agent) tanımlanmalıdır.
Bu adlandırmalar CrewAI resmî dokümantasyonundaki ekip anlatımıyla uyumludur; sürümler arasında ayrıntılar değişebileceğinden güncel dokümana bakılması gerekir.
Adım adım ekip tasarlamak
Kod yazmadan önce işi aşamalara ayırın. Her aşamanın girdisini, çıktısını ve kontrol ölçütünü yazın. Sonra şu sırayla ilerleyin:
- Rolleri belirleyin: Gerçekten farklı beceri gerektiren aşamalar için ayrı ajan tanımlayın. Aynı işi yapan birden çok ajan gereksizdir.
- Rol, hedef ve geçmiş yazın: Rol kısa ve net olsun; hedef ajanın neyi başarmaya çalıştığını söylesin; geçmiş yazısı uslup ve uzmanlık düzeyini belirlesin.
- Görevleri tanımlayın: Açıklama ne yapılacağını, beklenen çıktı ise sonucun hangi biçimde ve hangi nitelikte olacağını belirtsin. Belirsiz çıktı tarifi, ekibin en yaygın sorun kaynağıdır.
- Görevler arası bağlamı kurun: Araştırma görevinin çıktısı yazım görevine bağlam olarak aktarılsın.
- Süreci seçin: Aşamalar belliyse sıralı süreç, yönlendirme ve görev dağıtımı gerekiyorsa hiyerarşik süreç.
- Araç verin: Ajanlara yalnızca işi için gerekli araçları atayın.
- Küçük bir girdiyle deneyin ve çıktıları görev bazında inceleyin.
Örnek: haftalık pazar özeti hazırlayan ekip
Örneğin bir danışmanlık şirketi, müşterileri için haftalık sektör özeti hazırlamak istiyor. Ekip araştırmacı, yazar ve denetçi ajanlardan oluşur.
Araştırmacı ajan: Rolü sektör analisti, hedefi son gelişmeleri güvenilir kaynaklardan bulmaktır. Web arama aracı verilir. Görevinin beklenen çıktısı, kaynak bağlantılarıyla birlikte önemli gelişmelerin maddeli listesidir. Yazar ajan: Rolü iş yazarıdır, hedefi araştırma çıktısını yöneticilere uygun kısa bir bültene dönüştürmektir. Görevi araştırma görevinin çıktısını bağlam olarak alır. Denetçi ajan: Rolü editördür, bültende kaynaksız iddia, tutarsızlık ve dil hatası olup olmadığını kontrol eder.
Süreç sıralıdır: araştırma, yazım, denetim. Denetçi sorun bulursa çıktıyı düzeltme notlarıyla geri döndürür. İş kritik olduğundan bülten yayınlanmadan önce bir insanın gözünden geçer. Burada ajanlar işin çoğunu yürütür, ancak son kontrol ve sorumluluk insanda kalır.
Sıralı ve hiyerarşik süreç: hangisi ne zaman?
Sıralı süreç, görevler arasındaki bağımlılık belli olduğunda uygundur. Her görev bir öncekinin çıktısını alır ve akış öngörülebilirdir. Hata ayıklaması kolaydır, çünkü hangi görevde sorun çıktığı açıktır. Çoğu başlangıç projesi için doğru tercihtir.
Hiyerarşik süreçte bir yönetici ajan görevleri ajanlara dağıtır, sonuçları değerlendirir ve gerekirse yeniden yönlendirir. Görev yapısı önceden net değilse ya da farklı girdilere göre farklı ajanların devreye girmesi gerekiyorsa işe yarar. Karşılığında yönetici ajanın kararları öngörülebilirliği azaltır ve çağrı sayısını, dolayısıyla maliyeti artırır. Yönetici dil modelinin yetkin olması da gereklidir.
Pratik bir kural: önce sıralı süreçle başlayın; aşamalar arası yönlendirme ihtiyacı açıkça ortaya çıkarsa hiyerarşik yapıya geçin.
Bellek, araç ve kalite kontrolü
CrewAI ekiplerinde bellek açıldığında kısa süreli, uzun süreli ve varlık belleği gibi türlerde bilgi saklanıp sonraki çalıştırmalarda hatırlanabilir. Bellek faydalıdır ama kontrolsüz bırakıldığında eski ve hatalı bilgi taşıyabilir. Bu yüzden neyin saklandığını izlemek ve gerektiğinde temizlemek gerekir.
Araçlar ajana dış dünyayla etkileşim imkanı verir: arama, dosya okuma, veritabanı sorgusu, API çağrısı. Her araç bir risk yüzeyidir. Yalnızca ihtiyaç duyulan araçlar verilmeli, yazma yetkisi gerektiren araçlar ise insan onayıyla çalıştırılmalıdır. Ekip düzeyinde önbellek açıldığında araç sonuçları yeniden kullanılabilir; bu hem süreyi hem maliyeti düşürür ancak değişen verilerde eski sonuç riski doğurur.
Kalite için katmanlı bir kontrol kullanılabilir: görev bazında beklenen çıktı tarifini sıkı yazmak, denetçi ajan eklemek ve son çıktıyı insan incelemesine sunmak. Üretimde her görevin süresini, maliyetini ve çıktısını kayıt altına almak, sorun çıktığında nedeni bulmayı sağlar.
Sık yapılan hatalar ve Mindset bağlamı
- Gereksiz ajan sayısı: Her adıma ayrı ajan eklemek maliyeti ve hatayı artırır.
- Belirsiz beklenen çıktı: Ajan ne üreteceğini bilmediğinde tutarsız sonuç verir.
- Her ajana her aracı vermek: Hem yanlış araç seçimi hem güvenlik riski doğar.
- Hiyerarşik süreçle başlamak: Önce sıralı süreçle akışı oturtmak daha güvenlidir.
- İzleme ve maliyet takibi yapmamak: Çağrı sayıları kontrolsüz artabilir.
- İnsan onayı koymamak: Dış dünyaya etki eden adımlarda son karar insanda olmalıdır.
Mindset kataloğundaki CrewAI ile Çok Ajanlı Sistem Geliştirme eğitimi; Çok Ajanlı Sistem Temelleri, Ajan ve Görev Tasarımı, Süreç Modelleri ve Delegasyon, Araçlar ve Dış Sistem Entegrasyonu, Bellek, Bağlam ve Kalite ile Üretim, Maliyet ve İzleme modüllerini içerir. Python ile Yapay Zekâ Ajanları (AI Agent) Geliştirme Eğitimi ise Çoklu Ajanlarla Çalışma ve Ajan Sistemlerinde İzleme modüllerini kapsar. Yazılım ve veri ekipleri için uygulama odaklı bir yol sunar.
İlgili Mindset programı
CrewAI ile Çok Ajanlı Sistem Geliştirme
Sık sorulan sorular
CrewAI kullanmak için güçlü bir Python bilgisi gerekir mi?
Temel Python bilgisi, yani işlevler, sınıflar ve paket kurulumu başlangıç için yeterlidir. Ajan ve görev tanımları büyük ölçüde metinle yapılır. Ancak araç yazmak, hata ayıklamak ve üretime almak için daha ileri Python becerisi gerekir; bu nedenle önce küçük bir ekiple denemek mantıklıdır.
Kaç ajan kullanmalıyım?
İşin gerçekten farklı uzmanlık gerektiren aşamaları kadar. Tek ajanın rahatça yaptığı işi bölmek maliyet ve karmaşıklık ekler. Önce tek ajanla deneyin; çıktı kalitesi düşüyor ya da talimat çok uzuyorsa rolleri ayırın. Her yeni ajanın somut bir gerekçesi olmalıdır.
CrewAI ile LangGraph arasında nasıl seçim yapılır?
CrewAI rol tabanlı ekip modeliyle hızlı kurulum sunar; LangGraph ise akışın durumunu ve geçişlerini ayrıntılı kontrol etmeye daha uygundur. Seçim, işin yapısına ve ihtiyaç duyduğunuz kontrol düzeyine bağlıdır. İş akışında dallanma, döngü ve duraklatma kritikse LangGraph, rollere bölünmüş bir ekip modeli yeterliyse CrewAI daha hızlı bir başlangıç sağlayabilir.
Ajanlar birbirine görev devredebilir mi?
Hiyerarşik süreçte yönetici ajan görevleri ajanlara dağıtır ve sonuçları değerlendirir. Ajanlar arası devir ayrıntıları, kullanılan sürüme göre değişen ayarlara bağlıdır. Devri etkinleştirmeden önce kapsamını sınırlamak ve çağrı zincirlerinin sonsuza uzamadığını izlemek gerekir.
Üretimde çok ajanlı sistemin maliyeti nasıl kontrol edilir?
Ajan ve görev sayısını sade tutmak, gereksiz araç çağrılarını önlemek, önbellekten yararlanmak ve her görev için süre ve maliyet kaydı tutmak temel yöntemlerdir. Küçük girdilerle test etmek ve kritik olmayan adımlarda daha hafif modeller denemek de maliyeti düşürür.
İlgili rehberler
İlgili eğitimler
Kategori: Yapay Zeka ve Dijital Dönüşüm