Useimmat tekoälyavustajat odottavat toimettomina kysymystäsi. Kirjoitat kysymyksen, ne vastaavat ja sitten odottavat. Kaupan vaatimustenmukaisuudessa mallilla on perusongelma: riskit eivät odota, että joku kysyy niistä.
Atlas Verifiedissä rakensimme itsenäisten pilviagenttien järjestelmän, joka seuraa toimitusketjuja jatkuvasti, tarkistaa viranomaistietokantoja ja tuo esiin vaatimustenmukaisuusriskejä ajastetusti — ilman kenenkään kirjoittamaa kehotetta. Ne toimivat taustalla jokaisessa alustamme organisaatiossa ja toimittavat jäsennellyn tiedon suoraan koontinäyttöön.
Kirjoitus käsittelee aina päällä olevien tekoälyagenttien tekniikkaa: eroa keskustelevaan tekoälyyn, jäsennellyn tuloksen merkitystä ja itsenäisten agenttien suuren mittakaavan koordinointihaasteita.
Reaktiivisesta ennakoivaan
Keskusteleva tekoäly on luonnostaan reaktiivista. Käyttäjä kysyy, malli päättelee, kutsuu työkaluja ja palauttaa vastauksen. Tämä toimii hyvin tilapäisessä tutkimuksessa ja asiakirja-analyysissä. Vaatimustenmukaisuusseuranta vaatii kuitenkin ennakoivaa tietoa.
Ajattele tilannetta: USDA keskeyttää toimittajan luomusertifioinnin yön aikana. Toimittajan toimitus on jo matkalla. Uusi OFAC-määritys lisää huolitsijan pakotelistalle. FDA antaa tuontivaroituksen aktiivisesti tuomastasi raaka-aineesta.
Mikään näistä ei odota asiantuntijan kirjautumista ja oikeaa kysymystä. Kun joku ajattelee tarkistamista, ennakoivan toiminnan aikaikkuna voi olla sulkeutunut. Tavarat ovat satamassa. Asiakirjat jätetty. Altistus todellinen.
Pilviagentit ratkaisevat tämän kääntämällä suhteen. Käyttäjän ohjaaman tekoälyn sijaan tekoäly ohjaa itseään aikataululla, tarkistaa kaiken olennaisen ja lähettää havainnot käyttäjälle.
Agentti kullekin alueelle -arkkitehtuuri
Ensimmäisissä pilviagenttiprototyypeissä kokeilimme yhtä agenttia kaikkeen: sääntelymuutokset, toimittajatilat, toimitusseuranta ja asiakirjakäsittely. Se tuotti hajanaista, rönsyilevää tekstiä. Agentti seurasi yhtä kiinnostavaa juonnetta ja sivuutti kokonaisia tietoluokkia.
Ratkaisu oli jakaa ongelmakenttä kohdennettuihin aloihin, joita kutsumme alueiksi:
Tieto. Sääntelyilmoitukset, markkinatrendit ja läpileikkaavat riskit. Tämä agentti seuraa viranomaistietokannoista organisaatioon vaikuttavia muutoksia — uudet FDA-tuontivaroitukset, OFAC-listapäivitykset, tullimuutokset ja luomusertifiointitilan muutokset.
Toimittajat. Toimittajaverkoston tila. Agentti tarkastelee toimittajien varmennustilaa, vaatimustenmukaisuusaukkoja, sertifiointien päättymistä ja verkoston keskittymisriskejä. Jos 80% luomuhankinnastasi tulee yhden sertifioijan kautta, agentti merkitsee sen.
Toimitukset. Aktiivisten toimitusten seuranta. Agentti seuraa alusten sijainteja, reittipoikkeamia ja viivästyksiä sekä validoi toimitusdokumentaation täydellisyyden. Se tuo esiin esimerkiksi odotettua pidempään satamassa olevat kontit tai ilmoitetuilta reiteiltä poikkeavat alukset.
Työtila. Toiminnallinen tila. Agentti tarkastelee asiakirjakäsittelyn tilaa, odottavia varmennuksia, tiimitoimintaa ja alustan käyttömalleja. Se tuo esiin esimerkiksi käsittelyssä epäonnistuneet, huomiota vaativat asiakirjat tai liian kauan odottaneet varmennukset.
Jokainen agentti käyttää kohdennettua järjestelmäkehotetta ja omaan alaansa sopivaa rajattua työkalujoukkoa. Tämä tuottaa huomattavasti paremmat tulokset kuin yksi kaikkitietävä agentti samasta syystä kuin asiantuntijatiimi päihittää yhden yleisosaajan: syvä keskittyminen.
Työkalukerroksen jakaminen keskusteluagentin kanssa
Yksi tärkeimmistä arkkitehtuuripäätöksistä oli pilviagenttien käyttämä täsmälleen sama työkalukerros kuin keskustelevalla agentillamme. Molempia tukevat samat OFAC-seulonta-, USDA-haku-, alusseuranta-, kauppatietokysely- ja asiakirja-analyysityökalut.
Tällä on merkittäviä teknisiä etuja:
Ei työkalujen päällekkäisyyttä. Kun lisäämme uuden tietolähteen tai parannamme sovitinta, keskustelu- ja pilviagentit hyötyvät heti. Yksi toteutus, yksi testijoukko ja yksi ylläpidettävä kokonaisuus.
Johdonmukaiset tulokset. Pilviagentin ja käyttäjän keskustelussa suorittama pakotetarkistus kutsuvat samaa funktiota samalla logiikalla. Tulokset ovat suoraan vertailtavissa ja ristiintarkistettavissa.
Haaste on, etteivät vuorovaikutukseen suunnitellut työkalut aina toimi samalla tavalla eräkontekstissa. Keskusteluagentti voi pyytää käyttäjältä täsmennystä epäselvään kyselyyn. Pilviagentti ei voi. Ratkaisemme tämän antamalla pilviagenteille täsmällisemmät kehotteet ja korkeammat rekursiorajat — niillä on enemmän aikaa korjata itseään, koska kukaan ei odota vastausta reaaliajassa.
Jäsennelty tulos: vapaasta tekstistä koontinäyttökorteiksi
Tässä pilviagentit eroavat voimakkaimmin keskusteluagenteista. Keskusteluagentti tuottaa sanallista tekstiä, joskus upotetuilla jäsennellyillä korteilla. Pilviagentin on tuotettava yksinomaan jäsennelty tulos, joka näkyy suoraan koontinäytössä.
Jokainen agenttiajo tuottaa tietokorttien taulukon. Jokaisella kortilla on määritetty tyyppi ja tietomalli:
Laskurit näyttävät keskeiset mittarit trendi-indikaattoreilla — aktiiviset toimitukset yhteensä, toimittajat joiden sertifiointi päättyy ja odottavat varmennukset.
Riskimerkinnät korostavat huomiota vaativia vaatimustenmukaisuusongelmia — toimittajan keskeytetty sertifiointi, pakoteosuma tai FDA-tuontivaroitus.
Ilmoitukset välittävät aikakriittistä tietoa — sääntelymuutokset, uudet OFAC-määritykset ja aktiivisiin toimituksiin vaikuttavat tullipäivitykset.
Kaaviot ja taulukot esittävät analyyttiset tiedot — toimitusmäärätrendit, kauppareittijakauma ja varmennusten valmistumisasteet.
Kartat näyttävät maantieteelliset tiedot — alusten sijainnit, satamatoiminta ja toimittajien jakauma.
Tekninen haaste on rajoittaa LLM tuottamaan johdonmukaisesti kelvollista jäsenneltyä tulosta. Kielimallit haluavat kertoa, selittää ja täsmentää. Selkeän JSON-korttitaulukon tuottaminen oikeilla tyypeillä, kentillä ja tiedoilla edellyttää huolellista kehotteiden suunnittelua ja tulosvalidointia.
Kun agentin tulos ei vastaa odotettua korttimallia, jäsennämme sen minkä voimme ja hylkäämme virheelliset kortit koko ajon epäonnistumisen sijaan. Osittainen tieto on parempi kuin ei tietoa.
Omat agentit: käyttäjän määrittämät itsenäiset seurannat
Neljän järjestelmäagentin lisäksi käyttäjät voivat luoda omat pilviagenttinsa. Omalla agentilla on nimi, käyttäjän kirjoittama järjestelmäkehote ja aikataulu. Se käyttää samaa työkalukerrosta ja tuottaa samat korttityypit, mutta painotus on täysin käyttäjän määrittämä.
Käyttäjä voi luoda tietyn kauppareitin häiriöitä seuraavan agentin. Tai tietyn toimittajaryhmän päivittäin pakotelistoista tarkistavan agentin. Tai tietyn raaka-aineen hintaliikkeitä kauppatietolähteistä seuraavan agentin. Mahdollisuuksia rajoittaa vain työkalukerroksen pääsy.
Turvallinen ja hyödyllinen toteutus vaati useita teknisiä päätöksiä:
Organisaatiorajaus. Jokainen oma agentti kuuluu organisaatioon ja pääsee vain sen tietoihin. Agentti ei voi ylittää organisaatiorajoja, vaikka käyttäjän kehote yrittäisi sitä.
Työkalukykyjen suodatus. Omat agentit voivat käyttää samoja varmennus- ja tutkimustyökaluja kuin järjestelmäagentit, mutta ne perivät organisaation käyttöoikeusrajat. Oma agentti ei voi käyttää työkaluja tai tietoja, joihin käyttäjä ei itse pääsisi keskustelukäyttöliittymästä.
Aikataulujen hallinta. Omat agentit toimivat käyttäjän aikatauluilla alustan rajoissa. Tämä estää yhtä organisaatiota kuluttamasta suhteettomasti laskentaresursseja ajastamalla kymmeniä agentteja joka tunnille.
Suuren mittakaavan koordinointi
Itsenäisten agenttien suorittaminen päivittäisellä aikataululla monille organisaatioille tuo koordinointihaasteita, joita keskustelupohjaisessa järjestelmässä ei ole.
Kaksoiskappaleiden poistaminen. Jos ajastin käynnistyy ja organisaation A agentti on jo ajettu kaksoisajojen estoikkunan aikana, ajo ohitetaan. Tämä estää uusintayritysten, päällekkäisten aikataulujen tai ajastimen häiriöiden aiheuttamat kaksoisajot. Jokainen agentti-organisaatiopari on oma ajastusyksikkönsä.
Vikojen eristäminen. Jos yhden organisaation agentti epäonnistuu — työkalun virheen, LLM:n jäsentymättömän tuloksen tai riippuvuuspalvelun käyttökatkon vuoksi — se ei saa vaikuttaa muiden organisaatioiden ajoihin. Jokainen ajo on itsenäinen työ. Virheet kirjataan, ajo merkitään epäonnistuneeksi ja ajastin jatkaa.
Korttien elinkaari. Tietokorteilla on elinaika. Vanhat kortit vanhenevat ja korvataan agentin seuraavassa ajossa. Tämä pitää koontinäytön tiedot ajantasaisina vanhentuneiden havaintojen kasaamisen sijaan. Kun agentti tuottaa uudet kortit, alueen edelliset kortit korvataan atomisesti.
Resurssien budjetointi. Agenttiajot kuluttavat LLM-tokeneita, ulkoisia API-kutsuja ja tietokantayhteyksiä. Seuraamme tokenien käyttöä ajoittain ja organisaatioittain kustannusten hallitsemiseksi ja suhteettomasti resursseja kuluttavien agenttien tunnistamiseksi. Hallitsemattomasti 50 työkalukutsua tekevä agentti, jolle 10 riittäisi, merkitään.
Pilviagenttien ja keskustelun yhdistäminen
Pilviagentit ja keskusteluagentti eivät ole erillisiä järjestelmiä. Ne muodostavat palautesilmukan.
Keskusteluagentti voi hakea pilviagenttien tuloksia. Kun käyttäjä kysyy ”mitä agenttini löysivät?” tai ”onko vaatimustenmukaisuusriskejä, joista minun pitäisi tietää?”, keskusteluagentti hakee uusimmat tietokortit ja esittää ne keskustelumuodossa. Se voi selittää riskimerkinnän, antaa lisäkontekstia tai auttaa toimimaan havainnon perusteella.
Tämä luo luontevan työnkulun: pilviagentit tuovat ongelmat esiin yön aikana, käyttäjä tarkastelee koontinäyttöä aamulla ja avaa keskustelun halutessaan syventyä havaintoon. Keskusteluagentti tietää jo pilviagenttien löydökset ja voi jatkaa siitä.
Myös vastakkainen suunta toimii: käyttäjien keskusteluista nousevat mallit ohjaavat pilviagenttien kehotteiden hienosäätöä. Jos käyttäjät kysyvät usein riskityypistä, jota pilviagentit eivät tuo esiin, se on signaali painotuksen muuttamiseen.
Mitä olemme oppineet
Itsenäisten tekoälyagenttien rakentaminen on opettanut asioita, jotka eivät ole ilmeisiä keskusteluagentteja rakennettaessa:
Jäsennelty tulos on vapaata tekstiä vaikeampi. LLM:n johdonmukainen kelvollisen, tietomallin mukaisen JSON:in tuottaminen on merkittävästi eri haaste kuin hyvän kappaleen kirjoittaminen. Mallit haluavat selittää, ja analyyttinen energia on ohjattava jäsenneltyihin kenttiin.
Rajaus on kaikki kaikessa. Kohdennettu agentti selkeällä alalla tuottaa parempaa tietoa kuin laaja agentti, jolla on pääsy kaikkeen. Agentti kullekin alueelle -arkkitehtuuri oli suurin yksittäinen laatuparannuksemme.
Osittaiset tulokset päihittävät epäonnistuneet ajot. Eräjärjestelmässä käyttäjältä ei voi kysyä toimintaa virheen sattuessa. Hallittu toiminnan supistaminen — mahdollisten korttien tuottaminen ja aukkojen ilmoittaminen — on välttämätöntä.
Käyttäjät haluavat hallinnan. Omat agentit osoittautuivat yhdeksi kysytyimmistä ominaisuuksista. Vaatimustenmukaisuusammattilaiset tuntevat omat riskinsä paremmin kuin mikään yleinen järjestelmä. Mahdollisuus ohjelmoida itsenäinen seuranta luonnollisella kielellä toi huomattavaa arvoa.
Palautesilmukalla on merkitystä. Pilvi- ja keskusteluagentit ovat yhdessä arvokkaampia kuin kumpikaan yksin. Ennakoiva tieto määrää asialistan; keskusteleva tekoäly tarjoaa syvyyden. Tämän kaksisuuntaisen virran suunnittelu alusta asti paransi molempia järjestelmiä.
Katse eteenpäin
Pilviagentit muuttavat perustavasti ajatustamme tekoälystä vaatimustenmukaisuudessa. Kysymys ei ole ”mihin tekoäly vastaa kysyttäessä?” vaan ”mitä tekoälyn pitäisi tarkistaa ilman pyyntöä?”
Kun laajennamme työkalukerrosta uusilla tietolähteillä ja sääntelyympäristö monimutkaistuu, itsenäisen seurannan arvo kasvaa. Asiantuntijan päivän ei pitäisi alkaa kuuden viranomaistietokannan ja kolmen seurantapalvelun käsitarkistuksella. Sen pitäisi alkaa koontinäytöllä, joka kertoo täsmälleen yön aikana muuttuneet asiat ja huomiota vaativat kohteet.
Tämän pilviagentit tarjoavat. Sen luotettavaksi, skaalautuvaksi ja hyödylliseksi tekeminen on yksi palkitsevimmista teknisistä ongelmista, joiden parissa työskentelemme.
Atlas Verifiedin pilviagentit seuraavat toimitusketjuja itsenäisesti, tarkistavat viranomaistietokantoja ja tuovat esiin vaatimustenmukaisuusriskejä — jotta asiantuntijat voivat keskittyä päätöksiin, eivät tiedonkeruuseen.
