Haluan kertoa hetkestä, jolloin tajusin, että jokin oli syvästi rikki.
Viime joulukuussa olin rakentamassa tekoälypohjaista SEO-putkea. Meillä oli laaja ”LLM Wiki” context/-hakemistossa: strukturoidut arkkitehtuuridokkarit, funktioindeksi jota agentti saattoi grepatä (grep), koko hoito. Täytyy antaa kunniaa sille, jolle se kuuluu: se oli hieno systeemi, kunnes... kontekstin saastuminen iski. Agentit alkoivat muistella vanhentunutta tietoa, jota olimme päivittäneet saman session aikana. Uudet agentit, jotka käynnistettiin puhtaalla kontekstilla, alkoivat heti suoltaa samaa vanhentunutta tuubaa. Konteksti-ikkunani täyttyi tuplasti nopeammin agentin lukiessa uudelleen tiedostoja, jotka se oli jo nähnyt, yrittäen sovitella ristiriitoja, joita ei olisi pitänyt edes olla olemassa. Samaan aikaan olin itse jatkuvasti aivan hiilenä haukkumassa agenttia ja saamassa vastaukseksi sen kaikkitietävän: ”Olet täysin oikeassa!” (luoja että vihaan tuota lausetta yli kaiken).
Agentti ei edes välttämättä valehdellut, eikä se ollut edes väärässä sillä tavalla kuin yleensä ajatellaan. Se teki täsmälleen sitä, mitä varten olimme sen rakentaneet: haki relevanttia kontekstia ja käytti sitä. Ongelma oli siinä, että ”relevantti konteksti” sisälsi sen itse keksimää roskaa, eikä järjestelmässä ollut minkäänlaista mekanismia erottaa havaittuja faktoja päätellyistä arvauksista tai suoranaisista sepitteistä.
Tätä tapahtuu koko ajan. Jokainen näkemäni agenttijärjestelmä tekee jotain tämän suuntaista, ja mitä enemmän selvitin syitä, sitä enemmän tajusin, että me kaikki rakennamme fundamentaalin oletuksen varaan, joka on melko puutteellinen. Oletus on, että muisti on hakuongelma. Etsi oikeat palaset, tunge ne konteksti-ikkunaan ja anna mallin hoitaa loput. RAG, vektorikannat, semanttinen haku – koko ekosysteemi pyörii yhden kysymyksen ympärillä: miten löydämme relevanttia tietoa? Se vaikeampi kysymys, jota kukaan ei oikeastaan kysy, on: onko tuo tieto totta? Ja se tuhoaa agentit.
Tätä alalla kutsutaan kontekstin mätänemiseksi (context rot).
Fakta on se, että vakiokorjaukset ovat vähän kuin laastareita. Ne toimivat, kunnes ne vain... eivät toimi. Toki voit käyttää RAG:ia, mutta kosinisimilaarisuus löytää sinulle lähimmän palasen, mikä ei ole sama asia kuin oikea palanen. Ja kun se lähin palanen sattuu olemaan kuusi viikkoa sitten tehty hallusinaatio, olet juuri automatisoinut prosessin, jolla ollaan itsevarman väärässä.
Voit käyttää jotain vektorimuistituotetta kuten Mem0 tai Zep, joissa sessiot säilyvät – mahtavaa – mutta muistot ovat vain litteitä muistiinpanoja, jotka kertyvät ikuisesti ilman vanhentumista, ilman korjauksia, ilman... nyansseja. Jos agentti sanoi maanantaina ”käyttää OAuthia” ja tiistaina ”käyttää API-avaimia”, molemmat väitteet elävät muistissa ikuisesti, kumpaakaan ei kyseenalaisteta, ja molemmat haetaan täydellä varmuudella riippuen siitä, kumman upotus sattuu olemaan lähempänä kyselyä. Ja vaikka aikaleimat toisivat ajallista kontekstia, se vaatii silti ylimääräisiä tokeneita sen päättelyyn, kumpi on uusin. Mikään näistä lähestymistavoista ei seuraa, mitä pääteltiin, minkä todisteiden pohjalta ja päteekö se edelleen; eikä tämä edes kata palauttamisen (recall) laadunvalvontaa ja suodatusta. Tässä on se kuilu, tämän kaikki jättävät huomiotta, ja luulen että ymmärrän vihdoin miksi.
Hakukoneilta perimämme mentaalimalli ei vain toimi agenteille. Haku on tilaton (kuten LLM:tkin, ellen ole yhtäkkiä tullut dementoituneeksi): teet kyselyn -> saat tulokset -> valmista tuli. Indeksiä ei kiinnosta, mitä teit tuloksilla tai olivatko ne tarkkoja käyttötarkoitukseesi. Mutta agentit ovat... (tavallaan) tilallisia. Ne päättelevät asioita ajan mittaan ja rakentavat uskomuksia havaintojen ja päätelmien sarjojen kautta. Jos et seuraa tuota alkuperää (provenance), jos vain dumppaat kaiken vektorikantaan ja kutsut sitä muistiksi, saat tasan tarkkaan sen mitä meillä on nyt: järjestelmiä, jotka hakevat tietoa itsevarmasti eivätkä ymmärrä mitään.
Tutkijayhteisö alkaa tajuta tämän. Tänä vuonna julkaistussa Google DeepMindin paperissa puhutaan ”episteemisestä ajautumisesta” (epistemic drift) ja siitä, miten väärin kalibroidut tekoälyjärjestelmät heikentävät ihmisten arvostelukykyä ajan myötä tarjoamalla itsevarmasti epäluotettavaa tietoa. On myös tutkimusta uskomuspoikkeamista (”belief deviation”) monivaiheisessa päättelyssä, mikä osoittaa, että suorituskykyä voi parantaa 30 pistettä vain tunnistamalla, milloin agentin sisäinen tila on ajautunut liian kauas koherenssista. Useat ryhmät ovat toisistaan riippumatta päätyneet uskomusten päivittämisen (belief revision) muodollisiin malleihin, koska epämuodollinen lähestymistapa – tallennetaan vain kamaa ja haetaan sitä – ei todistetusti skaalaudu.
Hauskinta on, että biologia keksi tämän jo aikoja sitten. Hippokampus hoitaa tiettyjen episodien nopeaa ja harvaa koodausta, ja neokorteksi yleistyneen tiedon hidasta konsolidaatiota. Koko systeemi ajaa öisin prosessin, joka päättää, mikä ylennetään tasolta ”asia joka tapahtui” tasolle ”asia jonka tiedän”. Teräväaaltoriplet unen aikana, eksplisiittiset mekanismit unohtamiselle.
Aivot eivät yritä muistaa kaikkea, ne yrittävät muistaa sen, millä on merkitystä, ja niillä on arkkitehtuuri, joka on nimenomaan suunniteltu erottamaan nämä toisistaan. Meillä ei ole sellaista arkkitehtuuria. Kukaan ei rakenna sitä. Agenttimuistin 6 miljardin dollarin markkinat keskittyvät 100-prosenttisesti haun laatuun ja suunnilleen 0-prosenttisesti uskomusten koherenssiin.
!! Nörtti-infopläjäysvaroitus :3 !!
Oikeaan suuntaan on kuitenkin otettu askeleita. HippoRAG mallintaa suoraan hippokampuksen indeksiteoriaa tietograafien ja PageRankin avulla saavuttaen 20 % parannuksia monivaiheisessa kysymys-vastaus-päättelyssä ottamalla biologian tosissaan. Robotiikassa on tehty tutkimusta yllätysportitetusta episodisesta muistista, jossa tallennetaan vain uusia havaintoja – mikä on juuri sellaista merkittävyyssuodatusta, jota aivotkin tekevät.
Zep rakensi ajallisia tietograafeja episodisilla ja semanttisilla tasoilla. Hindsight menee pidemmälle neljällä erillisellä muistiverkolla ja ristiriitojen ratkaisukäytännöillä, mutta ristiriidat silti säilytetään aikaleimojen kera sen sijaan, että ne ratkaistaisiin ennen tallennusta, eikä siinä ole mitään konkreettista menetelmää jäljittää tarkasti, miksi agentti sanoi sen mitä sanoi.
Nämä kaikki ovat askeleita kohti tarvitsemaamme arkkitehtuuria, mutta ne ovat yhä pohjimmiltaan hakujärjestelmiä. Ne tekevät hausta älykkäämpää, mutta ne eivät seuraa uskomusten tilaa, eivät käsittele ristiriitoja kirjoitushetkellä eivätkä ylläpidä auditoitavia alkuperäketjuja. Vaikea osuus on tietää, onko löydetty asia edelleen totta ja miten se liittyy kaikkeen muuhun, mitä uskot. Joten sitä me olemme rakentamassa.
Mutta hetkinen, mitä edes tarkoitan ”uskomuksella”?
No, se ei välttämättä ole muisto. Muisto on: ”hän jätti minut viestissä luetulle.” Mutta uskomus on: ”hän on minulle vihainen, koska hän jätti minut luetulle eikä hän koskaan tee niin, ja olen tästä aika varma kunnes hän vastaa.” Näetkö eron? Kyse on lähinnä muiston asettamisesta menneiden kokemusten tai liittyvien muistojen kontekstiin (sanaleikki ei ollut tarkoituksellinen) ja sen tulkitsemisesta.
Mutta tässä on se juttu: agentit eivät oikein pysty tekemään tätä luonnostaan. Se, mitä agentti uskoo, täytyy elää itse mallin ulkopuolella. Neuroverkon painoihin ei voi tallentaa pysyviä, auditoitavia ja korjattavissa olevia uskomuksia. Kapasiteetti ei yksinkertaisesti riitä – noin 3,6 bittiä parametria kohden jaettuna yleistämisen ja ulkoa muistamisen kesken – eikä tulkittavuuttakaan löydy, koska superpositio tarkoittaa, että neuronit koodaavat sekoituksia, eivät faktoja.
Kysymykseen ”mitä tämä malli uskoo asiasta X” on kirjaimellisesti mahdotonta vastata jo sen rakenteen takia. Jos haluat kysyä ”miksi agentti uskoo näin?” ja saada oikean vastauksen – ei generoitua sepustusta vaan oikean todisteketjun, jonka voit auditoida – tuon todisteketjun on oltava olemassa jossain. Sen on oltava eksplisiittinen, kyseltävissä oleva, ja sen on tuettava päivittämistä, koska uskomukset muuttuvat.
Kutsumme tätä ulkoistetuksi epistemologiaksi (externalized epistemics), mikä on vain hieno tapa sanoa, että muistijärjestelmän itsensä täytyy tietää, mitä se tietää. Nimi ”Engrammic” tulee engrammeista, aivojen hypoteettisista fyysisistä muistijäljistä. Se ero, johon palaan jatkuvasti, on se, että suurin osa nykyisestä agenttimuistista on litteää – pelkkää tekstiä tietokannassa ilman muuta rakennetta kuin se, minkä upotuksen viereen se sattuu osumaan – mutta siinä mitä me rakennamme, on... muotoa. Alkuperä ja merkitys on leivottu sisään siihen, miten se tallennetaan. Muisti on litteää, mutta merkitys, rakas lukijani... merkitys on ✨ engrammista ✨.
Sen täytyy seurata, miksi se uskoo asioita, havaita ristiriidat heti kun ne tapahtuvat ja selvittää ne ennen tallentamista sen sijaan, että myöhemmin huomataan puolen muistista olevan ristiriidassa toisen puolen kanssa.
Konkreettisesti se tarkoittaa, että kun agentti yrittää tallentaa ”hän vastasi viestiin, kaikki on hyvin” ja ”hän on vihainen minulle” on jo olemassa, järjestelmä ei vain lisää uutta riviä perään. Se merkitsee ristiriidan ja pakottaa selvittämään sen. Joko vanha uskomus korvataan eksplisiittisellä linkillä siihen, mikä sen korvasi, tai uusi havainto hylätään, tai molemmat asetetaan odotustilaan odottamaan ihmisen väliintuloa. Mutta se mitä ei tapahdu, on ristiriitaisten faktojen hiljainen kertyminen, joka väistämättä nousee myöhemmin pintaan sekoittamaan kaiken.
Se tarkoittaa, että jokaisella uskomuksella on jälki: sen sijaan että ”malli generoi tämän”, se onkin ”tämä tuli havainnoista X, Y, Z, jotka kirjattiin aikoina A, B, C, ja varmuus heikkeni ajan myötä”. Kun yritysasiakas kysyy ”miksi agenttinne sanoi asiakkaallemme näin”, voit vastata käymällä graafin läpi, etkä vain kohauttamalla olkapäitäsi. Se tarkoittaa, että unohtaminen on todellinen asia, jota varten järjestelmä aidosti suunnitellaan. Vanhat havainnot heikkenevät, vanhentunut konteksti haalistuu ja järjestelmä päättää aktiivisesti, millä on tarpeeksi väliä säilytettäväksi. Jonkinlaisen ”täydellisen” palautuksen sijaan tavoitteena on hyvä arvostelukyky relevanssin suhteen.
Tätä on vaikeampi rakentaa kuin vektorikantaa, mutta se on myös ainoa asia, joka oikeasti toimii, kun agenttisi pyörii yli viikon oikeissa tehtävissä, oikeiden käyttäjien kanssa ja sotkuisella datalla.
Uskon, että tekoälyn seuraava vuosikymmen koskee luottamusta, ei suorituskykyä. Olemme todistaneet, että mallit voivat olla kyvykkäitä, mutta emme ole todistaneet, että niihin voi luottaa – ja jokainen näkemäni tuotantokäyttö kaatuu lopulta luottamukseen, koska muistikerrosta ei ole suunniteltu sitä varten.
Monen agentin järjestelmät (multi-agent systems) vain pahentavat tilannetta. Kun viisi agenttia kirjoittaa jaettuun tilaan, saadaan välimuistin koherenssiongelma, mutta uskomuksille. Mitä agent 3 ajattelee, kun agents 1 and 2 kirjoittivat keskenään ristiriitaisia havaintoja? Kukaan ei tiedä, eivätkä arkkitehtuurit tue sisäistä yhteensovittamista.
Myös maailmamallit pahentavat asiaa. LeCunin JEPA-työ määrittelee ulkoisen muistin syystä, ja robotiikan VLA-tutkimukset toteuttavat kaikki ulkoista hakua, mutta missään niistä ei ole episteemistä rakennetta: ei uskomuksen tilaa, ei alkuperää, ei ristiriitojen käsittelyä. Pelkkää hakua alusta loppuun.
Julkaisemme tutkimuksemme avoimesti, koska tämä ongelma on suurempi kuin yksi yritys. Tekniset paperit löytyvät osoitteesta engrammic.ai/research ja ydinarkkitehtuuri on avointa lähdekoodia. Haluan mieluummin, että tämä rakennetaan oikein kuin että vain me rakennamme sen. Joten jos työskentelet agenttimuistin, uskomusten päivittämisen, moniagenttikoordinaation tai minkä tahansa tähän ongelmakenttään liittyvän parissa: Me. Haluamme. Kuulla. Sinusta.
Etsimme aktiivisesti yhteistyökumppaneita tutkimuspuolelle. Katettavaa alaa on paljon, eikä riittävän moni pohdi tätä tosissaan. Ota yhteyttä, selaile papereita, avaa issueita repoon. Tällä asialla on väliä, ja sen selvittäminen yhdessä on hauskempaa.
Olenko pätevä ratkaisemaan tämän? Rehellisesti sanottuna luultavasti en. Yritänkö silti? Todellakin. Jonkun se on rakennettava, yhtä hyvin voin tehdä sen itse. Nykyinen suunta, jossa vain skaalaamme hakua ja toivomme koherenssin syntyvän itsestään, ei johda mihinkään hyvään. Se johtaa agentteihin, jotka ovat sujuvasanaisia, itsevarmoja ja väärässä tavoilla, joita et pysty debuggaamaan, et auditoimaan etkä selittämään sääntelyviranomaiselle, joka kysyy, miksi järjestelmäsi kertoi jollekulle valheellista tietoa. Mukana on myös linjauksen (alignment) kysymys, mutta säästän sen toiseen blogipostaukseen; tldr: ihmisarvojen mukainen älykkyys voi syntyä järjestelmistä, jotka ajattelevat samassa muodossa kuin ihmiset: episteemisesti.
Loppukaneettina haluaisin sanoa: Ennen kuin älyyn voi luottaa, sen on opittava epäilemään. Sitä me olemme rakentamassa... epäilystä.
Otsikkokuva: cosmos.so.