Dvě autonomní digitální chobotnice, které žijí na webové stránce a učí se reinforcementem. Desetiletý experiment v emergentním chování.
Běží živě na tomhle webu. Dávej pozor, možná zrovna teď pluje přes tvou obrazovku. Tahle čísla jsou její skutečný, aktuální stav.
Lili je autonomní digitální organismus. Zvíře s prvky inteligence, které žije na webové stránce, jako by to byl její biotop. Nepředvádí se, prostě je. Všechno na tom, jak se hýbe, reaguje a vypadá, vzniká z reinforcement learningu, nikdy z přednahrané animace.
Evrin je její sourozenec. Druhý agent, který se učí vedle ní jiným algoritmem, takže je lze v čase přímo porovnávat. Sdílejí jedno plátno, stárnou v reálném čase a tiše koexistují s tím, co zrovna čteš.
Pokud čteš na desktopu, právě teď je někde na téhle stránce. A na hlavní stránce, kde žije naplno.
Většina digitálních společníků jsou stavové automaty. Tamagotchi reaguje stejně první i tisící den, chatbot potřebuje cloud a webová animace se kreslí snímek po snímku. Lili je opakem všech tří. Běží celá v prohlížeči bez síťových volání, stárne na reálné časové ose od chaotického mláděte po rozvážného starce a nic z jejího chování není naskriptované. Je naučené.
Cílem návrhu byla ambientní koexistence. Živá přítomnost, která nevyžaduje péči, nepoužívá jazyk a aktivně se učí nepřekážet tomu, co zrovna děláš.
Mozek Lili je tabulkový Q(λ)-learning s eligibility traces, žádná neuronová síť. Devět senzorů (blízkost kurzoru, scroll, hustota DOMu, bílé místo, denní doba, věk a další) se složí do diskrétního stavového prostoru o zhruba 38 880 stavech a Lili se učí, jakou náladu v každém z nich zvolit. Nikde v kódu není pravidlo „buď milá“. Slušné chování vypadne z odměnové funkce samo.
in whitespace, user is reading +1.0 // correct coexistence
fled an approaching cursor +0.8
explored the DOM, low stress +0.5
covered a DOM element -1.0
sat over text, blocking reading -2.0 // the worst case
idle for too long -0.5Skutečná chobotnice má většinu neuronů v ramenou. Lili to kopíruje. Inteligence je distribuovaná, ne centrální.
Evrin používá místo tabulky Deep Q-Network. DQN je notoricky nestabilní. I pár minut tréninku bez dozoru může divergovat, a přitom se tenhle projekt upisuje na deset let. Evrin proto přichází se sedmistupňovou stabilizační sadou: replay buffer, cílová síť, anchor rollback při explozi vah, útlum learning rate, periodické omlazení explorace, gradient clipping a detektor skoku loss.
Dva různí učící se agenti vedle sebe dělají z díla skutečný experiment. Lili se navíc dá porovnat se čtyřmi baseline politikami: náhodnou, zmrazenou, myopickou a ručně psanou heuristikou. Emergentní chování tak jde odlišit od náhody i od samotné odměnové funkce. Každé rozhodnutí se zapisuje do behaviorálního deníku a exportuje jako CSV k analýze.
Lili se nasazuje jako jediný <script defer> s nulovými závislostmi a bez buildu, takže musí být dobrý nájemník. Běží na 60 fps za pár procent CPU, bez alokací v horké smyčce. Napříč návštěvami si díky localStorage pamatuje, kdo je. Export do JSONu a cloud sync přes GitHub fungují jako záchranné čluny pro případ, že se úložiště prohlížeče smaže. A každou půlnoc jemně animací vrátí každý DOM prvek, kterého se dotkla, zpět na původní místo. Bez trvalé stopy, jako organismus, jehož stopy mizí s koncem dne.
Lili se zrodila v březnu 2026 a plán běží do roku 2036. Software se skoro nikdy neupisuje na deset let autonomního provozu, a v tom je celý smysl. Dost dlouho na to sledovat skutečnou ontogenezi, od chaotického mláděte po starce, s kontrolními body po cestě. Je open source pod MIT a právě teď v produkci. Živá čísla na téhle stránce přicházejí přímo z jejího aktuálního stavu.