Opponent Prep'i aç, bir kullanıcı adı yaz ve çok geçmeden tahtanın karşısında rahatsız edici bir şeye bakıyor olacaksın: onun açtığı gibi açan, hep sürüklendiği aynı sarsak yapılara sürüklenen ve tam olarak ne zaman hata yapma eğiliminde olduğunu biliyormuş gibi görünen bir bot. Buna Ghost Bot diyoruz ve kaputun altında gerçekten katmanlı bir mühendislik var — her biri, hiç oynamadığın bir yabancı hakkında farklı bir soruyu yanıtlamak için inşa edilmiş, üst üste yığılmış birkaç bağımsız sistem.
Önce, geçmişini okur
Bir isim aradığın anda, o oyuncunun son oyunlarını çekiyoruz ve tek bir analiz turundan geçiriyoruz — kazanma oranı, her renkle gerçekte hangi açılışlara ulaştığı, oyunun farklı noktalarında yaklaşık ne kadar güçlü oynadığı ve en önemlisi, geçmişte tam olarak nerede en çok puan kaybettiği. Tahmin edilmiş değil. Kendi hamlelerinden sayılmış.
Tam pozisyon kitabı: hamleleri, indekslenmiş
Bu geçmişten bir arama tablosu oluşturuyoruz: oyuncunun gerçekten ulaştığı her pozisyon için ne oynadı ve ne sıklıkla? Ghost Bot onun izinden giderken doğaçlama yapmıyor — her seçeneği gerçekten ne sıklıkla seçtiğine göre ağırlıklandırılmış olarak doğrudan bu tablodan çekiyor. Onu elli kez ziyaret ettiği bir pozisyona götür, botun yanıtı tam olarak aynı elli veri noktasından gelir. Bu bir simülasyondan çok, rakamlar tarafından anlatılan bir tekrardır.
Ürkütücü derecede isabetli hissettiren numara: alışkanlık kitabı
İşte gerçek düşünme gerektiren kısım burada. Tam pozisyon tablosu yalnızca daha önce bulunduğu bir pozisyona geri döndüğünde işe yarar — ve hafifçe bile olsa alışılmadık bir şey oynadığın anda o tablo boş kalır. Gerçek rakiplerin sonsuz belleği yoktur ama alışkanlıkları vardır: filini her zaman fianşetto yapan, sekizinci hamleye kadar hep rok yapan, tahtanın diğer tarafında ne yaparsan yap hep aynı piyon üçgenini kuran oyuncu.
Bu yüzden bilginin yarısını bilerek atan ikinci bir dizin oluşturduk: bir pozisyonu yalnızca oyuncunun kendi taşlarına göre hatırlar, senin ne yaptığın her ne ise onu bulanıklaştırır. Ghost Bot'un, teknik olarak gerçek oyunlarında hiç meydana gelmemiş bir pozisyonda "bu onun London Sistemine benziyor" diye tanımasını sağlayan da bu daha bulanık hafızadır. Bu, satranç beyninin yerini alan bir örüntü tanımadır — ve hatırlanan her alışkanlık, oynanmadan önce sessizce güvenlik açısından yeniden kontrol edilir, böylece tanıdık bir kurulum, sadece pozisyon öyle göründüğü için dokuzuncu hamlede bir taşı asılı bırakmaz.
Her iki kitabın üzerinde en tuhaf katman yer alır: bir dizi kadrana indirgenmiş bir kişilik. Oyuncunun gerçek hamle seçimlerini, kendi gücüne yakın rakiplerden oluşan bir kontrol grubuyla karşılaştırarak bir stil parmak izi oluşturuyoruz. Bu, "temkinli oynar", "keskin taktikleri sever" ya da "eşit pozisyonlarda sabırsızlanır" gibi özellikleri, Ghost Bot her iki kitabın da ötesinde doğaçlama yapmak zorunda kaldığında kararlarını sessizce aynı yöne eğen sayısal dürtülere dönüştürür. Sonuç sadece açılışını hatırlamakla kalmaz — onun eğildiği gibi eğilir.
Güç nereden geliyor: Stockfish ve sunucumuzdaki bir model
Kitaplar, Ghost Bot'un hangi hamleleri bildiğini açıklar. Ne kadar güçlü olması gerektiğini ya da nasıl hata yapması gerektiğini açıklamaz. Bu kısım kendi cihazında başlar: Stockfish doğrudan tarayıcında, rakibin son oyunlarından birkaçı üzerinde çalışır ve seçim yapabildiği her konumdaki her yasal hamleyi puanlar. Sonuçlar daha sonra sunucumuza gider ve modelimiz bunlardan öğrenir: bu oyuncu en iyi hamleyi ne sıklıkla buluyor, ne zaman sürçüyor ve hataları ne kadar büyüyor.
Bu model bir sinir ağıdır, yani Claude ve ChatGPT'nin arkasındaki LLM'lere benzeyen matematiksel bir modeldir. Bir dil modeli bir sonraki kelimeyi seçer. Ghost Bot ise rakibinin yapacağı gibi bir sonraki hamleyi seçer.
Peki Report ve Blunder Puzzle seni bekletirken bu neden bu kadar hızlı?
Raporun büyük kısmı saymaktır, hesaplamak değil. Repertuar, iki kitap, stil parmak izi ve zayıf noktalar zaten oynanmış oyunlar üzerinde yapılan aritmetiktir ve tarayıcı bunu birkaç anda bitirir. Stockfish'in yalnızca istediğin oyunları puanlaması gerekir ve aynı oyunları daha önce biri taradıysa sonuç, doğrulanmış bir önbellekten saniyeler içinde gelir.
Game Analysis ve Blunder Puzzle ise kestirmesi olmayan tamamen farklı türde bir soruyu yanıtlıyor: bu belirli hamle, bu belirli oyunda gerçekten iyi miydi — ve ne kadar iyiydi? Bu soru beş dakika önce yoktu. Kimse bunu daha önce hiç sormadı çünkü şu anda tahtandaki pozisyon, az önce oynadığın oyuna özgü. Bunu arayabileceğin bir tablo yok. Bunu yanıtlamanın tek dürüst yolu, pozisyonu gerçek bir satranç motoruna vermek ve tüm oyun boyunca hamle hamle arama yapmasına izin vermektir — ve bir fedanın gerçekten sağlam olup olmadığını kontrol ederken, ilkinin üzerine ikinci bir soru sormak zorundadır: alırsa ne olur? Bu bir tablo araması değildir. Bu, cihazında canlı olarak, pozisyon pozisyon gerçekleşen gerçek, sıralı düşünmedir ve daha önce kimsenin hiç oynamadığı bir oyun için bunu atlayabilecek dünyada hiçbir önbellek yoktur.
Basitçe söylemek gerekirse: Opponent Prep, tek bir oyuncunun alışkanlıklarını birkaç oyundan öğrenir. Report ve Blunder Puzzle ise önündeki oyunun her hamlesini baştan sona düşünmek zorundadır.
Git kendi hayaletini inşa et
Saat başlamadan önce alışkanlıklarını öğren.
