İçeriğe geç

Bir ajanla sohbet etme

Bu kılavuz, bir alanda bir ajanla nasıl çalışacağınızı gösterir.

  1. Kenar çubuğunda Alanlar’a gidin
  2. Alanlar başlığının yanındaki + düğmesine tıklayın
  3. Bir ad yazın — bu zorunludur. Boş bir ad reddedilir; iletişim kutusu açık kalır
  4. İsteğe bağlı olarak çalışma alanından ajan ekleyin
  5. Çalışma alanında herhangi bir depo varsa bir depo seçici görünür. Tüm depolar seçili olarak başlar; bu alanın çalışma ağacı hazırlayacağı depolara daraltın (tek bir deponun seçimini kaldırmak dâhil)
  6. Onaylayın

Control Center alanı açar ve arka planda seçilen her depo için kopyala-üzerine-yaz bir çalışma ağacı hazırlamaya başlar.

Mesajınızı yazı alanına yazın ve Enter’a basın. Ajan gönderilir ve yanıtını akıtmaya başlar.

Alan hâlâ hazırlanıyorsa mesajınız kaybolmak yerine beklemeye alınır — yazı alanı onu tutar ve çalışma ağaçları hazır olduğunda otomatik olarak gönderir.

Ajan çalışırken turunun akışını görürsünüz: akıl yürütme segmentleri, araç çağrıları (dosya okumaları, yazmaları, shell komutları) ve yanıt metni — hepsi tek bir ajan turu mesajının içinde.

Bir ajan çalışırken sıradan konuşma metni yeni bir turu kuyruğa almaz. Yazı alanının üstündeki şeritte kuyruğa alınmış bir yönlendirme kartına dönüşür ve bir sonraki tur sınırında canlı çalıştırmaya enjekte edilir. Kısa bildirim yoktur — geri bildirim kartın kendisidir.

Bu davranışı değiştiren üç şey vardır:

  • @ ile anma içeren bir mesaj her zaman mesaj olarak gönderilir, asla yönlendirme olarak değil
  • Slash komutu ile başlayan bir mesaj her zaman o komut olarak ele alınır
  • Ek içeren bir mesaj her zaman mesaj olarak gönderilir — yönlendirme kuyruğu yalnızca metindir
  • Tüm canlı çalıştırmalar çoktan bitmişse metin doğrudan geçer ve normal bir mesaj olarak gönderilir

Bir ajan, korumalarının kapıladığı bir eylemle karşılaştığında — yıkıcı bir komut, ayrıcalıklı bir araç — sunucu çalıştırmayı engeller ve bağlı her istemciye bir onay isteği yayımlar. O konuşma açıksa istek, ask_user için kullanılan aynı numaralandırılmış seçenek kartı olarak sohbette, yazı alanının üstünde görünür (reddet, onayla ve isteğe bağlı olarak sekiz saat boyunca onayla). Atla seçeneği yoktur: engellenen bir ajan bir karar beklemektedir.

Uygulamada başka bir yerdeyseniz, kabuktaki her zaman üstte kalan bir panel bekleyenleri yine de listeler; böylece alanı aramadan ajanın engelini kaldırabilirsiniz. Kaplama, o alanın konuşması ekrana geldiği anda bir isteği gizler, böylece aynı istemi asla iki kez yanıtlamazsınız.

Zaman aşımı yoktur: engellenen bir ajan biri karar verene kadar bekler. Aynı istek gelen kutusunun dikkat şeridinde ve telefon istemcisinde de görünür.

Bir tercihe, eksik bir gereksinime veya gerçek bir çatallanmaya ihtiyaç duyan bir ajan mutlaka ask_user çağırmalıdır. Soruyu sohbet mesajı olarak yazmak turu bitirir ve ajana yeniden istem göndermeniz gerekir. Araç konuşmada numaralandırılmış bir kart oluşturur — seçenekler, isteğe bağlı serbest metin veya her ikisi — ve çalıştırma yanıtınızı bekler.

Tek bir seçeneği göndermek için ona dokunun (sondaki sayı, üzerine gelindiğinde oka dönüşür). Çoklu seçim ve yazılan yanıtlar Devam et kullanır (⌘↵ / Ctrl↵). Atla, ajana makul bir varsayılan seçmesini ve bir daha sormamasını söyler.

Yukarıdaki onay kartından ayrı bir mekanizmadır: onay “bunu yapabilir miyim?”, soru ise “bunlardan hangisini kastettiniz?” demektir. Sorma, yerleşik harness üzerinde salt okunur olanlar da dâhil her modda kullanılabilir (hiçbir şeyi değiştirmez) ve kasten bir onay istemine sarılmamıştır — bir iletişim kutusunun önüne konan başka bir iletişim kutusu, bağlı bir onaylayıcı yokken kapalı başarısız olurdu. Kartı oluşturacak bir konuşması olmayan bir çalıştırma bu aracı hiç almaz.

Çalıştırmalar canlıyken yazı alanının gönder düğmesi bir durdur düğmesine dönüşür. Yazı alanını temizleyin ve ona basın — bu, o konuşmada çalışan her ajanı durdurur.

Alan başlığında durdurma denetimi ve bunun için klavye kısayolu yoktur. Birkaç çalıştırma canlıyken yalnızca birini durdurmak için o çalıştırmanın etkinlik sekmesini açın — başlığında çalıştırmaya özel bir duraklat/sürdür ve durdur bulunur (durdur sizden onay ister). Gözlemlenebilirlik → Canlı, çalışma alanındaki her çalışan ajanı aynı denetimle listeler.

Durdurulan bir çalıştırma durduruldu olarak işaretlenir. Yeniden göndermek için yeni bir mesaj gönderin.

Komut listesini görmek için yazı alanına / yazın. Konuşmanın davranışını değiştirenler:

Komut Ne yapar
/plan Alanı plan moduna geçirir. Yalın bir /plan yalnızca modu hazırlar; /plan <request> modu hazırlar ve geri kalanını mesajınız olarak gönderir
/goal <text> Konuşmanın çalışma hedefini kaydeder
/loop <text> Bir görevi tamamlanana kadar yineler
/compact Eski geçmişi bağlanmış bir özete katlar ve sıkıştırılmış bağlam üzerinde devam eder
/todo … Bu konuşmanın kalıcılaştırılmış todo listesini görüntüler ve düzenler

Beceriler aynı listede kendi skill: ad alanları altında görünür, böylece yukarıdaki komutlarla asla çakışmazlar — plan veya compact adlı bir beceri erişilebilir kalır:

Komut Ne çalıştırır
/skill:<name> Çalışma alanında kurulu veya ajana bağlı bir beceri
/skill:<repo>:<name> Bu alanda çıkarılan depolardan birinin sunduğu bir beceri

Depo becerileri, geldikleri deponun rozetini taşır; çünkü tek başına bir ad, hangi servisin kurallarını kodladığını söylemez ve iki depo da birer testing sunabilir. Bir beceriyi bulmak için öneki yazmak zorunda değilsiniz: çıplak beceri adını yazmak, ad alanlı girdilerle de eşleşir.

Bir ajan yalnızca o anda çalıştığı deponun becerilerini taşır — bkz. Depoya özel beceriler. Yazı alanı bu şekilde kapsamlanmaz: adını vererek herhangi bir deponun becerisini çağırabilirsiniz.

/compact ve /todo istemci tarafından yakalanır ve hiçbir zaman mesaj olarak kalıcılaştırılmaz — transkriptteki bir /compact satırı, sonraki sıkıştırmanın kesimini bir tur geriye iter. /plan metin olarak yolculuk etmek yerine alanın depolanan modunu değiştirir. Yani üçü de “ajana gönderdiğiniz bir mesaj” değildir; bunları geçmişte görmeyi beklemeyin.

Karmaşık bir değişiklikten önce alanı /plan, yazı alanı araç çubuğundaki mod açılır menüsü veya Shift+Tab ile plan moduna geçirin. Ajan ardından salt okunur araştırma yapar ve herhangi bir iş başlamadan önce onayladığınız tipli bir plan sunar. Bkz. Plan modunu kullanma.

Her ajan için bir alan gerekmez. Herhangi bir alanda:

@alice can you look at the failing tests in src/auth_test.dart?

Anılan ajan alana eklenir ve o alanın bağlamıyla gönderilir. Adların nasıl eşleştirildiğini görmek için bkz. Ajanları @ ile anma.