Özellikler

Subagents

Bob'un ana konuşmayı kirletmeden izole bağlamlarda odaklanmış, bağımsız görevleri yerine getirmek için subagents'ı nasıl kullandığını öğren.

Subagents nedir?

Subagent, Bob'un odaklanmış, bağımsız bir görevi yerine getirmek için spawn edebildiği bağımsız bir ajandır. Kendi izole edilmiş context window'unda çalışır, atanan işi gerçekleştirir ve sonuçların özetini ana konuşmaya geri döndürür.

Subagents, aksi takdirde devam eden konuşmaya büyük miktarda ilgisiz içerik ekleyecek çalışmalar için kullanışlıdır; örneğin, Bob ana görevle devam etmeden önce belirli bilgileri toplamak amacıyla bir kod tabanının bir bölümünü derinlemesine keşfetmek.

Subagents nasıl çalışır

Bob bir subagent spawn ettiğinde:

  1. Kendi context window'una sahip yeni, bağımsız bir ajan oluşturulur.
  2. Bob, gerçekleştirilecek odaklanmış görevin bir açıklamasını ona iletir.
  3. Başlamadan önce spawn'ı onaylaman istenir. Bob onaylayana kadar bekler.
  4. Subagent, mevcut tools'ları kullanarak görevi gerçekleştirir.
  5. Subagent, bulgularının özetini Bob'a geri döndürür.
  6. Bob, ana konuşmaya devam etmek için bu özeti kullanır.

Subagent, ana konuşmadan ayrı olarak çalışır. Bob bunları açıkça açıklamada iletmedikçe durum, dosyalar veya tool sonuçlarını Bob ile paylaşmaz.

Subagent türleri

Her biri farklı görevlere uygun iki subagent türü vardır:

TürAçıklamaŞunlar için en iyi
exploreSalt okunur kod tabanı keşfi, daha hafif bir modelde çalışırKodu arama ve özetleme, ilgili dosyaları bulma, yapıyı anlama
generalTam tool erişimi, varsayılan modelde çalışırOkuma, yazma veya komut gerektiren herhangi bir bağımsız görev

Bağlam ve konuşma geçmişi

Varsayılan olarak, bir subagent üst konuşma geçmişini görmez. Bu, bağlamını yalın ve mevcut göreve odaklanmış tutar.

Bir subagent'in konuşmada daha önce ifade edilen önceki kararları, kısıtlamaları veya tercihleri anlaması gerektiğinde, Bob konuşma geçmişini subagent'e iletmek için fork_context: true ayarlayabilir.

Mod kısıtlamaları

Çalıştığın mod, Bob'un spawn etmesine izin verilen subagent türlerini kontrol eder. Bazı modlar tüm subagent türlerine izin verir; diğerleri spawning'i belirli türlerle kısıtlar veya tamamen yasaklar. Bir subagent spawn'ı etkin mod tarafından izin verilmiyorsa, Bob işi spawn etmeden doğrudan tamamlayacaktır.

Bob subagents'ı ne zaman kullanır

Bob, subagents'ı tutumlu kullanır. Varsayılan, bir subagent spawn etmeden her zaman işi doğrudan yapmaktır. Bir subagent yalnızca aşağıdakilerin tümü doğru olduğunda değerlendirilir:

  • Görev açıkça bağımsızdır ve yalnızca bir özet geri alınması gerekir.
  • Ana bağlama önemli miktarda ilgisiz içerik ekleyecektir.
  • Bir veya iki doğrudan tool çağrısıyla gerçekleştirilemez.

Bob şunlar için subagents kullanmaz:

  • Basit dosya okumaları veya hızlı aramalar.
  • Tek tool operasyonları.
  • İlgili bağlamın zaten mevcut olduğu görevler.

Subagents ve subtasks karşılaştırması

Subagents ve subtasks ilişkili ancak farklı kavramlardır:

SubagentSubtask
GörünürlükArka planda sessizce çalışırKendi breadcrumb'ı ve konuşmasıyla UI'da görünür
EtkileşimEtkileşimsiz — yalnızca bir özet döndürürTamamen etkileşimli — ilerlemeyi takip edebilir ve konuşmaya devam edebilirsin
AmaçAna bağlamı kirletmeden bilgi toplama veya izole çalışmayı tamamlamaÖzel takip ve ayrı bir thread'den yararlanacak kadar karmaşık işleri yönetme
ÇıktıBob'a döndürülen özetBağımsız konuşma thread'i

Arka plan bilgi toplama için subagents kullan. Görünürlük ve özel bir konuşmadan yararlanan karmaşık çalışmalar için subtasks kullan.

Subagent davranışını yapılandırma

.bob/agents/ dizininde bir agent persona dosyası oluşturarak bir subagentin neye odaklandığını, çıktısını nasıl biçimlendirdiğini ve hangi toolleri kullanabileceğini kontrol edebilirsin. Persona dosyaları bir subagente tanımlı bir rol ve kısıtlamalar seti verir; örneğin, önem derecesine göre sıralanmış bir bulgular tablosu üreten ve açıkça düzeltme önermemesi için talimat verilen bir kod inceleyici.

Kurulum talimatları ve örnekler için Agent personaları sayfasına bakabilirsin.

Bu konu nasıl?