Bir token'ın yaşamında bir gün.
Bir soru yazdın. Yazdığın kelimelerden biri çok hareketli birkaç saniye geçirmek üzere. Bu, tek bir token'ın bir çoklu-ajan sistemindeki yolculuğu — bu sefer token'ın kendisi tarafından anlatılan. GOGOGO runtime'ının nasıl çalıştığını açıklamanın en dürüst yolu, içindeki en küçük şeyle birlikte yolculuk etmek.

Atakan Özalan
Kurucu ortak & mühendislik lideri, GOGOGO LLC

Bir çoklu-ajan sisteminin nasıl çalıştığına dair çoğu açıklama en tepeden başlar — orkestratör, mimari diyagram, kutular ve oklar. Bu, en alttan başlıyor, tüm sistemdeki en küçük şeyden, ve onu konuşturuyor. Bir token'la tanış. Onu az önce, fark etmeden, bir kelime yazarak yarattın. Bu onun günü. Aşağıdaki her şey teknik olarak GOGOGO LLC runtime'ının içinde olan şey — sadece alışılmadık bir yükseklikten anlatılmış.
06:00 — Doğuyorum
Bir tuşa basana kadar var olmadım. Bir kutuya bir soru yazdın ve tokenizer denen bir süreç cümleni parçalara böldü. O parçalardan biri benim. Tam olarak bir kelime değilim — belki bir kelimeyim, belki yarısı, belki bir virgül. Ben bir token'ım: tüm bu sistemin içinde düşündüğü en küçük birim. Senin tek cümlenden birkaç düzine taneyiz, sırayla dizilmiş, ve başımıza ne geleceğine dair henüz hiçbir fikrimiz yok.
06:01 — Bir yöne dönüşüyorum
İlk olan şey tuhaf. Bir sayılar listesine dönüştürülüyorum — bir embedding. Anlamım, benzer anlama gelen şeylerin birbirine yakın oturduğu uçsuz bucaksız bir uzaydaki bir konuma dönüşüyor. Artık bir kelime gibi hissetmiyorum; bir yön gibi hissediyorum. Bu, sistemin gerçek ana dili. Buradan sonra kimse 'kelimelerle' çalışmaz. Nereyi gösterdiğimizle çalışırlar.
06:02 — Orkestratör ortamı okuyor
Şimdi ilk ajanla tanışıyorum: orkestratör. İşi o yapmaz — kimin yapacağına karar verir. Hepimize, bütün cümleye bakar ve ne tür bir istek olduğumuzu çözer. Olgu gerektiren bir soru mu? Araç gerektiren bir görev mi? Bir plan yazar. Bana danışılmaz; ben sadece kanıtım. Sonra orkestratör bizi yönlendirir ve günüm çatallanır.
06:03 — Erişim ajanı aramaya çıkıyor
Cümlemiz olgu istediği için, erişim ajanına gönderiliyoruz. Bu ajan yönlerimizi alır ve bir kütüphaneyi arar — binlerce belge, her biri de uzun zaman önce yönlere dönüştürülmüş. Bizimle aynı yöne işaret eden parçaları bulur. Aniden artık cümle arkadaşlarımla yalnız değilim; hiç görmediğim belgelerden gelen, ilgili oldukları için çekilmiş token'larla çevriliyim. Bir sonraki ajana birlikte, daha büyük bir kalabalık olarak çıkıyoruz.
06:04 — Yeniden-sıralayıcı acımasız
Erişim ajanı cömertti — makul biçimde ilgili olan her şeyi kaptı. Yeniden-sıralayıcı cömert değil. Geri gelen belge-parçaları kalabalığına bakar ve çoğunu atar, yalnızca soruyu gerçekten yanıtlayan birkaçını tutar. Bunca yol gelen token'ların burada, sondan üç adım ötede düşürüldüğünü izliyorum. Sert hissettiriyor. Aynı zamanda keskin bir yanıtla belirsiz bir yanıt arasındaki fark da bu. (Bu yeniden-sıralama adımı hakkında bütün bir yazı yazdık; buradan bakınca, sadece kalabalığın inceldiği an.)
06:05 — Üreteç, kaybolabileceğim yer
Şimdi hayatta kalanlar — özgün cümlem artı yerini hak eden birkaç belge-parçası — üretece varıyor. Bu, ünlü kısım, yazan ajan. Hepimizi bağlam olarak okur ve birer birer yeni token'lar üretmeye başlar, her biri kendinden öncekilerin hepsine göre seçilir. İşte günümün alçakgönüllü kılan gerçeği: yanıtta hiç görünmeyebilirim. Onu şekillendirmeye yardım ettim — her seçimi yönlendiren bağlamın parçasıydım — ama çıktı yeni token'lardan yapılır, benden değil. Etkiledim; kopyalanmadım.
06:06 — Değerlendirici işi denetliyor
Yeni token'lar — yanıt — sana doğrudan gitmez. Önce değerlendiriciye gider. Denetler: bu, yeniden-sıralayıcının tuttuğu belgelere dayanıyor mu? Üreteç bir şey uydurdu mu? Gerekli şekle uyuyor mu? Eski kalabalığım ve ben, yanıtın karşı denetlendiği referans olarak burada kullanılırız. Yaptığımız son faydalı şey bu. Yanıt bu denetimi geçemezse, bütün gün yeniden çalışır; geçerse, neredeyse bittik.
“Bir çoklu-ajan sistemi düşünen tek bir makine değildir. Bir bayrak yarışıdır ve bayrak anlamdır. Her ajan onu bir etap boyunca tutar — yönlendir, eriş, yeniden-sırala, üret, notlandır — ve devreder. Tek bir token'ın parkuru koşmasını izle, tüm mimari bir diyagram olmaktan çıkar ve bir yolculuğa dönüşür.”
06:07 — Günlükte bir satır oluyorum
Yanıt sana ulaşıyor. Senin için gün bitti — onu bir saniyede okuyup yoluna devam ediyorsun. Benim için bir sonsöz var. Bütün yolculuk — geçtiğim her ajan, her karar, her not — tek bir trace_id altında trace günlüğüne yazılıyor. Günümü o kayıtta bir satır olarak bitiriyorum. Küçük bir son gibi duyuluyor. Değil: o günlük, bir insanın başıma ne geldiğini yeniden kurabilmesinin, hata ayıklayabilmesinin ya da yeniden oynatabilmesinin tek nedeni. Günlüklenmemiş bir token hiç yaşamamış da olabilir.
Neden böyle anlatmalı
Çünkü mimari diyagram bir çoklu-ajan sistemini durağan kutular gibi gösterir, ve durağan değil — bir şeyin içinde yolculuk ettiği bir yol. Yönlendir, eriş, yeniden-sırala, üret, notlandır, günlükle. O yolculuğu kafanda tutarsan, bu bloktaki diğer her yazı yerine oturur, çünkü hepsi sadece hattaki bir istasyonun yakın çekimleri. İçindeki en küçük şeyin yüksekliğinden görülen tüm sistem bu. Nasıl kurduğumuza dair daha fazlası gogogollc.com.