iToverDose/Yazılım· 3 HAZIRAN 2026 · 12:01

Çoklu Ajan Desenleri: Hangisini ve Ne Zaman Kullanırsınız?

Birden fazla ajanı birlikte çalıştırmak için 5 farklı desen vardır. Her bir desen farklı bir sorunu çözer. Ana fark, kimin yürütme sıralamasını belirlediğidir.

DEV Community2 dk okuma0 Yorumlar

Bir uçuş arayan bir ajanınız, bir hava durumu kontrol eden bir ajanınız ve bir şirket politikalarını uygulayan bir ajanınız var. Onları nasıl birlikte çalıştırırsınız?

Strands Agents, çoklu ajanları koordine etmek için 5 farklı desen sunar. Her bir desen farklı bir sorunu çözer. Ana fark, kimin yürütme sıralamasını belirlediğidir. Model, ajanlar kendileri veya kod içinde siz belirleyebilirsiniz.

Çalışan Örnek: Kurumsal Seyahat Ajanı

Her örnek aynı durumu kullanır: bir kurumsal seyahat ajanı that uçuş araması, hava durumu kontrolü ve öneri oluşturma işlemlerini koordine eder. Üç farklı yetenek, üç farklı uzman ajan.

from strands import Agent, tool
@tool
def search_flights(origin: str, destination: str, date: str) -> dict:
    # Duffel API çağrısı
    return {"route": f"{origin} -> {destination}", "offers": [...]}
@tool
def get_weather(city: str, target_date: str) -> dict:
    # Open-Meteo API çağrısı
    return {"city": city, "max_temp_c": 28, "precipitation_mm": 0.5}

Desen 1: Ajanlar Araçlar Olarak

Bir koordine edici ajan, diğer ajanları araçlar olarak kullanır. Koordine edici, ne zaman ve kime devredeceğini belirler.

Nasıl Çalışır

Alt ajanı doğrudan ana ajanın tools dizisine geçirebilirsiniz. SDK, otomatik olarak aracıya dönüştürür. Koordine edici model, ilgili yeteneğe ihtiyaç duyduğunda, alt ajana çağrı yapar. Her şey aynı Python işleminde çalışır.

Daha fazla kontrol için, .as_tool() kullanarak aracı adını ve açıklamasını özelleştirebilir veya @tool dekoratörünü kullanarak çağrıyı tamamen sarabilirsiniz.

  • Özel hava durumu alt ajansı
weather_agent = Agent(
    tools=[get_weather],
    system_prompt="Hava durumu uzmanısınız. Kısa répondüz.",
)
  • Ana ajan, alt ajana doğrudan tools[] içinde alır
travel_agent = Agent(
    tools=[search_flights, weather_agent],
    system_prompt="Kurumsal seyahat asistanısınız.",
)

Desen 2: Sürü

Bir grup ajan, el değiştirmeler (kontrol transferleri) aracılığıyla otomatik olarak koordine edilir. Her ajan, işleri başka bir ajana devretme zamanını kendisi belirler.

Nasıl Çalışır

Strands, Sürü'deki her ajana, kontrolü transfer etme aracı ve paylaşılan bir bağlam sağlar. Ajanlar, yürütme sıralamasını kendileri belirler.

from strands.multiagent import Swarm
flight_agent = Agent(
    name="flight_agent",
    tools=[search_flights],
    system_prompt="Uçuşları ararsınız. İşiniz bittiğinde, hava durumu ajanasına devredin.",
)
weather_agent = Agent(
    name="weather_agent",
    tools=[get_weather],
    system_prompt="Hava durumunu kontrol edersiniz.",
)
swarm = Swarm([flight_agent, weather_agent])

Desen 3: Graf

Her düğüm bir ajandan oluşur ve kenarlar yürütme akışını tanımlar. Vous, yapıyı tanımlarsınız, çerçeve sırayla çalışır.

Nasıl Çalışır

GraphBuilder, düğümleri (ajanları) ve kenarları (bağlantıları) tanımlamak için bir API sağlar. Çerçeve, bir düğümün çıktısını bir sonraki düğümün girişi olarak geçirir. Hem döngüsüz grafikleri (pipelines) hem de döngülü grafikleri (rafine etme döngüleri) destekler, böylece ajanlar arasında gözden geçirme iterasyonlarını uygulamak için esneklik sağlar.

from strands.multiagent import GraphBuilder
graph = (
    GraphBuilder()
    .add_node("search", flight_agent)
    .add_node("weather", weather_agent)
    .add_edge("search", "weather")
    .build()
)

Gelecekte, çoklu ajan desenlerinin daha da gelişerek daha karmaşık sorunlara çözümler sunması beklenmektedir. Bu desenlerin doğru bir şekilde uygulanması, geliştiricilerin daha efektif ve verimli çözümler üretmesini sağlayacaktır.

Yapay zeka özeti

Birden fazla ajanı birlikte çalıştırmak için 5 farklı desen vardır. Her bir desen farklı bir sorunu çözer. Ana fark, kimin yürütme sıralamasını belirlediğidir. Model, ajanlar kendileri veya kod içinde siz belirleyebilirsiniz.

Yorumlar

00
YORUM BIRAK
ID #WHO6WT

0 / 1200 KARAKTER

İnsan doğrulaması

3 + 8 = ?

Editör onayı sonrası yayına girer

Moderasyon · Spam koruması aktif

Henüz onaylı yorum yok. İlk yorumu sen bırak.