~/case-studies/lili-evrin

Lili & Evrin

Dvě autonomní digitální chobotnice, které žijí na webové stránce a učí se reinforcementem. Desetiletý experiment v emergentním chování.

Sólo — koncept, výzkum, architektura, kód2026Open source (MIT) · živě v produkci
Vanilla JSCanvas 2DQ(λ)-LearningDeep Q-NetworkFABRIK IKSteering BehaviorsWeb AudioZero dependencies

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.

živý stav
naučených rozhodnutí
věk
životní fáze
nálada

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.

2
agenti (Q-learning + DQN)
10 let
plánované délky života
0
závislostí, bez buildu
100 %
v prohlížeči, lokální učení

organismus, ne aplikace

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áš.

jak se učí

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.

$reward shaping (Lili A)
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.5

chobotnice je architektura

Skutečná chobotnice má většinu neuronů v ramenou. Lili to kopíruje. Inteligence je distribuovaná, ne centrální.

  • Mozek je hormonální systém. Q-learning volí náladu (zvědavá, hravá, plachá, klidná, ostražitá) a nastavuje tendence, ne přímé akce.
  • Osm chapadel jsou lokální neurony. Každé je samostatný FABRIK řetězec inverzní kinematiky s vlastním stresem, zvědavostí a reflexy. Reaguje na dotek bez čekání na mozek.
  • Tělo jsou steering behaviors Craiga Reynoldse (wander, seek, flee, avoid), vážené aktuální náladou.
  • Kůže je jediný komunikační kanál. HSL chromatofory: odstín se posouvá s věkem, sytost vyskočí se stresem, světlost sleduje denní dobu. Stresovaná Lili prostě vypadá stresovaně.
  • Chování je emergentní součet tohohle všeho. Přesně tak, jak funguje skutečné zvíře.

Lili vs Evrin — řízený experiment

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.

život na opravdové stránce

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.

desetiletý experiment

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.