Skip to content

Module 7: Multi-Agent Architectures

Merhaba! LLM'ler, fine-tuning, RAG, tool'lar ve tek agent'ları öğrendik. Şimdi, süper karmaşık görevler için birden çok agent'ın birlikte çalıştığı multi-agent sistemleri—AI yardımcıları takımları. Nasıl olduğunu öğrenelim!

I. Problem: Görev Karmaşıklığı

Bazı görevler tek agent için çok büyük. Farklı becerileri karıştırırlar.

Örnek Senaryo: Kullanıcı der ki: "Veritabanı tablolarımda kaç satır var? Bar chart'ta göster."

Bu iki şey gerektirir: 1. Veritabanını sorgulamak için SQL yaz. 2. Sonuçları bar chart olarak görselleştir.

Tek-Agent Sorunu: Hem SQL hem görselleştirmeyi halleden tek agent karışabilir. Adımları karıştırabilir veya hatalar yapabilir (hallucinate) çünkü iki farklı işi birden yapıyor. Prompt devasa olur, SQL ve görselleştirmeyi farklı alanlarda kapsar.

ASCII Art:

Görev: SQL + Chart
Tek Agent: [SQL Dener] -> [Chart Dener] -> Karışık!
Multi-Agent: Agent A SQL yapar -> Agent B Chart yapar -> Mükemmel!

II. Çözüm: Uzman Agent'lar ve Orkestrasyon

A. Uzman Agent'lar

Her kısım için uzman kullan: - SQL Agent: SQL sorguları yazmada ve çalıştırmada iyi. - Visualization Agent: Chart'lar oluşturmada uzman.

B. Orkestrasyon ve Yönetim

Görevleri akıllıca yönlendir: - Sadece SQL için: SQL Agent'a gönder. - İkisi için: Önce SQL Agent, sonra sonuçları Visualization Agent'a geçir.

C. Manager Agent

Bir Manager Agent her şeyi halleder: - Kullanıcının prompt'unu alır. - Hangi worker agent'ları kullanacağını karar verir. - Görevleri devreder. - Sonuçları toplar ve final cevabı verir.

Örneğin, görev sadece SQL sorgulama gerektiriyorsa, görevi SQL Agent'a yönlendiririz. İkisi gerektiriyorsa, önce SQL Agent'a, sonra sonuçları Visualization Agent'a yönlendiririz.

Bu şekilde, kullanıcı prompt'u önce Manager Agent tarafından alınır. Manager Agent görevi Worker Agent'lara (SQL Agent ve Visualization Agent) devreder. Manager Agent sonunda sonuçları kullanıcıya döndürür.

Bu mimari Supervisor, Manager-Worker, Orchestrator-Worker veya Master-Slave mimarisi olarak adlandırılır.

III. Multi-Agent Architectures

A. Manager-Worker Architectures

Yukarıdaki gibi: Manager (patron) worker'lara ne yapacaklarını söyler. Ayrıca Orchestrator-Worker veya Supervisor olarak adlandırılır.

B. Diğer Architectures

  • Network (Swarm): Agent'lar grup sohbeti gibi serbestçe konuşur.
  • Hierarchical: Manager ve worker katmanları.
  • Agent-as-a-Tool: Bir agent diğerini tool olarak kullanır.
  • Subagents (Deep Agents): İçinde mini-agent'ları olan agent'lar.

C. Proje Odak

Projelerimiz için Manager ve Subagents karışımı kullanacağız.

Örnek Multi-Agent Architecture: LangGraph Multi-Agent Concepts

Kod Snippet'leri: Manager Architecture

smolagents:

from smolagents import CodeAgent, tool, HfApiModel

@tool
def sql_query(query):
    # SQL çalıştır
    return results

@tool
def visualize(data):
    # Chart yap
    return chart

manager = CodeAgent(tools=[], model=HfApiModel())  # Manager devreder
sql_agent = CodeAgent(tools=[sql_query], model=HfApiModel())
viz_agent = CodeAgent(tools=[visualize], model=HfApiModel())

# Manager mantığı: sql_agent'ı çağır, sonra viz_agent'ı

crewAI:

from crewai import Agent, Task, Crew

sql_agent = Agent(role="SQL Expert", tools=[sql_query])
viz_agent = Agent(role="Visualizer", tools=[visualize])
manager = Agent(role="Manager", goal="Görevleri orkestre et")

task1 = Task(description="DB Sorgula", agent=sql_agent)
task2 = Task(description="Görselleştir", agent=viz_agent, context=[task1])

crew = Crew(agents=[manager, sql_agent, viz_agent], tasks=[task1, task2])
crew.kickoff()

autogen:

from autogen import AssistantAgent, UserProxyAgent

sql_agent = AssistantAgent("SQL Agent", tools=[sql_query])
viz_agent = AssistantAgent("Viz Agent", tools=[visualize])
manager = AssistantAgent("Manager", tools=[])  # Devreder

user_proxy = UserProxyAgent("User")
user_proxy.initiate_chat(manager, message="DB'yi sorgula ve chart yap")
# Manager sql_agent ile sohbet eder, sonra viz_agent ile

Mermaid Diyagramı: Supervisor Architecture

graph TD
    A[Kullanıcı Prompt'u] --> B["Supervisor (Manager Agent)"]
    B -->|Devreder| C[SQL Agent]
    C -->|Raporlar| D[SQL Sonuçları]
    D --> B
    B -->|Devreder| E[Visualization Agent]
    E -->|Raporlar| F[Chart Çıkışı]
    F --> B
    B --> G[Kullanıcıya Final Cevap]

Eğitim İlerlemesi

graph LR
    A[Module 1: LLMs] --> B[Module 2: Training]
    B --> C[Module 3: RAG]
    C --> D[Module 4: Tools]
    D --> E[Module 5: Memory]
    E --> F[Module 6: Agents]
    F --> G[Module 7: Multi-Agent]
    style A fill:#90EE90
    style B fill:#90EE90
    style C fill:#90EE90
    style D fill:#90EE90
    style E fill:#90EE90
    style F fill:#90EE90
    style G fill:#FFFF00

Özet

Multi-agent'lar takım çalışmasıyla karmaşık görevleri çözer. Problemleri, çözümleri, mimarileri ve kodu öğrendin. Şimdi AI sistemleri inşa etmeye hazırsın!

Hızlı Kontrol: Neden multi-agent kullan?

Tebrikler! 🎉

Önceki Modül: Modül 6: AI Agents: Tek Çağrıdan Çok Adımlı Akıl Yürütmeye

Sonraki Kategori: Intermediate →