Přejít na obsah
en – Switch to English

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ólový projekt — koncept, výzkum, architektura, kód2026Open source (MIT) · živě v produkci
Vanilla JSCanvas 2DQ(λ)-LearningDeep Q-NetworkFABRIK IKSteering BehaviorsWeb AudioZero dependencies

Lili žije v builder módu tohohle webu — přepni se tam a možná ti popluje přes 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.

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
Ladicí panel Lili: fáze adult ve 193 dnech, nálada exploring zvolená ε-greedy krokem, posledních pět přechodů nálad, čtyři senzory skládající stav 11676 z 38880, a pod tím Q-hodnoty, 45 791 rozhodnutí a entropie, ze kterých ta volba vzešla
ta odměnová funkce zevnitř — lili.debug() v konzoli tenhle panel otevře na každé stránce, kde Lili žije

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.

$behavioral journal — eight seconds of Lili, unedited
time      state   mood       explore  reward  stress
20:33:00  3036    alert         ·     -2.127    0.09
20:33:01  3036    curious       ·     -0.789    0.07
20:33:01  3036    curious       ·     +1.350    0.20
20:33:02  9516    curious       ·     +0.844    0.33
20:33:03  32196   exploring     ·     -1.455    0.35
20:33:04  28956   exploring     ·     -1.490    0.26
20:33:04  28956   exploring     ·     -1.202    0.14
20:33:05  15996   idle          ε     -1.394    0.03

ε = the step was exploratory, not the policy's best guess

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.