Muistin rakentaminen pitkäkestoisille agenteille
Edistynyt12 min lukemistaAutomaatiot

Muistin rakentaminen pitkäkestoisille agenteille

Pitkäkestoiset agentit tarvitsevat hallitun pysyväistallennuksen: tietojen alkuperän, vahvistamisen, asiakasympäristöjen eristyksen, hakutestit, säilytysajat, korjaukset ja todennettavan poiston.

Mitä sinun pitäisi osata

Käsittele tekoälyagentin muistia käyttäjätietoina, älä mallin intuitiona. Jokaiselle tallennetulle tiedolle tarvitaan dokumentoitu alkuperä, käyttöalue, elinkaarisäännöt, korjauskeinot ja kattava poisto.

Tallennettu vain tällä selaimella.
Tässä artikkelissa

Tekoälyagentti ilman istuntojen välistä pysyvyyttä aloittaa jokaisen istunnon sille annetuista konteksteista. Pysyvyys voi vähentää toistuvaa esittelytyötä, mutta se luo myös tietosuojaan, tarkkuuteen, eristämisvelvoitteisiin ja poistovelvollisuuksiin liittyviä haasteita.

Tämä on muistinhallinnan ongelma. Konteksti-ikkuna kattaa nykyisen keskustelun, mutta istuntojen, päivien ja kuukausien yli säilyvä muisti tarvitsee oman arkkitehtuurinsa. Sen toteuttaminen on ensi vaikutelmaa vaikeampaa.

Tämä artikkeli esittää viitearkkitehtuurin testaamista varten, ei sertifioidun toteutuksen. Tuotetiimien on varmistettava pääsynvalvonta, korjaus, säilytys, poisto, palautus ja hakujen laatu omassa koodipohjassaan.

Mitä ”muisti” tarkoittaa

Yksinkertaistettuna muisti tarkoittaa, että ”malli muistaa asioita keskustelujen välillä”. Todellisuus on monimutkaisempi. Kognitiivinen tiede erottaa useita muistityyppejä, ja samankaltainen jako auttaa myös tekoälyagentin muistin suunnittelussa:

Työmuisti. Nykyinen keskustelu. Se säilyy konteksti-ikkunassa ja katoaa keskustelun päättyessä, ellei sitä tallenneta.

Episodinen muisti. Tietyt menneet tapahtumat. ”Viime tiistaina keskustelimme asiasta X.” ”Kolme kuukautta sitten päätit tehdä Y:n.”

Semanttinen muisti. Yleiset tiedot. ”Nimesi on Alice.” ”Pidät ytimekkäistä vastauksista.” ”Yrityksesi sijaitsee Tallinnassa.”

Menettelymuisti. Miten asiat tehdään. ”Kun käyttäjä pyytää tapaamista, käytä tätä mallipohjaa.” ”Kun asiakas kuuluu tasoon X, noudata prosessia Y.”

Eri muistityypit palvelevat eri toimintoja. Käytä vain niitä kerroksia, joita tuote voi perustella ja ylläpitää; enemmän tallentaminen ei ole automaattisesti parempi.

Mitä muistin tulisi saavuttaa

Ennen arkkitehtuuria tavoitteet:

Jatkuvuus. Agentti jatkaa siitä, mihin se jäi. Käyttäjän ei tarvitse esitellä itseään uudelleen jokaisessa istunnossa.

Personointi. Tekoälyagentti soveltaa asetuksiasi ilman uutta pyyntöä. Se kirjoittaa tyylilläsi, käyttää työkalujasi ja tunnistaa tiimisi.

Kontekstin säilyttäminen. Aiemmissa keskusteluissa tehdyt päätökset vaikuttavat nykyiseen keskusteluun. Agentin pitäisi muistaa esimerkiksi, että ”päätimme X:stä viime kuussa”.

Vahvistettu mieltymysten uudelleenkäyttö. Järjestelmä voi soveltaa nimenomaista tai vahvistettua mieltymystä niissä toiminta-alueilla, joissa se on voimassa. Toistuminen itsessään ei osoita, että työkalu, kieli tai käyttäytyminen tulisi asettaa oletuksena.

Tietosuoja ja unohtaminen. Määritä, mitä muistetaan, mitä ei tallenneta ja mitä poistetaan. Tämä on tärkeää sekä käyttäjän luottamuksen että lainsäädännön noudattamisen kannalta.

Tavoitteet voivat olla ristiriidassa keskenään. Jatkuvuus voi hyötyä valikoidusta tietojen säilyttämisestä, kun taas tietosuoja ja tarkkuus edellyttävät minimointia, käyttötarkoituksen rajaamista, korjaamista ja poistamista. Arkkitehtuurissa nämä kompromissit on tehtävä näkyviksi.

Arkkitehtuuri

Tyypillinen kerroksinen arkkitehtuuri:

┌─────────────────────────────────────┐
│ Työmuisti (kontekstissa)            │  Nykyinen keskustelu
├─────────────────────────────────────┤
│ Istuntomuisti (tuore)               │  Viimeiset N keskustelua
├─────────────────────────────────────┤
│ Episodimuisti (pitkäaikainen)       │  Tiettyjä menneitä tapahtumia
├─────────────────────────────────────┤
│ Semanttinen muisti (tiedot)         │  Vakaat käyttäjätiedot
├─────────────────────────────────────┤
│ Menettelymuisti (mieltymykset)      │  Käyttäjäkohtainen toiminta
└─────────────────────────────────────┘

Jokaisella kerroksella on oltava nimenomaiset tallennus-, haku-, käyttö-, alkuperä- ja korjauskäytännöt sekä tietojen säilytys- ja poistotoiminnot. Useat loogiset kerrokset voivat käyttää samaa fyysistä tallennustilaa.

Käymme läpi jokaisen.

Taso 1: Työmuisti

Tätä käsiteltiin jo artikkelissa Kontekstin hallinta. Työmuisti tarkoittaa nykyistä keskustelua kontekstissa. Monivaiheisissa keskusteluissa konteksti voidaan kerrostaa niin, että viimeisimmät keskusteluvuorot säilytetään sanatarkasti ja vanhemmat tiivistetään.

Siirto pitkäaikaiseen muistiin voi tapahtua nimenomaisessa tarkistuspisteessä, luotettavasti tallennetun tapahtuman yhteydessä tai istunnon lopussa. Koska istunto voi päättyä äkillisesti, tallenna vain hyväksytyt ehdokkaat ja tee kirjoituksen tila havainnoitavaksi. Älä oleta, että istunnon päättävä toiminto suoritetaan aina.

Taso 2: Istunnon muisti

Tuoreiden istuntojen yhteenvetoja voidaan säilyttää rajatulla tarkkuudella, kun tuotteella on siihen perusteltu käyttötarkoitus. Mikä tahansa määrä, kuten kymmenen viimeistä keskustelua, on vain esimerkki suunnittelun lähtötiedosta, ei oletusarvo.

Toteutus: jokaisesta istunnosta tallennetaan yhteenveto, aikaleima ja aihe. Kun käyttäjä palaa, agentti voi tarkistaa nopeasti viimeaikaiset tapahtumat.

{
  "session_id": "abc-123",
  "user_id": "alice",
  "started": "2026-05-14T10:30:00Z",
  "ended": "2026-05-14T10:45:00Z",
  "topic": "Drafting proposal for Acme Corp",
  "summary": "Drafted v1 of the Acme proposal. Decided to lead with the cost-savings angle. Alice will review and send Friday.",
  "facts_learned": ["Acme is a current customer", "Alice's deadline is Friday"],
  "open_items": ["Alice to review v1 by Thursday"]
}

Uuteen istuntoon voidaan ladata valtuutettu osa viimeisistä yhteenvedoista, kun haun laatu, merkityksellisyys, tokenbudjetti ja tietosuoja on testattu. Älä lataa oletuksena kontekstiin automaattisesti kiinteää määrää yhteenvetoja.

Tämä on suhteellisen yksinkertainen istuntojen välisen muistin muoto, mutta sekin vaatii eristämistä, alkuperän varmentamista, korjauksia, elinkaaren hallintaa ja hakutestejä.

Taso 3: episodinen muisti

Episodiseen muistiin tallennetaan pidempään muistettavat menneet tapahtumat, kuten päätökset, virstanpylväät ja tärkeät keskustelut.

Merkittävät tapahtumat poimitaan istunnoista ja tallennetaan kattavine metatietoineen.

{
  "event_id": "ev-456",
  "user_id": "alice",
  "date": "2026-04-22",
  "type": "decision",
  "description": "Alice decided to migrate from Postgres to ClickHouse for the analytics workload, citing query performance.",
  "context_summary": "After 3 weeks of evaluation including performance tests and cost analysis.",
  "related_topics": ["infrastructure", "analytics", "database"],
  "importance": "high"
}

Haku: kun tiedot ovat nykyisen keskustelun kannalta olennaisia, agentti hakee niihin liittyviä tapahtumia semanttisella haulla (muodosta nykyisestä kyselystä upotusvektori ja etsi vastaavat tapahtumat), aiheen perusteella tai aikarajauksella (”mitä tapahtui viime kuussa?”).

Haasteena on päättää, mikä tapahtuma kannattaa muistaa. Yhdessä mahdollisessa mallissa järjestelmä ehdottaa hyväksytyssä tarkastuspisteessä päätöksiä, sitoumuksia tai virstanpylväitä sekä liittää niihin lähdetekstin kohdat ja vahvistussäännöt. Mallin tuottama tärkeysmerkintä ei oikeuta henkilötietojen tallentamiseen.

Taso 4: Semanttinen muisti

Vakaat käyttäjätiedot, joiden on oltava tarvittaessa saatavilla. ”Alice on Acmen toimitusjohtaja. Hän suosii ytimekästä viestintää. Hän työskentelee Tallinnan aikavyöhykkeellä.”

Näitä tietoja on vähemmän kuin episodisia tapahtumia, mutta niitä haetaan useammin. Ne muodostavat agentin käsityksen käyttäjästä.

Toteutus: rakenteinen profiili.

{
  "user_id": "alice",
  "profile": {
    "name": "Alice Tamm",
    "role": "CEO at Acme Corp",
    "location": "Tallinn, Estonia",
    "timezone": "Europe/Tallinn",
    "preferred_language": "English",
    "communication_style": "concise, direct, no preamble",
    "expertise_areas": ["product strategy", "go-to-market"],
    "tools_used": ["Notion", "Slack", "Linear"]
  }
}

Päivityksiä tehdään, kun agentti saa uusia tietoja. Istunnon jälkeen kielimalli ehdottaa uusia vakaita tietoja, jotka joko yhdistetään hyväksyttyjen sääntöjen mukaisesti tai siirretään tarkistusjonoon.

Semanttisten tietojen on oltava luotettavia ja vakaita. Yhden keskustelun sivuhuomautus ”kokeilen ehkä Pythonia” ei saa muuttua väitteeksi ”Alice suosii Pythonia”. Tallentamisen kynnyksen on oltava korkeampi.

Seuraava varmuusasteeseen perustuva työnkulku on vain havainnollistava. Se vaatii silti alkuperän varmentamista ja kalibrointia:

  • Päätelty kerran: vain ehdotus, johon liitetään lähdetekstin kohta ja jolla ei ole automaattista vaikutusta agentin toimintaan.
  • Selkeästi ilmoitettu: ehdokas mainittuun soveltamisalaan; vahvista ennen merkityksellistä uudelleenkäyttöä.
  • Nimenomaisesti vahvistettu: tallennetaan alkuperätiedon, soveltamisalan, tarkistuspäivän ja käyttäjän hallintakeinojen kanssa.

Tämä estää tekoälyagenttia oppimasta virheellisiä tietoja sivuhuomautuksista.

Taso 5: Menettelymuisti

Miten agentin tulee käyttäytyä tätä käyttäjää kohtaan. Työnkulut, mallipohjat ja mieltymykset tiettyjä toimintoja varten.

Esimerkit:

{
  "user_id": "alice",
  "procedural": {
    "email_signature": "...",
    "meeting_preferences": "always offer 3 time slots, never schedule before 9am",
    "code_style": "Python, type hints required, dataclasses over dicts",
    "tone_for_clients": "warm, direct, with explicit next steps",
    "approval_process": "all customer-facing communications need Alice's review before sending"
  }
}

Nämä ovat kuvioita, joita agentti noudattaa, kun merkityksellisiä tehtäviä ilmenee.

Päivitykset voivat alkaa nimenomaisesta ohjeesta tai toistuvasta kuviosta. Toistuva käyttäytyminen voi laukaista vahvistuspyynnön, mutta sen ei pitäisi hiljaisesti luoda pysyvää menettelytapaa.

Tallennusvaihtoehdot

Missä muisti sijaitsee?

SQL-tietokanta. Luotettava, haettava ja hyvin tunnettu ratkaisu. Jokaisella muistityypillä voi olla oma taulunsa, ja tietoja voidaan hakea tauluja yhdistämällä. Se sopii hyvin rakenteisiin hakuihin.

Vektori-indeksi. Mahdollistaa episodisten muistojen semanttisen haun, kuten ”löydä tähän aiheeseen liittyvät muistot”. Tapahtumat muunnetaan upotusvektoreiksi, ja haku perustuu samankaltaisuuteen.

Yhdistelmä. SQL-tietokannan ja vektori-indeksin yhdistelmä on yksi vaihtoehto, kun tarvitaan sekä rakenteista että semanttista hakua. Tietojen kaksinkertainen esitys lisää synkronointi- ja poistovelvoitteita, joten vertaa ratkaisua yksinkertaisempaan tietovarastoon toistettavilla testeillä.

Erikoistuneet muistityökalut. Mem0, Letta (aiemmin MemGPT) ja Zep ovat agenteille tarkoitettuja muistikerroksia. Niitä voi harkita, jos tarvitset korkeamman abstraktiotason.

Aloita pienimmästä tietovarastosta, joka täyttää rakenteisen käytön, semanttisen haun, asiakasympäristöjen eristämisen, alkuperän seurannan, korjaamisen, säilyttämisen ja poistamisen vaatimukset sekä varmuuskopiointi- ja palautustestit. SQL-tietokanta, vektori-indeksi, niiden yhdistelmä tai erikoistunut kerros voivat kaikki sopia. Vertaa ylläpito- ja siirtymätyön määrää äläkä valitse ratkaisua vain tiimin tottumuksen perusteella.

Hakumallit

Miten agentti saa muistin kontekstiin?

Kuvio 1: Automaattinen lataus istunnon alussa

Kun uusi istunto alkaa, hae automaattisesti seuraavat tiedot:

  • Käyttäjän semanttinen profiili.
  • N viimeisimmän istunnon yhteenvedot.
  • Mikä tahansa avoin sitoumus tai seurantatehtävä.

Nämä tiedot muodostavat taustakontekstin, joka annetaan agentille istunnon alussa.

Kuvio 2: Kyselyyn perustuva haku

Kun käyttäjän viesti viittaa aiempiin aiheisiin, hae siihen liittyvät tapahtumat.

Esimerkki: käyttäjä kysyy ”mikä oli tietokantakeskustelumme johtopäätös?”. Agentti etsii episodisesta muistista ”tietokantaan” liittyviä tapahtumia ja palauttaa olennaisen tapahtuman.

Toteutus: muodosta käyttäjän viestistä upotusvektori, etsi samankaltaiset tapahtumat ja lisää ne kontekstiin.

Kuvio 3: Nimenomaiset muistityökalut

Agentilla on työkaluja muistin kyselyyn:

  • search_episodes(query): etsi tiettyjä menneitä tapahtumia.
  • get_user_profile(): hae semanttinen profiili.
  • list_open_items(): odottavat sitoumukset.

Agentti päättää näiden kutsumisen ajankohdan keskustelun perusteella.

Kuvio 4: Muistin ylläpito taustaprosessilla

Taustaprosessi tarkistaa muistin säännöllisesti ja:

  • Yhdistää toisiinsa liittyviä tapahtumia teemoittain.
  • Päivittää tosiasioiden varmuusastetta.
  • Vanhentaa vanhoja muistimerkintöjä, joita ei ole haettu.

Tämä on muistin ylläpitoa, jolla tietovarasto pidetään hyödyllisenä ajan kuluessa.

Muistin kirjoittaminen

Milloin muisti kirjoitetaan?

Poiminta tarkistuspisteessä tai istunnon lopussa

Yksi vaihtoehto on eräajo, jonka luotettava toimitus ja äkillinen keskeytyminen on testattu. Hyväksytyssä tarkistuspisteessä tai istunnon lopussa:

  1. Kielimalli analysoi keskustelun.
  2. Se poimii:
    • Istunnon yhteenvedon.
    • Huomioitavat tapahtumat (episodiseen muistiin liittyen).
    • Uudet tosiasiat (semanttista muistia varten).
    • Mieltymyssignaalit (menettelymuistia varten).
  3. Se päivittää ja tallentaa hyväksytyt tiedot.

Eräkäsittely voi vähentää istunnon aikana tehtävää työtä, mutta odottamatta päättyvä istunto voi jättää päivitykset tallentamatta ja viivästyttää korjauksia. Mittaa molemmat toimintatavat ja käytä luotettavasti suoritettavaa taustatehtävää silloin, kun tietojen säilyminen on välttämätöntä.

Poimintakehote:

Analysoi tämä keskustelu. Tuota JSON-muodossa seuraavat tiedot:

1. summary: 2-3 lauseen mittainen yhteenveto tapahtuneesta.
2. notable_events: taulukko merkittävistä muistettavista tapahtumista (tehdyt päätökset, vaiheet, tärkeä konteksti).
3. new_facts: taulukko käyttäjään liittyvistä vakaista tosiasioista (sisällytä vain, jos varmuusaste on korkea).
4. preference_signals: taulukko havaituista mieltymyksistä (vain, jos ne on ilmaistu selkeästi tai toistuvasti).
5. open_items: taulukko ratkaisemattomista kohdista, joita käyttäjä saattaa haluta palata myöhemmin tarkastelemaan.

Ole varovainen. Sisällytä vain kohteet, joiden luottamusarvio on korkea. On parempi jättää jotakin tallentamatta kuin keksiä perusteeton tieto.

Arvokkaiden tietojen reaaliaikaiset päivitykset

Joidenkin tietojen kohdalla ei pidä odottaa istunnon loppuun. Jos käyttäjä sanoo ”itse asiassa nimeni on Alex, ei Alice”, korjaus on otettava välittömästi käyttöön.

Yksi malli on antaa tekoälyagentin havaita nimenomaiset korjaukset tai tärkeät uudet tiedot heti ja päivittää muisti suoraan.

Tämä vaatii huolellista suunnittelua, sillä kielimalli voi ”oppia” virheellisiä tietoja. Jotkin tiimit edellyttävät käyttäjän vahvistusta ennen reaaliaikaisten päivitysten käyttöönottoa.

Käyttäjän aloittamat päivitykset

Käyttäjä voi kertoa agentille nimenomaisesti asioita, jotka sen tulee muistaa:

  • Muista, että suosin muotoa X.
  • Unohda mitä sanoin asiasta Y.
  • “Aina tee Z.”

Näiden tulisi olla ensisijaisia hallintakeinoja. Aloita pyydetty toiminto heti, näytä sen laajuus ja tila sekä selitä lakisääteinen säilytys tai varmuuskopioiden vanheneminen, jos se estää välittömän ja kattavan poistamisen. Nimenomainen lausuma osoittaa vahvasti tiedon alkuperän, mutta ei todista, että kaikki siitä päätellyt käyttöalueet olisivat oikeita.

Työkalu, jonka agentti voi tarjota:

muista(sisältö: merkkijono, tyyppi: "fakta" | "mieltymys" | "menettely")
unohda(sisältö: merkkijono)
listaa_muistamasi()

Tällainen hallintamahdollisuus voi vahvistaa käyttäjän luottamusta.

Unohtaminen ja tietojen vanheneminen

Rajoittamaton muisti aiheuttaa hakuihin, kustannuksiin, tietosuojaan ja tarkkuuteen liittyviä riskejä. Dokumentoitu elinkaari on välttämätön. Aikaan perustuva vanhentaminen on yksi vaihtoehto, mutta se ei korvaa vaadittua säilyttämistä tai poistamista.

Aikaperusteinen vanheneminen

Vanhempia muistimerkintöjä haetaan harvemmin. Toteutus:

  • Arvioi hakua sen perusteella, että relevance * recency_decay.
  • Vanhat muistot jäävät käytännössä pois hausta, ellei niihin viitata nimenomaisesti.

Tärkeyteen perustuva säilytys

Tärkeät tapahtumat säilytetään pidempään, kun taas merkityksettömät vanhenevat nopeammin.

  • Merkitse tapahtumien tärkeys tallennushetkellä.
  • Korkean arvon tapahtumat: tarkoitukseen sidottu säilytysaika, jolla on omistaja ja tarkastuspäivämäärä; älä oleteta pysyvää säilytystä.
  • Tavalliset tapahtumat: hakupainon asteittainen väheneminen kuukausien aikana.

Käyttäjän aloittama unohtaminen

Käyttäjä voi pyytää tiettyjen muistitietojen poistamista.

  • Täsmällisesti nimetyt tosiasiat.
  • Tiettyjen aikavälien osalta.
  • Tiettyjä aiheita.

Toteutus: työnkulku, joka poistaa ensisijaisen tietueen ja kaikki johdannaiset katkelmat, upotukset, tiivistelmät, indeksit, välimuistit, vientitiedostot sekä jonossa olevat tehtävät. Poistomerkintä voi estää tiedon syöttämisen uudelleen, mutta tietueen pelkkä piilottaminen ei ole poistamista. Määritä varmuuskopioiden vanheneminen ja testaa, ettei poistettu tieto palaudu varmuuskopion palauttamisen yhteydessä.

Vaatimustenmukainen poisto

Lainsäädäntö voi edellyttää tietojen poistamista tai säilyttämistä. Yleisen tietosuoja-asetuksen (GDPR) 17 artiklassa säädetään oikeudesta tietojen poistamiseen ja sen poikkeuksista. Oikeudellisen asiantuntijan tulee arvioida tämä ja muut sovellettavat säännökset tuotteen, oikeudenkäyttöalueen ja tietojen käsittelyä koskevan roolin kannalta.

  • Käyttäjätilin poistopyyntö → käynnistä tarkastettu poisto- tai rajoitustyönkulku kaikissa pyynnön piiriin kuuluvissa tietovarastoissa ja ilmoita poikkeuksista tai varmuuskopioiden vanhenemisesta.
  • Poista pyyntökohtaisesti tiedot → paikanna kattavat tietueet ja johdannaiset sekä varmenna tulos.
  • Säilytysrajat → automaattisesti vanhenevat suojatut tiedot hyväksytyn aikataulun mukaisesti.

Nämä ominaisuudet on suunniteltava alusta asti. Niiden lisääminen jälkikäteen on vaikeaa.

Tietosuojaan liittyvät huomiot

Muisti sisältää arkaluonteisia tietoja. Tietovarastoon kertyy paljon tietoa käyttäjästä. Huomioi ainakin seuraavat asiat:

Levossa olevan tiedon salaus

Muistiin tallennetut tiedot on salattava. Se on perustason vaatimus.

Käyttöoikeuksien hallinta

Kuka voi nähdä käyttäjän muistin: vain käyttäjä, vain järjestelmä vai tietyissä tilanteissa myös tukihenkilöstö? Määrittele oikeudet selvästi ja auditoi pääsy.

Henkilötietojen käsittely

Henkilötiedot, kuten nimet, osoitteet ja taloustiedot, on merkittävä ja käsiteltävä huolellisesti. Niille tarvitaan erityiset käyttöoikeuksien hallinta- ja poistomenettelyt.

Käyttäjän näkyvyys

Kun tuote ja sovellettavat oikeudet sitä vaativat, tarjoa käyttäjille mahdollisuus tarkastella, korjata, rajata ja poistaa muistitietueita. Muistipaneeli on yksi toteutustapa; testaa ymmärrys ja suojaa se kuten mitä tahansa muita herkkiä tietoja käsittelevää pintaa.

Mitä agentti muistaa sinusta:

Profiili:
- Nimi: Alice Tamm
- Tehtävä: Acme Corp:n toimitusjohtaja
- Viestintätapa: ytimekäs, suora

Viimeaikaiset istunnot:
- 2026-05-14: Laadittu ehdotus Acmelle
- 2026-05-12: Arvioitu Q1-tulokset
- ...

Asetukset:
- Pyydää ytimekkäitä vastauksia
- Käyttää Notionia, Slackia ja Linearia

[Muokkaa] [Poista valitut kohteet] [Poista kaikki]

Tällainen avoimuus voi vahvistaa luottamusta. Käyttäjältä piilotettu ja epäselvä muisti ei tee niin.

Jakaminen kontekstien välillä

Jos käyttäjällä on useita ”tiloja” (työagentti, henkilökohtainen agentti), hän saattaa haluta muistitietojen erottamisen toisistaan. Älä jaa tietoja tiloittain automaattisesti, ellei siitä ole pyydetty.

Yleiset epäonnistumismoodit

Muutama kuvio:

Epäonnistuminen 1: Keksityt muistot

Agentti väittää muistavansa asioita, joita ei ole tapahtunut. ”Viime viikolla sovimme asiasta X”, vaikka X:ää ei ole koskaan käsitelty.

Syy: kielimalli ”täydentää” tietojen poiminnan tai haun aikana muistoja, jotka kuulostavat uskottavilta.

Korjaus: perusta muistitoiminnot todellisiin keskustelutietoihin. Kielimalli poimii tiedot, mutta ne tarkistetaan alkuperäisestä keskustelutallenteesta. Merkitse mallin keksimät tiedot.

Epäonnistuminen 2: Väärien tietojen oppiminen

Agentti esittää virheellisiä tietoja itsevarmasti. ”Sanoit suosivasi Pythonia”, vaikka todellisuudessa sanoit joutuneesi käyttämään Pythonia työssäsi.

Syy: virheellinen tulkinta tietojen poiminnan aikana.

Korjaus: luottamuskynnykset. Opi vain nimenomaisista, toistuvista tai vahvistetuista väittämistä. Käyttäjä voi oikaista.

Epäonnistuminen 3: Tietovuodot

Yhden käyttäjän keskustelusta tallennettu muisto ilmestyy toisen käyttäjän keskusteluun. Se on vakava virhe.

Syy: käyttäjäkohtaisten rajausten virheet.

Korjaus: varmista käyttäjäkohtainen rajaus sekä tallennus- että hakukerroksessa. Auditoi se. Älä koskaan jätä suodatusta kielimallin varaan.

Epäonnistuminen 4: Muistin kasautuminen

Vuoden kuluttua muistia on useita megatavuja käyttäjää kohden. Haku hidastuu ja kustannukset kasvavat.

Syy: tietoja ei vanhenneta tai karsita.

Korjaus: vanhenna tietoja voimakkaasti. Suurin osa muistoista muuttuu kuukausien kuluessa tavoittamattomaksi tai saa pienen hakuprioriteetin. Tiivistä tietoja säännöllisesti.

Epäonnistuminen 5: Vanhentuneet tiedot

Käyttäjä vaihtoi roolia 6 kuukautta sitten. Agentti viittaa edelleen vanhaan rooliin.

Syy: tietoja ei päivitetty, kun ne korvattiin uusilla.

Korjaus: havaitse ristiriidat, säilytä alkuperä ja voimassaoloajat sekä pyydä vahvistusta, kun valtuutettu arvo on epäselvä. “Uusin päihittää”-periaate on vaarallinen viiveellisen, lainatuun tai haitalliseen syötteeseen.

Epäonnistuminen 6: Hämmentävä yhdistely

Taustalla tehtävä muistojen yhdistäminen voi joskus kirjoittaa muistoja uudelleen niin, että tietoa katoaa.

Syy: aggressiivinen tiivistäminen ilman keskeisten tietojen säilyttämistä.

Korjaus: yhdistämisen on nimenomaisesti säilytettävä tosiasiat. Testaa yhdistämistä todellisilla muistilähteillä.

Toteutuksen luonnos: henkilökohtainen avustaja, jolla on muisti

Esimerkillinen viitearkkitehtuuri: henkilökohtainen tekoälyavustaja yksittäisille käyttäjille.

Muistikerrokset:

  1. Toiminta: nykyinen keskustelu.
  2. Istunto: viimeiset 7 istuntoa yhteenvetomuodossa.
  3. Episodinen: 100 viimeisintä merkittävää tapahtumaa semanttisella haulla.
  4. Semanttinen: käyttäjäprofiili (nimi, rooli, asetukset, työkalut).
  5. Menettelytason ohjeet: käyttäjän asettamat nimenomaiset työnkulut.

Tallennus:

  • SQL (Postgres): rakenteinen profiili, istunnot, tapahtumat ja menettelyt.
  • Vektoritietokanta (pgvector): episodisen muistin semanttinen haku.

Toiminnot:

  • Istunnon alussa: lataa automaattisesti semanttinen profiili, viimeiset 3 istuntoa ja avoimet asiat.
  • Istunnon aikana: käynnistä episodisen muistin haku aiheen osuvuuden perusteella.
  • Istunnon päättyessä: poimi tiedot kielimallilla; käyttäjä voi tarkistaa, mitä järjestelmä oppi.
  • Taustalla: yhdistä toisiinsa liittyvät tapahtumat viikoittain ja vanhenna vanhentuneet tiedot.

Käyttäjän asetukset:

  • Muistisovellus, joka näyttää muistetut tiedot.
  • Muokkaa tai poista yksittäisiä kohteita.
  • ”Unohda viimeinen tunti” -painike.
  • Koko tilin poistamisen työnkulku varmistetulla kattavuudella, dokumentoiduilla poikkeuksilla ja varmuuskopioiden vanhenemiskäyttäytymisellä.

Vaadittavat todisteet ennen onnistuneeksi merkitsemistä:

  • tehtävien suorittaminen sekä ilman että hakemalla muistia kiinteällä arviointijoukolla,
  • tallennettujen tosiasioiden ja haettujen muistien tarkkuus, mukaan lukien ristiriitojen käsittely,
  • asiakasympäristöjen ja käyttäjien välisen eristyksen testit,
  • korjausten ja poistojen levittäminen tietueiden, upotusten, välimuistien, vientitiedostojen, tehtävien ja varmuuskopioiden vanhenemisen kautta,
  • tokenien, tallennustilan, viiveen ja toiminnan kustannukset todellisten jäljitystietojen perusteella,
  • käyttäjän ymmärryksen ja hallinnan testaaminen luottamusta olettamatta.

Käsitellyt epäonnistumistilat:

  • Keksittyjä muistoja koskevat tapaukset sisällytetään tietojen poiminta- ja hakutesteihin.
  • Luottamusarvot kalibroidaan, mutta ne eivät yksin tee tiedosta totta.
  • Valtuutus varmistetaan ennen noutoa ja uudelleen ennen esittämistä.
  • Tietojen säilytys- ja yhdistämistehtävillä on tarkastuslokit, virheenkäsittely ja poistotestit.

Tämä on suunnittelun tarkistuslista, ei todiste tuotantovalmiudesta. Tuotantovalmius vaatii näyttöä toteutuksesta sekä tietoturva- ja tietosuojakatselmuksen.

Erikoistyökalut

Huomio muistipalveluvalinnoista:

Mem0. Avoimen lähdekoodin muistikerros. Arvioi sen nykyinen dokumentaatio ja koodi suhteessa tietojen pysyvyyttä, eristystä ja poistamista koskeviin vaatimuksiisi.

Letta (MemGPT). Muotoilu, jossa muisti on työkalukeskeinen. Tarkista sen nykyinen dokumentaatio ja toiminnalliset rajat.

Zep. Hallinnoitu muisti- ja kontekstipalvelu. Tarkista sen nykyinen dokumentaatio, tietojen käsittelyrajat ja poistamista koskevat ehdot.

Cognee. Tietokaavioon keskittyvä vaihtoehto. Varmista sen kypsyys ja soveltuvuus nykyisestä dokumentaatiosta ja repositoriosta ennen käyttöönottoa.

Nämä työkalut voivat vähentää toteutuskuormitusta ja lisätä toimittaja-, tietoturva-, siirto- sekä elinkaaren hallintaan liittyviä riippuvuuksia. Vertaa niitä vastaavilla hyväksymistesteillä varustettuun sisäiseen ratkaisuun.

Rakenna vain perusteltu vähimmäismäärä muistia

Pitkäaikainen muisti mahdollistaa agenttien jatkuvuuden istuntojen välillä. Se on myös yksi vaikeimmista ominaisuuksista toteuttaa oikein.

Rakenne on kerroksellinen:

  • Työmuisti (kontekstissa).
  • Istuntomuisti (viimeisimmät istunnot).
  • Episodinen muisti (tiettyjä tapahtumia koskevat tiedot).
  • Semanttinen muisti (vakaat tiedot).
  • Menettelymuisti (asetukset ja työnkulut).

Jokaisella tasolla on oma tallennus-, haku- ja häviölogiikkansa. Jokainen taso edistää sitä, että tekoälyagentti pysyy hyödyllisenä ajan kuluessa.

Tärkeimmät mallit:

  • Varovainen tietojen poiminta (älä keksi tosiasioita).
  • Luottamusperusteinen oppiminen (älä opi satunnaisista kommenteista).
  • Aktiivinen unohtaminen (vanhentaminen ja karsiminen).
  • Käyttäjän hallinta (läpinäkyvyys ja muokattavuus).
  • Tietosuojan täytäntöönpano (kaikissa kerroksissa).

Kun se läpäisee arviointi- ja elinkaaritestit, muisti voi vähentää toistuvaa esittelyä ja tehdä vahvistetut mieltymykset saataville istuntojen välillä.

Agenteissa, jotka tarvitsevat jatkuvuutta istuntojen välillä, tietojen pysyvyys on tietoinen tuotepäätös. Rakenna vain perusteltu vähimmäismäärä muistia ja varmista tietojen alkuperä, käyttöoikeudet, käyttäjän hallinta sekä testattu elinkaaren päättäminen.

Lue seuraava

Jatka samaa oppimisreittiä seuraavilla käytännön artikkeleilla.

Syvennä osaamistasi

Valikoituja ulkoisia kursseja, jotka käsittelevät aiheita tarkemmin.

Näytä kaikki kurssit aiheesta Automaatiot