kertenkerem_
· LLM Tools · 5 dk okuma

CrewAI ile Kendi Yapay Zeka Ekibinizi Kurun: Multi-Agent Sistemlere Giriş

ChatGPT veya Claude gibi araçlara “Bana kapsamlı bir pazar araştırması yap ve bunu 5 sayfalık bir rapora dönüştür” dediğinizde aldığınız o jenerik, biraz da yüzeysel cevabı hatırlıyor musunuz? Muhtemelen hayal kırıklığına uğradınız. Çünkü tek bir büyük dil modeline (LLM) aynı anda hem araştırmacı, hem analizör, hem de yazar rolünü yüklemeye çalışıyorsunuz. Bir şirkette bu işlerin hepsini tek bir kişinin yapmasını bekler miydiniz? Hayır. Yapay zekadan neden bekleyelim?

Bu sorunun yanıtı bizi multi-agent systems (çoklu ajan sistemleri) yaklaşımına götürüyor. Büyük görevleri parçalayıp her parçayı farklı uzmanlık alanlarına sahip yapay zeka ajanlarına (agents) devrediyor. Bu yazıda bu ekosistemin en popüler ve kullanımı en keyifli araçlarından biri olan CrewAI’ı mercek altına alıyoruz, kendi dijital ajansınızı adım adım kuruyoruz. Vaatlerle değil, bizzat deneyerek ve test ederek ilerliyoruz.

Multi-agent nedir, neden CrewAI?

Jargonu hızlıca aradan çıkaralım. Geleneksel LLM kullanımında siz sorarsınız, model cevaplar (Prompt -> Response). Multi-agent sistemlerde ise süreç bir “rol yapma” (role-playing) oyununa döner. CrewAI kütüphanesi bu süreci yönetmek için iyi bir soyutlama sunar. Sistemin dört temel sütunu var:

  • Agents (Ajanlar): Ekibinizin üyeleridir. Her birinin bir rolü (Role), hedefi (Goal) ve arka plan hikayesi (Backstory) vardır. Örneğin: “Kıdemli Pazar Analisti”.
  • Tasks (Görevler): Ajanların yapması gereken işlerdir. Görevin ne olduğunu, hangi ajanın yapacağını ve çıktının ne olacağını tanımlarsınız.
  • Tools (Araçlar): Ajanların dünyaya erişim araçlarıdır. İnternette arama yapma, veritabanı sorgulama veya yerel bir dosyayı okuma gibi yetenekleri kapsar.
  • Crew (Mürettebat): Ajanları ve görevleri bir araya getiren, aralarındaki iş akışını (ardışık veya hiyerarşik) organize eden çatı yapıdır.

CrewAI’ı seçmemizin nedeni, piyasadaki diğer alternatiflere kıyasla kurulumunun çok insani, kodlamasının ise şaşırtıcı derecede doğal olması. Birkaç satır Python koduyla birbirine pas atan, birbirinin hatasını düzelten bir ekip kurabiliyorsunuz.

Uygulamalı test: ilk yapay zeka ekibimizi kuralım

Lafı uzatmadan test ortamımıza geçelim. Senaryomuz şu: Teknolojik bir trendi araştırıp bundan ilgi çekici bir blog taslağı çıkaran iki kişilik bir ekip kuracağız. Ekibimizde bir “Teknoloji Kaşifi” (Researcher) ve bir “Baş Yazar” (Writer) olacak.

Adım 1: Kurulum

Önce terminali açıp gerekli kütüphaneleri yüklüyoruz. CrewAI ve araçları için şu komut yeterli:

pip install crewai crewai-tools

Adım 2: Kod bloğunu yazalım

Şimdi Python dosyamızı oluşturuyoruz. CrewAI varsayılan olarak OpenAI modellerini kullanır, ancak yerel modellerle (Ollama aracılığıyla) veya Claude ile de çalışabilir. Biz bu testte OpenAI API anahtarımızla hızlı bir deneme yapıyoruz:

import os
from crewai import Agent, Task, Crew, Process
from crewai_tools import SerperDevTool

# API Anahtarlarımızı tanımlıyoruz
os.environ["OPENAI_API_KEY"] = "YOUR_OPENAI_API_KEY"
os.environ["SERPER_API_KEY"] = "YOUR_SERPER_API_KEY" # İnternet araması için

search_tool = SerperDevTool()

# 1. AJAN: Araştırmacı
researcher = Agent(
    role='Kıdemli Teknoloji Araştırmacısı',
    goal='Yapay zeka trendlerini takip edip geleceğe yönelik analizler yapmak',
    backstory="""Sen öncü bir teknoloji firmasında baş araştırmacısın. 
    Karmaşık teknolojileri basitleştirmekte ve geleceğin trendlerini 
    bugünden keşfetmekte üstüne yok.""",
    tools=[search_tool],
    verbose=True
)

# 2. AJAN: Yazar
writer = Agent(
    role='Teknoloji Yazarı',
    goal='Teknik raporları okuyucu dostu, akıcı blog yazılarına dönüştürmek',
    backstory="""Sen karmaşık konuları bile bir çocuğun anlayabileceği, 
    aynı zamanda sektör profesyonellerinin de keyifle okuyacağı 
    tarzda yazabilen usta bir blog yazarısın.""",
    verbose=True
)

# GÖREV 1: Araştırma Görevi
research_task = Task(
    description='2024 yılında "Yapay Zeka Ajanları" konusundaki en son gelişmeleri araştır.',
    expected_output='Yapay zeka ajanları trendleri hakkında 3 önemli başlık içeren bir özet rapor.',
    agent=researcher
)

# GÖREV 2: Yazım Görevi
write_task = Task(
    description='Araştırmacının raporunu kullanarak samimi dilli bir blog taslağı oluştur.',
    expected_output='H2 ve H3 başlıklarına sahip, Türkçe yazılmış, akıcı bir blog makalesi.',
    agent=writer
)

# Ekibi (Crew) ayağa kaldırıyoruz
tech_crew = Crew(
    agents=[researcher, writer],
    tasks=[research_task, write_task],
    process=Process.sequential # Sırayla çalışacaklar
)

# Motoru çalıştırıyoruz!
result = tech_crew.kickoff()
print("######################")
print("İŞTE SONUÇ:")
print(result)

Kodu çalıştırdığımızda terminalde ilginç bir sohbet başlıyor. Araştırmacı ajan internette arama yapıp bulduğu ham verileri analiz ediyor, ardından hazırladığı raporu Yazar ajana paslıyor. Yazar da bu raporu alıp bir blog yazısı taslağına dönüştürüyor. Ortaya tam istediğimiz tonda ve derinlikte bir içerik çıkıyor.

Deneyim raporu: CrewAI’ın artıları ve eksileri

Bu aracı projelerimizde yoğun şekilde test ettik. Reklam kokan vaatleri bırakıp gerçek dünyada bizi nelerin beklediğine dürüstçe bakalım.

Özellik / Durum Artıları (Pros) Eksileri (Cons)
Kullanım Kolaylığı Role-playing mantığı çok sezgiseldir. Kod yazarken adeta insan yönetiyormuş gibi hissedersiniz. Ajanların rol tanımları (backstory) kötü yazılırsa, görev dışına çıkıp saçmalayabilirler.
Esneklik OpenAI, Claude, Llama 3 (Ollama) gibi neredeyse tüm popüler LLM’lerle entegre çalışabilir. Hiyerarşik iş akışları (Hierarchical process) bazen karmaşıklaşabilir ve kontrolü kaybettirebilir.
Maliyet ve Tüketim Gelişmiş araç kütüphanesi (tools) sayesinde internet araması, dosya okuma/yazma çok pratiktir. Token canavarıdır! Ajanlar kendi aralarında sürekli konuştuğu için API faturanız hızla kabarabilir.
Kararlılık Ajanlar hata aldıklarında kendi kendilerini düzeltmeye (self-healing) çalışırlar. Bazen ajanlar sonsuz döngüye (infinite loop) girebilir ve aynı aramayı tekrar tekrar yapabilir.

Fiyatlandırma ve ücretsiz alternatifleri

En çok merak edilen konulardan biri maliyet. CrewAI tamamen açık kaynaklı (open-source) ve ücretsiz bir kütüphane. Ancak arkasında çalıştıracağınız LLM’lerin bir maliyeti olacak. Projenizi OpenAI’ın GPT-4o modeliyle çalıştırırsanız her bir “run” (çalıştırma) işlemi, ajanların arka plandaki konuşma yoğunluğuna göre ortalama 0.05$ ile 0.50$ arasında API ücreti yansıtır.

Hiç para ödemeden kullanmak da mümkün. Bilgisayarınıza Ollama kurup içine Llama 3 veya Mistral gibi açık kaynaklı modeller indirerek CrewAI’ı tamamen yerel (local) ve %100 ücretsiz çalıştırabilirsiniz. Bunun için güçlü bir ekran kartına (GPU) ihtiyacınız olacağını unutmayın.

Popüler alternatifler:

  • Microsoft AutoGen: CrewAI’a göre biraz daha teknik ve karmaşıktır ama çoklu ajanların konuşma ağlarını (conversational patterns) tasarlamak için daha esnektir.
  • LangGraph: LangChain ekibi tarafından geliştirilmiştir. İş akışlarını döngüsel grafikler (graphs) olarak tasarlamanızı sağlar. Büyük ölçekli ve kurumsal projeler için daha uygundur ama öğrenme eğrisi oldukça diktir.

Ekibi ne zaman kurmalı?

Yapacağınız iş tek adımlık bir işlemse (örneğin: “Şu metni İngilizceye çevir”) CrewAI kullanmak, sinek öldürmek için bazuka kullanmaya benzer; hem yavaş kalır hem de gereksiz bütçe harcar.

Elinizde pazar analizi yapıp rakipleri listelemek, ardından bu verilere göre sosyal medya stratejisi belirlemek ve bu stratejiye uygun görseller için prompt üretmek gibi zincirleme ve uzmanlık gerektiren karmaşık görevler varsa, CrewAI şu an piyasadaki en pratik ve güçlü yardımcınız. Yapay zeka ajanlarına bir şans verin; belki bir sonraki projenizi tamamen kendi kurduğunuz bu dijital mürettebata teslim edersiniz.