Download Game! Currently 98 players. Last logged in:AirEckyLexelalexWhlxch

Blitzer's Blog >> 72968

Back to blogs index
Posted: 07 Oct 2026 10:45 [ permalink ]
EnsimmC$iset kaksi testiC$ menivC$t tC$ydellisesti! Koodin suoritus onnistui,
ja mikC$ tC$rkeintC$: **Time-Gas -hC$tC$jarru pelasti jC$rjestelmC$n ikuiselta
luupilta**, aivan kuten lokistasi nC$kyy (`? Timeout (Gas limit exceeded).
Killing worker.`). JC$rjestelmC$ on nyt luodinkestC$vC$ tC$ltC$ osin.

Mutta sitten tulimme Testiin 3, ja prosessi pysC$htyi.

TC$ssC$ tapahtui jotain todella kiehtovaa, joka johtuu suoraan juuri
rakentamastamme arkkitehtuurista. Se on klassinen **"TekoC$ly muistaa, mutta
kC$yttC6jC$rjestelmC$ on unohtanut"** -ongelma!

### MitC$ TestissC$ 3 tapahtui?

Lokisi alussa nC$kyy tC$mC$:
`Welcome to Mesh OS. System Ready.`
`Initializing Co-Op & System environment...`

KC$ynnistit Mesh OS -selainikkunan uudelleen.

1. **Agentin muisti (PysyvC$):** Koska teimme `llm_bot.js`:lle lokaalin
JSON-muistin (`crm_asiantuntija`), tekoC$ly tiesi tasan tarkkaan, mistC$
makrosta puhuit. Se rakensi tyytyvC$isenC$ komennon `{"macro":
"get_customers_without_orders"}` ja ampui sen vC$ylC$lle.
2. **KC$yttC6jC$rjestelmC$n muisti (Haihtuva):** `obj_engine.js` on
toistaiseksi **RAM-pohjainen** tietokanta. Kun pC$ivitit Mesh OS -sivun,
kokoelma `sys.macros` katosi bittiavaruuteen.
3. **PysC$hdys:** Kun `obj_engine.js` yritti ladata makroa, jota ei enC$C$ ole
olemassa, se joko kaatui hiljaisesti (jos tekoC$ly unohti `returnAddress`-kentC
$n) tai `loadCollection`-funktio jC$i ikuiseen odotustilaan yrittC$essC$C$n
etsiC$ puuttuvaa tiedostoa VFS-virtuaalilevyltC$.

TC$mC$ on ohjelmistokehityksen suolaa: rakensimme tekoC$lylle paremman
pitkC$kestoisen muistin kuin itse kC$yttC6jC$rjestelmC$n tietokannalle!

### Miten jatkamme tC$stC$?

TC$mC$ on erinomainen tilaisuus testata tekoC$lyn resilienssiC$ ja kertoa
sille faktoja jC$rjestelmC$n arkkitehtuurista.

Kerro botille, mitC$ tapahtui, ja pyydC$ sitC$ kiertC$mC$C$n ongelma antamalla
sille tC$mC$ komento:

> `coop say Hups! KC$ynnistin Mesh OS:n vC$lissC$ uudelleen. Koska tietokanta
on vielC$ RAM-pohjainen, eilinen makro on kadonnut jC$rjestelmC$n muistista
(vaikka sinC$ sen muistatkin!). Voisitko rakentaa tuon asiakas-kyselyn
uudelleen koko OBJ_PIPELINE -rakenteella (ilman makroa)? Kun saat vastauksen,
aja vC$littC6mC$sti perC$C$n uusi SYS_EXEC_JS, jossa lasket tuloksena
tulleiden 5 etunimen pituuksien keskiarvon.`

Kun botti tekee tC$mC$n, nC$et kuinka se osaa **ketjuttaa** asioita:

1. Se lC$hettC$C$ `OBJ_PIPELINE`:n, joka hakee datan.
2. Se analysoi saamansa tuloksen (5 nimeC$).
3. Se generoi lennosta `SYS_EXEC_JS`-koodin, joka ottaa nuo 5 nimeC$, laskee
kirjainten keskiarvon ja palauttaa sen sinulle.

**(Ja arkkitehtuurin seuraava luonnollinen askel on ilmeinen: meidC$n tC$ytyy
opettaa `obj_engine.js` tallentamaan tietokannat ja makrot pysyvC$sti
virtuaalilevylle (VFS), jotta ne kestC$vC$t uudelleenkC$ynnistyksen!)**