Deschide Opponent Prep, scrie un nume de utilizator, iar în curând te uiți peste tablă la ceva tulburător: un bot care deschide așa cum deschide el, alunecă spre aceleași structuri șubrede în care alunecă mereu și pare să știe exact când tinde să greșească. Îi spunem Ghost Bot, iar sub capotă este o inginerie cu adevărat stratificată — mai multe sisteme independente suprapuse unul peste altul, fiecare construit să răspundă la o întrebare diferită despre un necunoscut împotriva căruia nu ai jucat niciodată.
Mai întâi, își citește istoria
În momentul în care cauți un nume, extragem partidele recente ale acelui jucător și le trecem printr-o singură analiză — procentaj de victorii, ce deschideri joacă efectiv cu fiecare culoare, aproximativ cât de puternic joacă în diferite momente ale unei partide și, esențial, exact unde a pierdut cele mai multe puncte în trecut. Nimic ghicit. Totul numărat, din propriile sale mutări.
Registrul pozițiilor exacte: mutările sale, indexate
Din acest istoric construim un tabel de căutare: pentru fiecare poziție pe care jucătorul a atins-o vreodată efectiv, ce a jucat și cât de des? Când Ghost Bot îi calcă pe urme, nu improvizează — extrage direct din acest tabel, ponderat de frecvența reală cu care a ales fiecare opțiune. Adu-l într-o poziție pe care a vizitat-o de cincizeci de ori, iar răspunsul botului provine din exact aceleași cincizeci de puncte de date. E mai puțin o simulare și mai mult o redare, narată de cifre.
Trucul care o face să pară inexplicabil de precisă: registrul obiceiurilor
Iată partea care a cerut o gândire adevărată. Un tabel de poziții exacte ajută doar atunci când te întorci într-o poziție în care jucătorul a mai fost — iar în momentul în care joci ceva chiar și ușor neobișnuit, tabelul rămâne gol. Adversarii reali nu au memorie infinită, dar au obiceiuri: jucătorul care își fianchetează mereu nebunul, rocă mereu până la mutarea opt, construiește mereu același triunghi de pioni indiferent ce faci tu de partea cealaltă a tablei.
Așa că am construit un al doilea index care aruncă deliberat jumătate din informație: reține o poziție doar după piesele proprii ale jucătorului, estompând orice faci tu. Această memorie mai neclară este cea care îi permite lui Ghost Bot să recunoască "asta seamănă cu Sistemul Londra al lui" într-o poziție care, tehnic, nu a apărut niciodată în partidele sale reale. Este recunoaștere de tipare care ține loc de creier șahist — iar fiecare obicei rechemat este reverificat în tăcere pentru siguranță înainte de a fi jucat, astfel încât un tipar familiar să nu ducă niciodată o piesă în bătaie la mutarea nouă doar pentru că poziția arată așa.
Deasupra ambelor registre stă cel mai ciudat strat dintre toate: o personalitate, redusă la un set de butoane. Construim o amprentă de stil comparând alegerile reale de mutări ale jucătorului cu un grup de control de adversari de o forță aproximativ egală. Asta transformă "joacă prudent", "adoră tactica ascuțită" sau "devine nerăbdător în poziții egale" în mici impulsuri numerice care înclină discret deciziile lui Ghost Bot în aceeași direcție de fiecare dată când trebuie să improvizeze dincolo de ambele registre. Rezultatul nu doar reține deschiderea sa — se apleacă așa cum se apleacă el.
De unde vine forța: Stockfish și un model pe serverul nostru
Registrele explică ce mutări cunoaște Ghost Bot. Nu explică cât de puternic ar trebui să fie și nici cum ar trebui să greșească. Partea aceasta începe pe propriul tău dispozitiv: Stockfish rulează chiar în browserul tău peste câteva dintre partidele lui recente și notează fiecare mutare legală din fiecare poziție în care avea de ales. Rezultatele ajung apoi pe serverul nostru, unde modelul nostru învață din ele: cât de des găsește acest jucător cea mai bună mutare, când alunecă și cât de mari devin greșelile lui.
Acest model este o rețea neuronală, un model matematic asemănător cu LLM-urile din spatele lui Claude și ChatGPT. Un model de limbaj alege următorul cuvânt. Ghost Bot alege următoarea mutare, așa cum ar alege-o adversarul tău.
Atunci de ce e atât de rapid, în timp ce Report și Blunder Puzzle te fac să aștepți?
Cea mai mare parte a raportului înseamnă numărare, nu calcul. Repertoriul, cele două registre, amprenta de stil și punctele slabe sunt aritmetică peste partide care s-au jucat deja, iar un browser trece prin ele în câteva clipe. Stockfish trebuie să noteze doar partidele pe care le ceri, iar dacă altcineva a analizat deja aceleași partide, rezultatul revine dintr-un cache verificat în câteva secunde.
Game Analysis și Blunder Puzzle răspund la un cu totul alt tip de întrebare, pentru care nu există scurtătură: a fost această mutare anume, în această partidă anume, cu adevărat bună — și cât de bună? Această întrebare nu exista acum cinci minute. Nimeni nu a pus-o vreodată înainte, pentru că poziția de pe tabla ta chiar acum este unică pentru partida pe care tocmai ai jucat-o. Nu există niciun tabel în care să o cauți. Singurul mod onest de a răspunde este să predai poziția unui motor de șah real și să-l lași să caute, mutare cu mutare, întreaga partidă — iar când verifică dacă un sacrificiu a fost cu adevărat corect, trebuie să pună o a doua întrebare peste prima: ce se întâmplă dacă o ia? Asta nu e o căutare în tabel. E gândire secvențială reală, care are loc live pe dispozitivul tău, poziție cu poziție, și nu există niciun cache pe lume care să poată sări peste asta pentru o partidă pe care nimeni nu a jucat-o vreodată înainte.
Simplu spus: Opponent Prep învață obiceiurile unui jucător din câteva partide. Report și Blunder Puzzle trebuie să gândească fiecare mutare a partidei din fața ta.
Construiește-ți propria fantomă
Cunoaște-i obiceiurile chiar înainte ca ceasul să pornească.
