Tek bir yapay zeka ajanı, ne kadar yetenekli olursa olsun, her zaman tek bir görev yürütücüsü olarak kalır. Oysa gerçek geliştirme projeleri genellikle çok adımlı ve çok rollerlidir: biri kod tabanını araştırır, diğeri plan tasarlar, bir diğeri kod yazar ve testleri yürütür. İşte tam burada Open Agent SDK devreye giriyor ve çoklu ajan işbirliği için üç temel seviye sunuyor:
- Alt Ajanlar: Ana ajan, özel görevleri yerine getirmek üzere dinamik olarak alt ajanları oluşturur
- Görev Sistemi: Çok adımlı çalışmaların ilerleyişini ve sonuçlarını takip eder
- Takım ve Mesajlaşma: Birden fazla ajan, posta kutusu sistemi üzerinden iletişim kurar
Bu yapı, projelerin daha verimli ve ölçeklenebilir şekilde yönetilmesini sağlarken, ajanlar arasındaki görev dağılımını da otomatikleştiriyor.
Alt Ajanların Rolü: Özel Görevlerin Dağıtımı
Open Agent SDK’nın çoklu ajan sistemi, ana ajanın tek başına üstesinden gelemeyeceği karmaşık görevleri alt ajanlara devrederek çözüm sunuyor. Bu yaklaşım, ajanların bağlam yükünü azaltırken, her birinin belirli bir göreve odaklanmasını sağlıyor. Örneğin, büyük bir kod tabanını analiz etmek yerine, ajanlardan biri yalnızca dosya yapısını araştırabilirken, diğeri planlama aşamasına yoğunlaşabilir.
Bu sistem, SubAgentSpawner protokolü üzerinden gerçekleşiyor. Bu protokol, ana ajanın alt ajanları oluşturmasını ve yönetmesini sağlayan bir arayüz görevi görüyor. Protokol, Swift dilinde Types/AgentTypes.swift dosyasında tanımlanıyor ve iki temel metodu içeriyor:
public protocol SubAgentSpawner: Sendable {
func spawn(
prompt: String,
model: String?,
systemPrompt: String?,
allowedTools: [String]?,
maxTurns: Int?
) async -> SubAgentResult
func spawn(
prompt: String,
model: String?,
systemPrompt: String?,
allowedTools: [String]?,
maxTurns: Int?,
disallowedTools: [String]?,
mcpServers: [AgentMcpServerSpec]?,
skills: [String]?,
runInBackground: Bool?,
isolation: String?,
name: String?,
teamName: String?,
mode: PermissionMode?,
resume: String?
) async -> SubAgentResult
}İlk metod beş parametreyle temel bir alt ajan oluşturmayı sağlarken, ikinci metod on üç parametreyle daha gelişmiş senaryolar için esneklik sunuyor. Protokolün kendisi, ikinci metodun ilk metod çağrısını temel alarak çalışmasını sağlayan varsayılan bir uygulama içeriyor. Bu sayede, var olan uygulamaların uyumluluğu korunuyor.
Alt Ajanların Yaratılması ve Yönetimi
DefaultSubAgentSpawner sınıfı, SubAgentSpawner protokolünü uygulayan temel bir uygulama olarak karşımıza çıkıyor. Bu sınıf, alt ajanların oluşturulmasından sorumlu olan ana mekanizma olarak çalışıyor. Core/DefaultSubAgentSpawner.swift dosyasında bulunan bu sınıf, aşağıdaki adımları izliyor:
- Bağımlılıkların Enjeksiyonu: Alt ajan oluştururken kullanılan API anahtarı, temel model ve diğer parametreler, bağımlılık enjeksiyonu yoluyla sağlanıyor.
- Araçların Filtrelenmesi: Ana ajanın sahip olduğu araçlar, alt ajanlara aktarılırken
AgentToolgibi potansiyel sonsuz özyineleme riski taşıyan araçlar hariç tutuluyor. Ayrıca,allowedToolsvedisallowedToolsparametreleriyle hangi araçların kullanılabileceği ya da kullanılamayacağı hassasiyetle kontrol ediliyor. - Alt Ajanın Yürütülmesi: Alt ajan, belirlenen görev için oluşturuluyor ve görev tamamlanana kadar ana ajan tarafından bekleniyor. Bu bekleme süreci,
async/awaitmekanizmasıyla yönetiliyor.
Özetle, DefaultSubAgentSpawner, alt ajanların güvenli ve verimli bir şekilde oluşturulmasını sağlayarak, ana ajanın görev dağılımını optimize ediyor.
AgentTool: Alt Ajanların Entegrasyonu ve Yönetimi
AgentTool, ana ajanın alt ajanları çağırmasını ve yönetmesini sağlayan kritik bir araç olarak karşımıza çıkıyor. Bu araç, geliştiricilerin ve ajanların doğal dil aracılığıyla alt ajanları çağırmasına olanak tanıyor. Örneğin, bir geliştirici ya da ana ajan, AgentTool aracılığıyla "Explore" tipinde bir alt ajanı çağırabilir ve bu ajan da kod tabanını araştırmak için gerekli araçlara erişebilir.
AgentTool, iki temel yerleşik alt ajan tipini destekliyor:
- Explore Ajanı: Kod tabanını araştırmak üzere tasarlanmış bir ajan. Dosya okuma, dosya bulma, içerik arama ve komut çalıştırma gibi araçlara sahiptir.
- Plan Ajanı: Yazılım mimarisi ve uygulama planları tasarlayan bir ajan. Kod tabanını analiz eder ve ardından uygulama planlarını oluşturur.
Bu araçlar, AgentTool tarafından tanımlanan bir JSON yapısı üzerinden çağrılıyor:
{
"prompt": "Proje yapısını incele ve tüm Swift dosyalarını bul",
"description": "Kod tabanını araştır",
"subagent_type": "Explore"
}AgentTool, ayrıca isteğe bağlı parametreler sunarak, alt ajanların davranışını daha da özelleştirmeye olanak tanıyor. Bu parametreler arasında model seçimi, maksimum tur sayısı ve arka planda çalıştırma seçenekleri bulunuyor.
Gerçek Hayattan Bir Örnek: Koordinatör Ajan Uygulaması
Open Agent SDK, çoklu ajan sisteminin nasıl çalıştığını göstermek için bir örnek proje sunuyor. Bu örnekte, bir koordinatör ajan, ana görevi alt ajanlara devrederek projeleri yönetiyor. Koordinatör ajan, sistem mesajı olarak aşağıdaki talimatları alıyor:
Sen bir koordinatör ajansın. Bir görev aldığında, onu bir alt ajana devretmelisin.
Agent aracını kullanarak "Explore" tipi özel bir ajan oluşturabilirsin. Bu ajan, Read, Glob, Grep ve Bash araçlarını kullanarak kod tabanını araştırabilir.
Alt ajanın sonuçlarını aldıktan sonra, bulguları kullanıcı için özetlemelisin.Bu örnek, ajanlar arasındaki işbirliğinin nasıl organize edildiğini ve görevlerin nasıl dağıtıldığını net bir şekilde gösteriyor. Böylece, geliştiriciler projelerini daha verimli ve ölçeklenebilir bir şekilde yönetebiliyorlar.
Sonuç: Geleceğin Yazılım Geliştirme Süreçlerine Hazırlık
Open Agent SDK’nın sunduğu çoklu ajan işbirliği sistemi, yazılım geliştirme süreçlerini dönüştürmeye aday bir teknoloji olarak öne çıkıyor. Bu sistem, projelerin karmaşıklığını azaltırken, verimliliği artırıyor ve geliştiricilerin odaklanması gereken asıl görevlere daha fazla zaman ayırmasını sağlıyor. Gelecekte, ajanlar arasındaki bu tür işbirlikleri daha da yaygınlaşacak ve yazılım geliştirmeyi temelden değiştirecektir. SDK’nın sunduğu esneklik ve ölçeklenebilirlik, geliştiricilerin ihtiyaçlarına göre uyarlanabilir çözümler sunarak, bu dönüşümün öncülerinden biri olmaya devam edecek.
Yapay zeka özeti
Tek bir ajan mı yetersiz kaldı? Open Agent SDK’nın çoklu ajan işbirliği sistemini keşfedin. Kod keşfinden planlamaya, görev dağılımından iletişime kadar derinlemesine rehber.