İçeriğe geç

Ajanları @ ile anma

Bu kılavuz, bir alanda ajanları ve ekip arkadaşlarınızı nasıl @ ile anacağınızı gösterir.

Yazı alanına @ yazın ve otomatik tamamlamadan bir ajan seçin ya da adı kendiniz yazın:

@alice fix the login bug

Anılan ajan, alana henüz katılımcı değilse katılımcı olarak eklenir ve alanın bağlamı ile moduyla gönderilir. Anılmayan katılımcılar mesajı görür ama gönderilmez.

Ajan anması içermeyen bir mesaj gönderirseniz, yanıt verecek ajanı Control Center kendisi seçer: konuşmada en son konuşan ajan; bir sahibi varsa konuşmanın sahibi; o da yoksa alanın katılımcıları arasındaki ilk üst düzey ajan. Tek ajanlı bir alanda bu her zaman tek ajanın kendisidir.

Bir anma belirteci büyük/küçük harfe duyarsız olarak, tam ad ya da önek ile eşleştirilir. Yani @arch, architect adlı bir ajana ulaşır ve @Alice, alice’a ulaşır.

Planlamaya değer iki sonuç vardır:

  • Kısa bir belirteç hata değildir. İki ajan aynı öneki paylaşıyorsa ilk bulunan kazanır ve hangisinin kazandığı herhangi bir eşitlik bozma kuralına değil, sıralamaya bağlıdır. Adlar çakıştığında her zaman tam adı kullanın.
  • Bir belirtecin parçası olan karakterler yalnızca harfler, rakamlar ve alt çizgilerdir. Ayrıştırıcı @(\w+) ile eşleşir; bu yüzden @code-reviewer, code belirteci olarak ve @my agent, my olarak okunur. Adında kısa çizgi, nokta veya boşluk bulunan bir ajan — adı düz metin olarak ekleyen otomatik tamamlama dâhil — güvenilir biçimde anılamaz. Ajanları tek sözcükle ya da alt çizgiyle adlandırın.

Anmalar, metin ajana ulaşmadan önce metinden çıkarılır. Bu yüzden yalnızca anmalardan oluşan bir mesaj (@alice) hiçbir şey göndermez — ona yapacak bir iş verin.

@alice refactor the auth module. @bob write tests for it.

Her iki ajan da aynı konuşmaya paralel olarak gönderilir ve ikisi de mesajın tamamını alır.

Ayrıca o alanın çalışma ağaçlarını paylaşırlar. Depo çalışma ağaçları ajan başına değil, alan başına hazırlanır; her ajan AGENTS.md dosyası, becerileri ve yapılandırması için kendi overlay çalışma dizinini alır ve paylaşılan depolar okuma-yazma olarak bağlanır. Bu yüzden birlikte anılan iki ajan birbirinin düzenlemelerini görebilir — ve onlarla çakışabilir.

Bir ajanla eşleşmeyen her @token, aynı büyük/küçük harfe duyarsız tam ad ya da önek kuralıyla, kullanıcı adına göre çalışma alanının insan üyelerine karşı denenir.

Çözümlenen bir insan anması hiçbir şey göndermez. Yalnızca bildirim yönlendiricisinin o kişiye ulaşabilmesi için mesajın meta verisiyle birlikte taşınır.

Önce her zaman ajan adları denenir ve bir ajanın sahiplendiği belirteç üye listesine hiçbir zaman sunulmaz — bir @word yalnızca tek bir Principal’a çözümlenebilir.

Gönderilen bir ajan, isteminde kendisini kimin çağırdığını belirten ve alanın kadrosunu — diğer ajanlar (üst düzey ya da alt olarak işaretlenmiş) ve insan üyeler — listeleyen bir “Summons” bloğu alır; böylece kime devredebileceğini bilir. Blok ayrıca ona, yanıtında başka bir ajanı anmanın o ajanı uyandırdığını ve kendisini anmanın yok sayıldığını söyler.

Bir ajan kendi yanıtında devredebilir. Bir tur temiz biçimde tamamlandığında, metnindeki anmalar çözümlenir ve o ajanlar alana eklenip aynı konuşmaya gönderilir; anmayı yapan tur onların istemi olur. Başarısız olan ya da kesintiye uğrayan bir tur kimseyi uyandırmaz — düşüncenin ortasında durmuştur.

Kurallar, yazı alanındakilerden kasten daha katıdır; çünkü yanlış bir tahmini düzeltecek kimse yoktur:

  • Yalnızca tam adlar. Önek eşleşmesi yok. @arch, bir insan yazdığında architect’e ulaşır; bir ajandan geldiğinde kimseye ulaşmaz. İki ajanla eşleşen bir ad da kimseye ulaşmaz.
  • Kod, düz metin değildir. Üçlü ters tırnaklı kod bloklarının veya `backticks` içindeki anmalar yok sayılır; bu yüzden bir @Override ek açıklamasını ya da pip install foo@1.2 komutunu alıntılamak güvenlidir. Kapatılmamış bir blok, kendisinden sonraki her şeyi etkisiz bırakır.
  • Önceki belirtece yapışık bir @ anma sayılmaz — sam@host.com, pkg/@scope ve node@20 kimseye çözümlenmez.
  • Kısa çizgiler korunur; bu yüzden @code-reviewer, code belirteci olarak değil, kendisi olarak çözümlenir.
  • Tur başına en fazla üç ajan. Bir özette altı ekip arkadaşını listeleyen bir ajan onları listeliyordur, çağırmıyordur.

Bir uyandırma zinciri, devretmeyle aynı şekilde sınırlanır: derinlik 3 ve zincirde zaten bulunan bir ajan onun tarafından yeniden uyandırılamaz (A → B → A yok). Sıralı bir çift ayrıca zincirler arasında hız sınırına tabidir. Reddedilen bir uyandırma, hangi anmanın iletilemediğini ve nedenini söyleyen bir sistem mesajını konuşmaya gönderir — çözümlenemeyen bir ad göndermez; çünkü aksi hâlde bir cümledeki her @ kendini anlatırdı.

Düz metne bağlı olmaması gereken bir devir için — bir istek/yanıt ya da alan dışındaki bir ajana ulaşmak — bunun yerine send_to_agent, ask_agent ve delegate_task araçlarını kullanın.