Přejít na obsah
~/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. Od fáze 58 se navíc vidí — každý čte pozici a stres toho druhého přes sdílený hook a být od sebe v přátelské vzdálenosti je teď nejsilnější kladná odměna, jakou můžou získat. Ani jeden nemá naskriptované, aby toho druhého vyhledával. Učí se vyhledávat jeden druhého, protože se to odměňuje.

Právě teď je někde na téhle stránce — na desktopu i na mobilu. 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.

A kurzor už není jen predátor. V aktuální hierarchii odměn představuje aktivní kurzor taky potravu — pozornost uživatele jako příležitost k nakrmení, druhou nejsilnější odměnu hned po sociální vazbě. Jestli Lili před ukazatelem uteče, nebo se k němu přitočí, závisí na její náladě, stresu a historii, ne na pevném pravidle.

$reward shaping (Lili A)
in whitespace, user is reading   +1.0   // correct coexistence
fled an approaching cursor       +0.8
near Evrin, ideal distance       +0.6   // social bond (Phase 58)
explored the DOM, low stress     +0.5
playful interaction              +0.3
overlapping Evrin                -0.3
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 nad 26rozměrným spojitým stavem. 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. Na mobilu běží jen v režimu inference a jeho teplá červenooranžová paleta ho na první pohled odliší od chladného tyrkysu Lili.

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.

padesát osm fází později

Case study vznikla při zrodu projektu; organismus rostl dál. O padesát osm vývojových fází později má Lili vnímání ročních období s vlastními zvuky, syntetizovanou Web Audio přítomnost (dýchající drone, praskání bublin, šplouchnutí inkoustu), endokrinní model — virtuální dopamin, kortizol a serotonin, které modulují samotné učení — přehrávání snů v tichých hodinách, kognitivní stárnutí a obrany, které volí podle povahy: inkoust a kamufláž (plachá Lili se maskuje na 100 %, zvědavá skoro vůbec).

A má i život mimo plátno: potomci dědí její naučené Q-hodnoty s genetickou mutací, deník píše její dny, Q-tabulka se vykresluje jako generativní umění, observability dashboard ukazuje každý vnitřní stav a mozek běží ve Web Workeru, takže stránka za její přemýšlení neplatí. Po plánovaných deseti letech přijde umírací animace — a odkaz. Plná podpora dotyku dorazila ve fázi 42, proto zmizela stará výhrada „jen na desktopu“.

ž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.