Kun rakennat omaa agenttia n8n:llä, suunnittelet samalla, mitä tietoa kielimallille annetaan juuri nyt ja mitä tietoa järjestelmä säilyttää myöhempää käyttöä varten. Kielimalli ei itsessään kanna asiakashistoriaa suorituksesta toiseen. Agentin ohjauskehys voi valita kontekstiin keskusteluhistoriaa, hakea rakenteista tietoa, ylläpitää prosessin tilaa tai tuoda mukaan tietopohjasta löytyviä tekstikatkelmia.
Tässä oppitunnissa erotat toisistaan konteksti-ikkunan, keskusteluhistorian, prosessin tilan, rakenteisen pitkäkestoisen tiedon, semanttisen vektorihaun sekä tietopohjan ja RAGin. Niillä on eri tehtävät, eikä niitä pidä niputtaa yhdeksi muistiksi.
Ohjauskehys-kytkentä: Agentin ohjauskehys valitsee, mitä mallille annetaan juuri nyt, tallentaa sovitut tiedot ja prosessin tilan sekä hakee tehtävän kannalta olennaisen tiedon. Samalla se toimeenpanee käyttöoikeudet ja rajaa, mitä ei saa tallentaa tai näyttää mallille.
Kuvittele asiakaspalveluagenttia, joka vastaa pitkän keskustelun jälkeen kysymykseen: ”Entä mitä ehdotat nyt?” Järjestelmän täytyy valita mukaan ongelman kuvaus, olennaiset aiemmat kokeilut ja uusimmat viestit. Kaiken keskusteluhistorian siirtäminen mallille ei ole aina tarpeellista eikä turvallista.
Konteksti-ikkuna tarkoittaa rajattua määrää tokeneita eli tekstin osia ja muuta aineistoa, jonka malli voi käsitellä yhdessä suorituksessa. Se ei ole sama asia kuin keskusteluhistoria. Sovellus voi valita historiasta osan, tiivistää aiempia tapahtumia tai jättää tarpeettoman sisällön pois ennen kuin konteksti annetaan mallille.
Käytännössä konteksti-ikkunan koko on kompromissi. Mitä suurempi ikkuna on, sitä enemmän agentti näkee aiempaa keskustelua ja sitä paremmin se voi ymmärtää tilanteen. Suurempi ikkuna tarkoittaa kuitenkin myös enemmän käsiteltävää dataa, mikä tekee agentista hitaamman ja kalliimman. Jokainen sana, jonka agentti käsittelee, voi maksaa rahaa, jos käytössä on kaupallinen kielimallipalvelu.
Pysähdy hetkeksi: Mitkä kolme asiaa pitkästä tukikeskustelusta mallin täytyy nähdä seuraavaa päätöstä varten? Mitkä tiedot voidaan tiivistää, ja mitkä pitää jättää kokonaan pois?
Vastuullinen suunnittelija ei valitse kontekstia viestimäärän perusteella vaan kysyy, mikä tieto on tehtävän ratkaisemiseksi tarpeellista, ajantasaista ja sallittua. Kontekstissa olevan tiedon lähde ja ajankohta pitää voida tarkistaa.
Konteksti-ikkuna kertoo agentille, mitä tapahtuu nyt. Mutta entä jos asiakkaan kanssa on työskennelty kuusi kuukautta? Entä jos hän palaa uuden ongelman kanssa ja haluat, että agentti muistaa, mitä viimeksi opittiin?
Rakenteinen pitkäkestoinen tieto tallennetaan tavallisesti järjestelmään, jossa sillä on määritellyt kentät. Asiakkaan tunniste, sopimuksen tila, tilausnumero ja hyväksynnän ajankohta kuuluvat esimerkiksi asiakas- tai tilaustietokantaan. Täsmällistä tietoa ei pidä päätellä samankaltaisuuden perusteella.
Tietopohja on hyväksytty aineistokokoelma, kuten käyttöohjeet, menettelyohjeet tai kurssimateriaali. Se ei ole käyttäjästä kerättävää muistia. Oma botti II -tunnilla opittu RAG tarkoittaa, että järjestelmä hakee tietopohjasta tehtävään liittyviä katkelmia ja antaa ne mallille vastauksen tueksi.
Semanttinen vektorihaku auttaa löytämään merkitykseltään samankaltaisia tekstikatkelmia, vaikka niissä käytetään eri sanoja. Se sopii esimerkiksi ohjeen etsimiseen tietopohjasta. Samankaltaisuus ei kuitenkaan todista, että katkelma koskee oikeaa tuotetta, versiota, käyttäjää tai ajankohtaa. Haun osuvuus ja lähde pitää tarkistaa ennen käyttöä.
Tämä merkitysperusteinen haku on vektoritietokannan vahvuus. Se ei vaadi täsmällistä sanavastaavuutta, vaan se auttaa löytämään olennaista tietoa myös silloin, kun asiakas muotoilee asian eri tavalla kuin aiemmin.
Asiakaskohtaista tietoa saa hakea vain käyttäjä- tai organisaatiorajauksen ja käyttöoikeuksien perusteella. Asiakkaan tunnisteella tehtävä tarkka haku kuuluu rakenteiseen järjestelmään, ei semanttiseen vektorihakuun. Ohjauskehyksen pitää estää toisen käyttäjän tai organisaation tietojen päätyminen kontekstiin.
Vektoritietokanta toimii näin:
Voit ajatella vektoritietokantaa kirjaston hakujärjestelmänä. Kun haet kirjastosta aihetta ”koiran koulutus”, hyvä hakujärjestelmä ei etsi vain kirjoja, joissa lukee täsmälleen ”koiran koulutus”. Se voi löytää myös kirjoja, joiden nimi on esimerkiksi ”Pentujen kasvatus” tai ”Lemmikkien kouluttaminen”, koska ne käsittelevät samaa aihetta eri sanoin. Vektoritietokanta toimii samalla periaatteella: se etsii merkityksiä, ei pelkkiä sanoja.
Pysähdy hetkeksi: Asiakas kysyy sopimuksensa erityisehdosta. Mitkä tiedot haet rakenteisesta sopimusjärjestelmästä ja mitkä yleiset tulkintaohjeet tietopohjasta? Miten varmistat, että molemmat kuuluvat juuri tälle käyttäjälle ja ovat voimassa?
Konteksti-ikkuna kertoo, mitä tapahtuu nyt. Pitkäkestoinen muisti kertoo, mitä on tapahtunut aiemmin. Mutta mistä agentti tietää, missä vaiheessa prosessia ollaan? Tätä varten tarvitaan tila eli state.
Kuvittele tilauksen käsittelyä. Kun asiakas tekee tilauksen, tila on ”tilaus luotu”. Kun agentti lähettää vahvistuksen, tila muuttuu muotoon ”vahvistus lähetetty”. Kun varasto pakkaa tuotteen, tila muuttuu muotoon ”pakattavana”. Kun kuljetus lähtee, tila on ”lähetetty”. Kun asiakas vastaanottaa tuotteen, tila on ”toimitettu”. Jokainen vaihe on eri tila, ja agentti seuraa, missä vaiheessa prosessi on.
Tila sisältää myös muuttujia eli prosessin aikana tarvittavia tietoja. Esimerkiksi:
Ilman tilamuuttujia agentin toiminta menisi helposti sekaisin. Se ei tietäisi, missä vaiheessa tehtävä on tai mitä se oli tekemässä. Se voisi lähettää vahvistussähköpostin kahteen kertaan, koska se ei muistaisi lähettäneensä sitä jo aiemmin. Se voisi yrittää veloittaa asiakasta uudelleen, koska se ei tietäisi, että maksu on jo suoritettu.
Kun rakennat agenttia n8n:llä, tilan hallinta on kriittistä. Sinun täytyy suunnitella, mitä mahdollisia tiloja prosessilla voi olla ja mitä muuttujia kussakin tilassa tarvitaan. Nämä tilat ja muuttujat ohjaavat agentin seuraavaa vaihetta. Esimerkiksi jos tila on ”maksu maksettu” ja muuttuja ”varastosaatavuus” on ”ei saatavilla”, agentin seuraava askel voi olla ilmoittaa asiakkaalle arvioitu toimitusaika.
Laitetaan nyt nämä kolme komponenttia yhteen. Kuvittele asiakaspalveluagentti, joka käsittelee asiakkaita reaaliajassa.
Konteksti-ikkuna sisältää tähän päätökseen valitut uusimmat viestit, tiivistelmän aiemmista kokeiluista ja vain tarpeelliset tunnistetiedot.
Rakenteinen historia kertoo käyttöoikeuden sallimissa rajoissa, mitä laitetta tapaus koskee ja mitä toimenpiteitä juuri tässä asiakkuudessa on jo tehty. Tietopohjan semanttinen haku löytää hyväksytystä ohjeesta mahdollisen ratkaisun B. Järjestelmä tarkistaa tuotteen, version ja lähteen ennen kuin katkelma annetaan mallille.
Tila kertoo, että kyseessä on toinen ratkaisuyritys kolmesta, asiakas on aktiivinen eikä ihmisen tekemää eskalointia ole vielä pyydetty. Nämä muuttujat ohjaavat agentin seuraavaa päätöstä.
Tässä esimerkkitoteutuksessa agentin ohjauskehys kokoaa päätöstä varten nykyisen tilanteen, tähän asiakkuuteen rajatun historian ja prosessin tilan. Näiden perusteella kielimalli voi valita sallitun etenemisen: ”Kokeillaan ratkaisua B, koska se auttoi aiemmin. Jos se ei auta, siirrän asian ihmiselle.” Ratkaisu B voidaan valita tässä tapauksessa, koska ohjauskehys välittää mallille juuri tähän päätökseen tarvittavat tiedot. Toisenlaisessa tehtävässä pitkäkestoista muistia ei välttämättä tarvita lainkaan.
Pysähdy hetkeksi: Ajattele omaa työtäsi tai opintojasi. Mitä tietoa pidät mielessä lyhytaikaisesti? Mitä tietoa säilytät pidempään? Miten seuraat, missä vaiheessa olet jossakin prosessissa? Agentin muisti ja tila toimivat samankaltaisella tavalla.
Konteksti-ikkuna, pitkäkestoinen muisti ja tila kertovat, mitä tietoa agentilla on käytettävissään. Niistä pitää erottaa pysyvät toimintaperiaatteet: järjestelmäohjeet ja agentin ohjauskehyksen säännöt, jotka määrittävät, miten agentin pitää toimia tilanteesta toiseen.
Toimintaperiaatteet vastaavat kolmeen kysymykseen:
Ensimmäinen kysymys: Mikä on agentin tehtävä ja toimintatapa? Esimerkiksi: ”Toimi kärsivällisenä neuvojana. Anna ensin lyhyt toimintaohje ja pyydä lisätietoa vain, jos se on ratkaisun kannalta tarpeen.” Ohje kuvaa havaittavaa toimintaa, ei koneen sisäistä luonnetta.
Toinen kysymys: Mitkä rajat ovat voimassa aina? Esimerkiksi: agentti ei palauta salasanaa, jaa toisen asiakkaan tietoja eikä esitä puuttuvaa tietoa varmana. Osa rajoista kirjoitetaan järjestelmäohjeisiin, mutta kriittiset rajat toteutetaan myös agentin ohjauskehyksessä oikeuksina, tarkistuksina ja hyväksyntäportteina.
Kolmas kysymys: Miten epäselvä tilanne käsitellään? Esimerkiksi: jos tietoa ei ole tarpeeksi, agentti pyytää tarkennusta; jos toimintaan liittyy korkea riski, agentin ohjauskehys pysäyttää vaiheen ja pyytää ihmisen hyväksynnän.
Käytännössä toimintaperiaatteet voidaan dokumentoida erikseen ja muuntaa järjestelmäohjeiksi, käyttöoikeuksiksi ja valvontasäännöiksi. Ne eivät ole agentin muistoja eivätkä todiste tietoisuudesta tai arvoista. Ne ovat ihmisen suunnittelema osa agentin ohjauskehystä.
Kun agentti muistaa paljon, täytyy puhua myös turvallisuudesta. Pitkäkestoinen muisti voi sisältää arkaluontoisia tietoja, kuten asiakkaiden henkilötietoja, maksutietoja tai liikesalaisuuksia.
Vastuullisena käyttäjänä sinun täytyy asettaa selkeät rajat sille, mitä agentti saa muistaa ja mitä se ei saa muistaa. Asiakkaan nimi ja ostohistoria voivat olla perusteltuja tietoja, jos niitä käsitellään turvallisesti ja lain mukaisesti. Luottokortin neljä viimeistä numeroa voidaan joissain tilanteissa tallentaa tunnistamista varten, jos tieto on suojattu asianmukaisesti. Asiakkaan salasanaa ei kuitenkaan pidä koskaan tallentaa agentin muistiin. Myös terveystiedot ja muut erityisen arkaluontoiset tiedot vaativat erityistä varovaisuutta ja lainmukaisen käsittelyperusteen.
Muistin hallinta vaatii myös säännöllistä puhdistamista. Vanhentuneet tiedot kannattaa poistaa. Jos asiakas poistaa tilinsä, myös häneen liittyvä historia pitäisi poistaa pitkäkestoisesta muistista silloin, kun se on sääntöjen ja lainsäädännön mukaan tarpeen. Tämä on sekä turvallisuus- että yksityisyyskysymys.
Nyt kun ymmärrät konteksti-ikkunan, pitkäkestoisen muistin ja tilan, mieti omaa agenttiprojektiasi. Mitä tietoa agenttisi tarvitsee yksittäisen suorituksen aikana? Mitä sen täytyy säilyttää suoritusten välillä? Mitä tiloja prosessilla on? Kirjaa toimintaperiaatteet erikseen, jotta muistitieto ja järjestelmää ohjaavat säännöt eivät sekoitu toisiinsa.
Lopuksi pohdittavaksi: Mitä tietoa agentin ohjauskehys antaa mallille nyt, mitä se säilyttää myöhemmäksi ja mitä sen pitää jättää tallentamatta?
Agentin ohjauskehys kokoaa mallille konteksti-ikkunan. Keskusteluhistoria on yksi mahdollinen lähde, mutta sitä voidaan valita ja tiivistää. Täsmälliset pitkäkestoiset tiedot kuuluvat rakenteiseen järjestelmään. Semanttinen vektorihaku etsii tietopohjasta merkitykseltään samankaltaisia tekstikatkelmia, ja RAG tuo tarkistetut katkelmat vastauksen tueksi. Prosessin tila kertoo, missä vaiheessa tehtävä on.
Pidä erillään mitä malli näkee nyt, mitä järjestelmä säilyttää rakenteisesti, mitä tietopohjasta haetaan, missä vaiheessa prosessi on ja mitkä säännöt rajaavat toimintaa. RAG voi epäonnistua joko hakuvaiheessa, jos väärä tai puutteellinen katkelma valitaan, tai vastauksen muodostamisessa, jos malli käyttää oikeaakin lähdettä väärin. Siksi lähde, käyttäjärajaus ja lopputulos tarkistetaan.
Tarkistettu 15.7.2026.
Tämä tunti rakentaa lopputyösi toista osaa. Tänään suunnittelet, mitä agentti näkee nyt, mitä se säilyttää myöhemmäksi ja miten tehtävän tila kuvataan. Tuotos: Agentti: Muisti (2/5).
Kaikkia ei tarvitse tehdä. Valitse tehtävistä 1. Suosittelen kuitenkin, että teet ainakin Agentti: Muisti -tehtävän — se on lopputyösi osa.
Miksi tämä on tärkeää: Agentin minimiversion rakennustunnilla rakennat n8n-työnkulun, jossa muisti on konkreettinen suunnittelupäätös. Ilman muististrategiaa agentti käsittelee jokaisen pyynnön kuin se olisi ensimmäinen.
Avaa muistiinpanoistasi Agentti: Ongelma. Kirjoita yhteensä 150–200 sanaa, jaettuna neljään lyhyeen osaan (~40–50 sanaa kukin):
1. Konteksti ja keskusteluhistoria. Mitä tietoa malli tarvitsee juuri tässä suorituksessa? Mitä historiasta valitaan tai tiivistetään kontekstiin?
2. Pitkäkestoinen tieto ja tietopohja. Mitä täsmällistä tietoa säilytetään rakenteisesti? Tarvitaanko erillistä tietopohjaa ja RAG-hakua? Perustele, miksi tieto kuuluu juuri tähän paikkaan.
3. Tilat ja tilasiirtymät. Mitä eri tiloja agentillasi voi olla? Mitkä ehdot liikuttavat tilasta toiseen? Jos agenttisi suorittaa tehtävän kerralla ilman tilamuutoksia, riittää maininta tästä.
4. Käyttöoikeudet ja toimintaperiaatteet. Kerro, kenen tietoja saa hakea, miten käyttäjä- tai organisaatiorajaus varmistetaan ja miten lähde tarkistetaan. Merkitse erikseen ohjauskehyksen säännöt — ne eivät ole muistia.
Olen suunnitellut agentilleni seuraavan muistirakenteen: [liitä
neljä osaa]. Agenttini tehtävä on [kuvaa]. Toimi sparrauskumppanina
ja kysy 2–3 kysymystä, jotka paljastavat, ovatko muistipäätökseni
perusteltuja. Erityisesti: tarvitseeko agentti pitkäkestoista muistia?
Onko tilamuutokset oikeasti tarpeen? Älä korjaa puolestani — kysy
niin että ajattelen.
Vinkki muistiinpanoihin: Tallenna Agentti: Muisti muistiinpanodokumenttiisi. Tämä on 2/5 lopputyösi osista.
Miksi tämä on hyödyllinen: Luotettava agentti ei käsittele kaikkea tietoa yhtenä muistina. Täsmällinen tilaustieto, keskusteluhistoria ja ohjekatkelma tarvitsevat eri käsittelyn.
Rakennat asiakaspalveluagentin. Luokittele seuraavat tiedot: nykyinen konteksti, keskusteluhistoria, prosessin tila, rakenteinen pitkäkestoinen tieto tai tietopohjasta RAGilla haettava katkelma.
Perustele jokaisesta, mistä tieto haetaan, kuka saa nähdä sen ja miten sen ajantasaisuus tai lähde tarkistetaan.
Vinkki muistiinpanoihin: Tätä tehtävää ei palauteta, mutta jos havaitsemasi periaatteet vaikuttavat omaan Agentti: Muisti -valintaasi, päivitä se.
Agentti: Muisti valmis — 2/5 lopputyöstä koossa
| Käsite | Selitys |
|---|---|
| Konteksti-ikkuna | Rajattu määrä tietoa, jonka malli saa käsiteltäväksi yhden pyynnön tai suorituksen aikana. |
| Keskusteluhistoria | Aiemmat viestit, joista järjestelmä voi valita tai tiivistää olennaisen osan mallin kontekstiin. |
| Pitkäkestoinen muisti | Tieto, joka säilytetään myöhempiä suorituksia varten erillisessä varastossa. Kaikki agentit eivät tarvitse sitä. |
| Rakenteinen pitkäkestoinen tieto | Täsmällisiin kenttiin tallennettu tieto, kuten tilausnumero, sopimuksen tila tai hyväksynnän ajankohta. |
| Tila | Rakenteinen tieto siitä, missä vaiheessa prosessi on ja mitä on jo tapahtunut. |
| Tilamuuttuja | Prosessin aikana seurattava arvo, kuten käsittelyvaihe, yritysten määrä tai hyväksynnän tila. |
| Vektori | Numeerinen esitys, jonka avulla tekstien merkitysten samankaltaisuutta voidaan vertailla. |
| Vektoritietokanta | Tietovarasto, josta voidaan hakea merkitykseltään samankaltaista aineistoa. Samankaltaisuus ei takaa osuvuutta. |
| Tietopohja | Hyväksytty aineistokokoelma, josta järjestelmä hakee tehtävään liittyvää tietoa. Se ei ole käyttäjästä kerättävää muistia. |
| RAG | Menetelmä, jossa tietopohjasta haetaan katkelmia mallin vastauksen tueksi. Virhe voi syntyä haussa tai vastauksen muodostamisessa. |
| Ankkurointi | Vastauksen tai päätöksen sitominen tarkistettavaan lähteeseen tai havaintoon. |
| Pysyvät toimintaperiaatteet | Ihmisen suunnittelemat järjestelmäohjeet ja agentin ohjauskehyksen säännöt, jotka rajaavat agentin toimintaa. Ne eivät ole muistia tai koneen omia arvoja. |
| Minimimuisti | Periaate, jonka mukaan järjestelmä säilyttää vain tehtävän kannalta tarpeellisen ja sallitun tiedon. |