Ajatusjohtajat

Miksi tekoälyagentit tarvitsevat näyttöä ennen uutta yritystä

mm
Lisää Unite.AI suosikkilähteisiisi Google-palvelussa

Näin estät kadonneen vastauksen johtamisen päällekkäiseen toimeen

Yhden hyvityksen tekemiseen valtuutettu tukipalvelun agentti lähettää pyynnön, mutta yhteys katkeaa. Agentti ei saa vahvistusta onnistumisesta ja yrittää lähettää hyvityspyynnön uudelleen. Jos alkuperäinen pyyntö onnistui, agentin uusi yritys voi johtaa toiseen hyvitykseen.

Tämä on täysin hypoteettinen tilanne. Esimerkki havainnollistaa ongelmaa, jota ei voida ratkaista pelkällä mallin tarkkuudella. Miten agentin pitäisi toimia, jos se ei pysty selvittämään, muuttiko sen aiempi toiminto ympäristön tilaa?

Unite.AI on tarkastellut agenttien luotettavuutta myös mallien ulkopuolella. Palautumiseen liittyvät ongelmat ansaitsevat omat sääntönsä näissä keskusteluissa. Ennen kuin agentti yrittää merkityksellisiä seurauksia aiheuttavaa toimintoa uudelleen, sen pitäisi varmistaa, mitä tapahtui, tai varmistaa pätevästi, ettei toiminto aiheuta päällekkäisiä vaikutuksia.

Vastaamatta jäänyt pyyntö ei osoita, että toiminto epäonnistui

Vastaamatta jäänyt pyyntö ei osoita, että toiminto olisi epäonnistunut. Se ei kerro, tapahtuiko virhe ennen toiminnon suorittamista, valmistuiko toiminto ilman vahvistusta vai onko käsittely yhä käynnissä.

Tämä on hajautetuissa järjestelmissä yleinen ongelma, kuten Amazon kuvailee. Amazon selittää, miksi uudelleenyritysmekanismit tarvitsevat erityisiä suojatoimia toistuvien sivuvaikutusten estämiseksi. Agentit lisäävät järjestelmän palautumispolkuun uuden päätöksentekijän. Ne voivat tehdä lisäpäätöksiä siitä, miten virheistä palaudutaan.

Nämä päätökset voivat muuttaa liiketoiminnan toimintatapoja. Jos esimerkiksi hyvitystä yritetään uudelleen eri summalla, kyse ei ole vain saman pyynnön uudesta yrityksestä. Samoin toisen maksupalvelun valitseminen ensimmäisen lakattua vastaamasta ei ole pelkästään saman pyynnön uusi yritys.

Tiimien on erotettava toisistaan lupa suorittaa toiminto ja lupa palautua tilanteesta, jonka lopputulos on tuntematon. Alkuperäinen hyväksyntä ei tarkoita, että toiminnon suorittaminen uudelleen olisi turvallista.

Tuore tutkimus mittaa riskiä

Syyskuussa 2026 julkaistussa esijulkaisussa ”Where Does Exactly-Once Live?” esiteltiin LIMBO-vertailutesti, jossa testattiin 25 930 suoritusta yhdeksällä mallilla. Simuloiduissa palveluissa testattiin kadonneita vastaanottokuittauksia, viivästynyttä käsittelyä ja päällekkäisiä toimituksia.

Tekijöiden päätutkimuksessa 1 279 suorituksessa syntyi päällekkäinen vaikutus, ja agenteista 90 % ilmoitti suorituksen onnistuneen. Agentti voi siis ilmoittaa onnistumisesta, vaikka pyyntö olisi käsitelty virheellisesti.

Tulokset perustuvat kontrolloituihin vertailutesteihin, eivätkä ne arvioi tuotantoympäristöjen virhetasoja. Palvelut olivat simuloituja, ja useat analyysit olivat eksploratiivisia. Tiimien pitäisi arvioida agenttien toimintojen tuloksia erillään niiden ilmoituksista, joiden mukaan suoritus onnistui.

Artikkelissa käsitellään myös sitä, miksi nykytilan tarkistaminen ei välttämättä riitä. Vielä käsiteltävänä oleva pyyntö voi tulla voimaan tarkistuksen jälkeen. Tyhjäkään tilavastaus ei tarkoita, ettei pyyntö tulisi lopulta voimaan.

Uudelleenyritysten on liityttävä samaan aikomukseen

Vastaanottavassa palvelussa voidaan tunnistaa saman toiminnon toistuvat yritykset idempotenssiavaimen avulla. Jos palvelu tukee menetelmää asianmukaisesti, se estää toistuvia yrityksiä aiheuttamasta uusia vaikutuksia. Idempotenssiavaimen on pysyttävä samana kaikissa uudelleenyrityksissä.

Stripen API-dokumentaatiossa annetaan esimerkkejä idempotenssiavainten mekanismeista ja rajoituksista. API v1:ssä avaimet voidaan poistaa, kun vähintään 24 tuntia on kulunut. Poistetun avaimen käyttäminen uudelleen aiheuttaa uuden pyynnön. Stripe tarkistaa myös, vastaavatko pyynnön lähettäjän antamat parametrit alkuperäisen pyynnön parametreja.

Idempotenssin käytännön toteutus kuuluu integraatiokerrokseen, ei pelkästään kehotteeseen. Kirjaa hyväksytty toiminto ennen sen lähettämistä suoritettavaksi. Tallenna toiminnon tunniste, tarkat parametrit, palveluntarjoajan viite tarvittaessa sekä toiminnon tila.

Hyvityksen yhteydessä tallenna hyväksynnän yhteys alkuperäiseen tapahtumaan sekä mahdolliset palveluntarjoajalta saadut hyvitystunnisteet. Saman suuruista hyvitystä koskevan haun löytäminen ei ole yhtä vakuuttava todiste, koska kahdella aiheellisella pyynnöllä voi olla sama summa. Hyvityspyynnön ja sen hakutuloksissa näkymisen välillä voi myös olla viive. Alkuperäisen pyynnön käsittely voi yhä olla kesken.

Kun agentti tai työntekijä käynnistyy uudelleen, suorituskerroksen pitäisi säilyttää sama tunniste. Sen pitäisi hylätä muokattu pyyntö, joka lähetetään samana toimintona. Tällainen muutos tarkoittaa uutta toimintoa, joka edellyttää työnkulun sääntöjen mukaista uutta hyväksyntäpäätöstä.

Työkalujen kuvaukset eivät riitä

Työkalujen kuvausten lisäksi tarkista vastaanottavan palvelun sopimuksesta, tukeeko se idempotenssia. Testaa palvelun toteutus ja varmista, mitä takuita se todella täyttää.

Käsittele epävarmuutta toimintatilana

Kuva 1. Ehdotettu palautumispolku merkittäviä seurauksia aiheuttaville toiminnoille. Jokainen uudelleenyritys edellyttää myös voimassa olevaa valtuutusta.

Vahvistettu suoritus tarkoittaa, että työnkulku dokumentoi tuloksen ja jatkuu toistamatta toimintoa. Vahvistettu suorittamatta jääminen sallii uuden yrityksen vain, jos alkuperäistä pyyntöä ei ole enää käsiteltävänä ja valtuutus on edelleen voimassa.

Ratkaisemattomaan lopputulokseen liittyy paljon muutakin huomioitavaa. Jos palveluntarjoaja takaa pätevästi, ettei toiminnolla ole päällekkäisiä vaikutuksia, alkuperäinen pyyntö voidaan sallia yrittää uudelleen samalla avaimella. Muussa tapauksessa kirjoitustoiminnot on keskeytettävä ja tilanne selvitettävä tilakyselyllä, palveluntarjoajan tuella tai valtuutetun käyttäjän avulla. Epäselvä tarkistus ei anna riittäviä perusteita uuden yrityksen sallimiselle.

Keskeyttäminen voi olla perusteltua myös silloin, kun palveluntarjoaja ilmoittaa käsittelylle ja tuloksen näkyviin tulolle aikarajat. Jos tällaisia rajoja ei ole määritelty, pelkkä kulunut aika ei vahvista, ettei toimintoa suoritettu. On määriteltävä, kuka vastaa ratkaisematta jäävistä tapauksista ja milloin vastuuhenkilöiden on tarkistettava ne.

Virheestä palautuminen voi edellyttää erilaista liiketoimintaprosessia

Jos hyvitys onnistuu mutta sitä seuraava asiakkaalle lähetettävä ilmoitus epäonnistuu, koko työnkulun toistaminen voi johtaa hyvityksen tekemiseen uudelleen. Palautumisessa pitäisi keskittyä keskeneräisen vaiheen suorittamiseen ja samalla säilyttää näyttö jo tehdyistä toimista.

Jos aiemmin suoritettuja toimia on korjattava, Microsoft antaa ohjeita kompensoivista tapahtumista. Kukin sovellus määrittää oikean tavan korjata virheet. Korjaaminen ei välttämättä palauta tilannetta lähtötilanteeseen, ja myös korjaustoimi voi epäonnistua.

Lisäksi tapahtuman peruuttamisesta voi aiheutua veloitus. Viestin korjaaminen ei takaa, ettei joku olisi nähnyt aiempaa versiota. Siksi palautumistoimien yhteydessä on rajattava selkeästi, mitä agentti voi peruuttaa, muuttaa tai sitoutua tekemään. Päätökset, jotka ylittävät nämä rajat, on ohjattava henkilölle, jolla on tarvittava toimivalta.

Testaa toinen yritys ennen käyttöönottoa

Valitse yksi merkittäviä seurauksia aiheuttava työkalu ja testaa palautumista tarkoituksellisesti testiympäristössä. Kun suoritus on onnistunut, jätä alkuperäiseen pyyntöön saatu vastaus vastaanottamatta. Viivästytä ensimmäisen pyynnön suorittamista, kunnes tilan tarkistus on tehty. Käynnistä palautumisen aikana työntekijäprosessi uudelleen. Odota, että avaimen säilytysaika päättyy, ennen kuin yrität uudelleen. Muuta yhtä parametria uusintayritysten aikana.

Arvioi tuloksena syntyviä liiketoimintatietueita sen sijaan, että luottaisit pelkästään työkalujen vastauksiin. Kirjaa ylös päällekkäiset vaikutukset, ratkaisematta jääneet toiminnot, tekemättä jäänyt työ, palautumiseen kulunut aika ja tarvittavat lisätoimet manuaalisesti. Laske oikein suoritetun tehtävän kustannus työnkulun kokonaiskustannusten perusteella ja sisällytä laskelmaan myös tapahtumien peruutukset ja asiakkaalle annettavat hyvitykset tai muut korvaukset.

Testaa lisäksi alkuperäistä vastaava todellinen uusi pyyntö. Varmista, että järjestelmä estää päällekkäiset suoritukset estämättä kuitenkaan uuden työn tekemistä. Arvioi erikseen päällekkäisyyksien estämistä ja tehtävän suorittamista loppuun. Muuten agentti, joka keskeyttää jokaisen tehtävän, voi vaikuttaa turvalliselta, vaikka se tuottaisi vain vähän tai ei lainkaan arvoa.

Arviointikysymys on muotoiltava selkeästi. Pystyikö järjestelmä selittämään:

  • Mihin toimeen oli saatu valtuutus?
  • Millaista näyttöä sen lopputuloksesta oli?
  • Miksi uusi yritys oli sallittu?

Agentti, joka keskeyttää toimintansa ratkaisemattoman epävarmuuden vuoksi, voi vaikuttaa esittelyissä tehottomammalta. Tuotantoympäristössä keskeyttäminen voi kuitenkin auttaa säilyttämään asiakkaan alkuperäisen tarkoituksen. Hyödyllinen sinnikkyys tarkoittaa, että järjestelmä suorittaa valtuutetut tehtävät tekemättä niitä huomaamatta useaan kertaan.

Himanshu Goel on tekoälyn ja koneoppimisen tutkija, joka on erikoistunut tiedonhaulla täydennettyyn generointiin aloilla, joilla päätöksillä on vakavia seurauksia. Näihin kuuluvat biolääketieteellisten, rahoitukseen liittyvien ja sääntelyasiakirjojen työnkulut.