Crew.AI & Auto-Gen Frameworks

Multi-Agent Çağı!

Nane & Limon
Published in
4 min readJul 30, 2024

--

Merhaba arkadaşlar,

Bugünkü yazımda sizlere multi-agent yapısı ve Crew.AI framework hakkında bilgi vereceğim. Teknoloji dünyası hızla gelişirken, multi-agent sistemler (MAS), yapay zeka ve büyük dil modellerinin (LLMs) sunduğu imkanlarla önemli bir yer edinmeye başladı. Bu sistemler, birbirinden bağımsız birçok ajanın belirli bir şekilde işbirliği yaptığı ve karmaşık görevleri daha verimli bir şekilde yerine getirdiği yapılardır.

Multi-agent sistemlerin temel prensibi:

Tek bir varlığın her şeyi yapmaya çalışması yerine, birbirinden bağımsız “ajanlar”ın ortak bir hedefe yönelik çalışmasıdır.

Bugün, çeşitli framework'lerden yalnızca Crew.ai'yi ele alacağım, ancak diğer framework'lere de kısaca değineceğiz. Şu anda sektörde en çok kullanılan framework'ler arasında Crew.ai ve Auto-Gen öne çıkıyor. Crew.ai, ajanların birlikte sorunsuz bir şekilde çalışmasını sağlayarak karmaşık görevleri etkili bir şekilde çözmelerine olanak tanır. Crew.ai, AI ajanlarının roller üstlenmesini, ortak hedefler paylaşmasını ve uyumlu bir şekilde hareket etmesini mümkün kılarak yüksek düzeyde koordinasyon ve verimlilik sağlamaktadır.

Multi-Agent System (MAS)

Multi-agent sistemlerin ne olduğu artık hepimiz için oldukça açık. Bu framework’ler, ajanların belirli roller üstlenerek işbirliği yapmasını sağlar. İşte sektörde öne çıkan bazı popüler multi-agent framework’ler:

Multi-Agent Frameworks

Crew.AI Mimarisi

CrewAI’nin mimarisi, oldukça esnek ve modüler bir yapıya sahiptir. Bu yapının içinde, birkaç ana bileşen uyum içinde çalışarak etkili bir çok ajanlı sistemi oluşturur. Her bileşen belirli bir işlevi yerine getirir tüm bileşenler bir araya gelerek bütüncül bir sistem oluşturur. Aşağıdaki Excalidraw üzerinden hazırladığım bu diyagram belirli başlı bileşenlerin nasıl entegre olduğunu anlamanıza yardımcı olacaktır:

Crew.AI

Crew.AI: Crew

Crew terimi, bir grup ajanı temsil eder; bu ajanlar, belirli bir hedefe ulaşmak için birlikte çalışan ekip üyeleri gibi düşünülebilir. Bu mürettebat, görevleri koordineli bir şekilde yerine getirir ve her bir ajan, grup içindeki rolüne uygun olarak katkıda bulunur. CrewAI’de, ajanlar bir araya gelerek belirli bir amaca ulaşmak için organize bir şekilde çalışır, böylece işbirliği ve etkileşim yoluyla etkili sonuçlar elde edilir.

Crew.AI: Process

Multi-agent sistemlerindeki süreçler, yani iş akışı (process), belirli kullanım senaryolarına (use case) göre büyük ve karmaşık görevlerin daha hızlı ve etkin bir şekilde tamamlanmasını sağlar. Ancak, bu süreçler kullandığınız strateji ve framework’e göre değişkenlik gösterebilir. İşte Crew.AI framework’ünün görevleri tamamlamak için sunduğu üç ana strateji:

  1. Sequential (Sıralı) Strateji: Bu strateji, verilen görevleri belirli bir sıra ve düzen içinde yürütür. Her ajan belirli bir görevi yerine getirir ve işi bir sonraki ajana devreder. Pipeline tipi işlerde idealdir; her adım bir öncekini takip eder ve böylece iş akışı sorunsuz bir şekilde ilerler.
  2. Hierarchical (Hiyerarşik) Strateji: Bu strateji, görevleri bir hiyerarşi içinde organize eder ve bu görevler emir-komuta zincirine göre yürütülür. Bir orkestratör deseni gibi çalışır; bir yönetici ajan, diğer ajana görevler atar ve sonuçları doğrular. Bu strateji, karmaşık görevlerin daha üst seviyeden yönetilmesi ve denetlenmesi gereken durumlarda etkilidir.
  3. Consensual Process (Planlanan): Bu strateji, ajanların işbirliği yaparak görevleri tamamlamasını sağlar. Ajanlar birbirleriyle konuşur ve kararlar demokratik olarak alınır. Bu süreç, işbirlikçi karar alma sürecine dayanır ve ajanlar arasında sürekli bir iletişim ve koordinasyon gerektirir. Henüz bu strateji Crew.AI’de tam olarak uygulanmamış olsa da, diğer multi-agent framework’lerinde başarılı bir şekilde kullanılmaktadır.

Bu süreçler, belirli kullanım senaryolarına göre büyük ve karmaşık görevlerin daha hızlı ve etkin bir şekilde tamamlanmasını sağlar. Crew.AI’nin sunduğu bu esnek ve modüler yapılar sayesinde, çok ajanlı sistemlerin yönetimi ve koordinasyonu daha verimli hale gelir.

Crew.AI: Agent

Bir ajan, takımın bir üyesi gibi düşünülebilir; belirli bir rolü, geçmiş hikayesi, hedefi ve hafızası vardır. Ajanlar, framework içinde verilen görevleri yerine getiren ana performans birimleridir. Her CrewAI ajanı, LangChain ajanıdır ancak ReActSingleInputOutputParser ile geliştirilmiştir. Bu parser, rol yapma desteğini artıracak şekilde özel olarak modifiye edilmiştir, bağlam odaklı bir durdurma kelimesi içerir ve ConversationSummaryMemory kullanarak bağlamı koruyan bir hafıza mekanizması entegre edilmiştir. Bu sayede ajanlar daha etkili bir şekilde görevlerini yerine getirir ve işbirliği yapar.

Crew.AI: Tool

Tool, ajanların belirli bir görevi etkin bir şekilde yerine getirmesi için kullanılan bir fonksiyondur. Örneğin, web üzerinde arama yapmak, belgeleri yüklemek ve okumak gibi işlemleri gerçekleştirebilir. CrewAI, LangChain ile inşa edilmiştir; bu nedenle mevcut LangChain fonksiyonlarını kullanabilir veya özel fonksiyonlar oluşturabilirsiniz.

Crew.AI: Task

Görev (Task), adından da anlaşılacağı gibi, yerine getirilmesi gereken belirli bir iş veya görevi ifade eder. Bir ajan, bir görevi yerine getirir ve bu görevi yerine getirmek için gerekli olan çeşitli fonksiyonlar sağlanır.

Bu bileşenler ve daha fazlası hakkında merak ettikleriniz için dökümantasyona göz atabilirsiniz: CrewAI Documentation.

Bana linkedin üzerinden ulaşabilirsiniz. 🦋

--

--