Takaisin blogiin
Executable Memory: miksi AI-agenttien seuraava kehitysaskel ei ole parempi muisti vaan suoritettava muisti
Tekoäly Julkaistu 19. helmikuuta 2026 Kirjoittanut Sami Kalliokoski

Executable Memory: miksi AI-agenttien seuraava kehitysaskel ei ole parempi muisti vaan suoritettava muisti

AI-agenteista puhuttaessa keskustelu keskittyy usein muistiin.
Vektoritietokannat, RAG ja kontekstihistoria nähdään älykkäiden järjestelmien perustana.

Tuotantoympäristössä tämä ei kuitenkaan riitä.

Agentti voi muistaa mitä keskusteltiin, mutta ei muista mikä toimintatapa oikeasti toimi.
Se ratkaisee saman tehtävän joka kerta uudelleen:

  • eri päättelypolulla
  • eri työkaluketjulla
  • eri step-järjestyksellä
  • hieman eri lopputuloksella

Tämä johtaa suurempaan latenssiin, korkeampiin kustannuksiin ja epäennustettavaan toimintaan.

Tämän ongelman ratkaisemiseksi käytän lähestymistapaa nimeltä Executable Memory eli suoritettava muisti.


Ongelma: perinteinen agenttimuisti muistaa tiedon, ei suoritusta

Nykyiset agentit muistavat pääasiassa:

  • keskusteluhistorian
  • haetut dokumentit (RAG)
  • tiivistetyn kontekstin

Tämä auttaa vastaamaan kysymykseen: “Mitä tiedän?”

Mutta tuotantojärjestelmissä tärkeämpi kysymys on: “Miten tämä tehtävä kannattaa suorittaa luotettavasti?”

Agentti voi tietää kaiken projektin datasta, mutta silti käyttää joka ajossa eri logiikkaa ja työkaluketjua. Tämä vaihtelu on kriittinen ongelma järjestelmissä, joissa vaaditaan determinismiä, auditointia ja tasalaatuista lopputulosta.


Mitä Executable Memory tarkoittaa käytännössä

Executable Memory on muistikerros, joka tallentaa onnistuneita suorituspolkuja pelkän tekstimuistin sijaan.

Sen sijaan että agentti tallentaisi vain vastauksen, se tallentaa:

  • suoritusstepit
  • työkalukutsut
  • parametrit
  • päätöspisteet
  • datavirrat stepien välillä
  • validoidun lopputuloksen

Näistä muodostetaan uudelleenkäytettävä rutiini, joka voidaan suorittaa deterministisesti.

Muisti muuttuu passiivisesta kontekstista aktiiviseksi suorituskerrokseksi.


Prompteista rutiineihin: luonnollinen evoluutio agenteissa

Monet agenttijärjestelmät kehittyvät käytännössä näin:

  1. Vapaa promptaus (chat)
  2. Tool calling
  3. Workflowt
  4. DSL- tai skriptipohjaiset rutiinit
  5. Itseoppivat rutiinit (Executable Memory)

Prompt-pohjaiset agentit toimivat hyvin tutkimisessa, mutta eivät skaalaudu tehokkaasti:

  • toistuviin tehtäviin
  • monijärjestelmäintegraatioihin
  • liiketoimintakriittisiin prosesseihin

Käytännön esimerkki: Wendy ja työmaan 360-tilannekuva

Kuvitellaan rakennusalan agentti (Wendy), jonka tehtävänä on: “Hae työmaan 360-kuvat, vertaa niitä aikatauluun ja luo ajantasainen tilannekuva projektin edistymisestä.”

Data tulee useasta lähteestä:

  • 360-kamerajärjestelmä
  • projektin aikataulujärjestelmä
  • mahdollisesti BIM ja projektidata

Rutiini ja eksplisiittinen dataflow

Esimerkki DSL-rutiinista, jossa edellisten stepien arvot vaikuttavat seuraaviin:

routine: create_site_status_snapshot
inputs:
  project_id: string

steps:

  - ask_user:
      question: "Miltä aikaväliltä tilannekuva luodaan?"
      var: date_range

  - fetch_360_images:
      project_id: ${inputs.project_id}
      date_range: ${date_range}
      output: images

  - fetch_project_schedule:
      project_id: ${inputs.project_id}
      output: schedule

  - align_images_with_schedule:
      images: ${images}
      schedule: ${schedule}
      output: aligned_progress_data

  - detect_progress_vs_plan:
      aligned_data: ${aligned_progress_data}
      output: progress_analysis

  - decision:
      condition: ${progress_analysis.delay_percentage} > 10
      if_true:
        - ask_user:
            question: "Havaittu merkittävä viive. Rajataanko analyysi tiettyyn alueeseen?"
            var: area_filter
      if_false:
        - set_var:
            area_filter: null

  - generate_status_summary:
      analysis: ${progress_analysis}
      date_range: ${date_range}
      output: status_report

Tässä jokainen steppi tuottaa rakenteisen outputin, jota seuraavat stepit käyttävät suoraan. Tämä tekee suorituksesta läpinäkyvän, auditoitavan ja deterministisen.


Skills vs Executable Memory

Skills kuvaavat mitä agentti osaa tehdä:

  • hae data
  • analysoi kuvat
  • luo raportti

Executable Memory kuvaa miten tehtävä kannattaa suorittaa optimaalisesti.

Keskeinen ero:

  • Skill = yksittäinen kyvykkyys
  • Rutiini = orkestroitu, opittu suorituspolku

Paras arkkitehtuuri on kerroksellinen: Tools → Skills → Routines → LLM Planner


Miksi DSL + Python UDF eikä pelkkä Python

Pelkkä Python antaa joustavuutta, mutta tuo tuotannossa:

  • suuremman virhepinnan
  • heikomman auditoinnin
  • tietoturvariskejä
  • epädeterministisen rakenteen

DSL + Python UDF -mallissa:

  • DSL hoitaa orkestroinnin, datavirrat ja päätöspisteet
  • Python UDF hoitaa raskaan analyysin ja laskennan

Esimerkiksi Wendyn tapauksessa DSL määrittää workflow’n, kun taas Python UDF voi toteuttaa kuvien analyysin ja edistymisen laskennan.


Päätöspisteet ja human-in-the-loop

DSL mahdollistaa eksplisiittiset päätöspisteet, joissa agentti voi:

  • kysyä rajauksia
  • pyytää tarkennuksia
  • varmistaa kriittiset valinnat

Tämä luo hallittua autonomiaa täysin autonomisen mutta riskialttiin suoritusmallin sijaan.


Yhteenveto

Perinteinen agenttimuisti vastaa kysymykseen: “Mitä tiedän?”

Executable Memory vastaa: “Miten tämä kannattaa suorittaa luotettavasti, nopeasti ja toistettavasti?”

Kun agentti, kuten Wendy, muuntaa onnistuneet missiot rutiineiksi:

  • latenssi pienenee
  • kustannukset laskevat
  • vakaus paranee
  • auditointi helpottuu
  • järjestelmä skaalautuu tuotantokäyttöön

Seuraava kehitysaskel AI-agenteissa ei ole pelkästään parempi muisti, vaan muisti, joka voidaan suorittaa.

Jaa:
Takaisin blogiin