Mitä agenttipohjainen kirjanpito oikeasti vaatii
Suurin osa “tekoäly hoitaa kirjanpitosi” -demoista on teatteria. Oikea agenttipohjainen kirjanpito vaatii deterministiset peruspalikat, varmuuskynnykset, ihmisen peruuttamattomissa askelissa ja täyden jäljitettävyyden.
Joka ikinen fintech-demo tekee juuri nyt saman taikatempun. Lataat pinon kuitteja, agentti lukee ne, kirjaa viennit, täsmäyttää tiliotteen, ja ruudulle ilmestyy siisti tuloslaskelma. Sali nyökkäilee. Joku sanoo sanan "autonominen". Kukaan ei kysy, mitä tapahtuu, kun malli päättää, että 50 000 euron toimittajalasku onkin 5 000 euron lasku, kirjaa sen vakuuttuneena, ja ALV-ilmoitus lähtee kolme viikkoa myöhemmin pieleen.
Rakennan itse kirjanpito-ohjelmistoa. Vantnod on suunniteltu tekoäly edellä, ja silti pidän suurinta osaa "tekoäly hoitaa kirjanpitosi" -puheista pelkkänä demovärkkinä. En siksi, että mallit olisivat huonoja. Ne ovat aidosti hyviä siinä osassa kirjanpitoa, joka on lukemista ja arvailua. Ongelma on, että kirjanpito ei pääosin ole lukemista ja arvailua. Se on laskentaa, jonka pitää mennä täsmälleen oikein, sääntöjä, joita ei voi noudattaa suunnilleen, ja jälki, jota tilintarkastaja tai verottaja voi seurata taaksepäin vielä vuosien kuluttua. Kielimalli on väärä työkalu näihin kaikkiin kolmeen, ja toisin esittäminen on tapa tehdä jotain, mikä näyttää lavalla loistavalta mutta korruptoi hiljaa asiakkaan kirjanpidon tuotannossa.
Tässä siis se, minkä pitää oikeasti pitää paikkansa pinnan alla, jos haluat agentin, jolle voi uskoa oikeaa rahaa.
Malli lukee. Se ei laske.
Ensimmäinen ajatusmalli, josta pidän kiinni: kielimalli on tulkki deterministisen pääkirjan päällä, ei koskaan itse pääkirja. Se kääntää sotkuisen inhimillisen todellisuuden rakenteisiksi ehdotuksiksi. Totuus ei ole koskaan sen hallussa.
Ajattele sitä kahtena kerroksena, jotka eivät saa koskaan sekoittua toisiinsa:
- Deterministinen ydin. Tapahtumat, tilit, saldot, ALV-laskenta, kahdenkertaisen kirjanpidon säännöt. Tämä on tavallista koodia. Se on testattavissa. Samoilla syötteillä se tuottaa saman tuloksen joka kerta, ikuisesti. Debet on yhtä suuri kuin kredit siksi, että
assertsanoo niin, ei siksi, että malli tunsi olonsa varmaksi. - Tulkitseva kerros. Kielimalli. Se katsoo PDF-laskua ja ehdottaa: "tämä on 1 240 euron hosting-kulu Hetzneriltä, tili 7560, 24 % ALV, päivätty 3. kesäkuuta." Se on ehdotus, rakenteinen ja tyypitetty, ja se ojennetaan ytimelle validoitavaksi.
Ydin ei koskaan pyydä mallia laskemaan yhtään mitään yhteen. Sillä hetkellä kun ALV-summa tulee ulos kielimallista eikä laskusta summa * verokanta, olet rakentanut laskimen, joka hallusinoi, ja ansaitset sen mitä siitä seuraa. Mallit ovat luonteeltaan epädeterministisiä. Kysy kahdesti, saat kaksi vastausta. Se sopii hyvin kysymykseen "mistä tässä dokumentissa on kyse" mutta on täysin kelvoton kysymykseen "mikä on saldo".
Vantnodissa raja on kova. Malli täyttää kentät. Moottori tekee laskutoimitukset, pakottaa kahdenkertaisuuden, soveltaa jurisdiktion ALV-säännöt deterministisen adapterin läpi ja hylkää kaiken, mikä ei mene tasan. Jos malli ehdottaa vientiä, jossa debet ja kredit eivät täsmää, vienti ei saa uutta mahdollisuutta nokkelammalla promptilla. Koodi hylkää sen.
Varmuuskynnykset ja kunnollinen eskalaatiopolku
Ehdotus ei ole binäärinen "luota siihen tai älä". Jokainen poimittu kenttä kantaa mukanaan varmuussignaalia, ja se signaali ratkaisee, kuka koskee siihen seuraavaksi.
Käyttämäni malli on kolme kaistaa:
- Automaattikirjaus. Korkea varmuus, matalat panokset, ja vienti läpäisee jokaisen deterministisen tarkistuksen. Toistuva 12 euron SaaS-veloitus, joka täsmää viime kuun toimittajaan, tiliin ja ALV-käsittelyyn ja täsmäytyy siististi pankkiriviä vasten. Agentti kirjaa sen. Yksikään ihminen ei katso sitä. Tässä piilevät ne ajansäästöt.
- Jonoon tarkistettavaksi. Malli on epävarma, tai summa on olennainen, tai jokin ei istu tavanomaiseen kaavaan. Vienti on luonnosteltu, ei kirjattu, ja se laskeutuu ihmisen jonoon mallin perustelut mukanaan. "Veikkaan, että tämä on ohjelmistokulu, mutta toimittaja on uusi ja summa on 8-kertainen tavalliseen nähden." Ihminen klikkaa kyllä tai korjaa sen.
- Pysäytä ja eskaloi. Deterministiset tarkistukset kaatuvat suoraan, tai toimenpide on peruuttamaton, tai se koskee jotain juridisesti latautunutta. Mitään ei tapahdu automaattisesti. Piste.
Ansa, johon kaikki kompastuvat, on kohdella varmuutta yhtenä globaalina nuppina. Sitä se ei ole. Varmuutta pitää painottaa seurauksella. 90-prosenttisen varma arvaus 5 euron parkkilipusta ja 90-prosenttisen varma arvaus 50 000 euron konsernin sisäisestä siirrosta eivät ole sama riski, eikä niillä saa olla sama kynnys. Hyvä suunnittelu kertoo mallin varmuuden vahinkosäteellä. Halpa ja peruutettavissa oleva saa ylittää matalan riman. Kallis tai peruuttamaton vaatii lähes varmuuden ja ihmisen, riippumatta siitä kuinka varmaksi malli itsensä väittää.
Opin tämän muodon kauan ennen kuin kirjoitin siitä riviäkään koodia. IKEAlla minulla oli taloudellinen valtuutus eskaloituihin asiakasvalituksiin, mikä tarkoitti, että iso osa päivästäni oli juuri tätä harkintaa: tämä on rutiinia, hyväksy ja jatka eteenpäin; tämä on poikkeavaa, katso tarkemmin; tämä on yli sen mitä voin kuitata, lähetä ylöspäin. Malli tekee nyt vain ensimmäisen triagen. Eskalaatiotikkaat ovat samat tikkaat. Et poista ihmisen harkintaa. Varmistat, että se käytetään tapauksiin, jotka sen oikeasti ansaitsevat, sen sijaan että se kuluisi 200 identtiseen SaaS-kuittiin.
Ihminen kuuluu peruuttamattomiin askeliin
Tässä se raja, jolla on eniten väliä, ja se jonka demot rakastavat ylittää: autonomia on ok peruutettavassa, ei koskaan peruuttamattomassa.
Luonnosviennin kirjaaminen on peruutettavissa. Voit muokata sitä, poistaa sen, kirjata uudestaan, ja audit-jälki tallentaa sen kaiken. Anna agentin juosta vapaana siellä. Mutta jotkin kirjanpidon askeleet ovat ovia, jotka aukeavat vain yhteen suuntaan:
- ALV-ilmoituksen jättäminen verottajalle
- Maksun suorittaminen tai hyväksyminen
- Tilikauden sulkeminen
- Lakisääteisten raporttien toimittaminen
Nämä eivät ole "korkea varmuus, mene vaan" -tilanteita. Nämä ovat "valtuutettu ihminen painaa nappia" -tilanteita, joka ikinen kerta, riippumatta siitä kuinka siistiltä pohjadata näyttää. Ei siksi, etteikö agentti osaisi valmistella niitä. Se osaa, ja sen pitääkin: koota koko ALV-ilmoitus, merkitä ne kolme vientiä joista se oli epävarma, näyttää työnsä. Mutta kuittaus kuuluu ihmiselle. Virheen hinta ei ole kiinteä bugi. Se on viranomainen, sanktio ja asiakas, joka ei enää luota sinuun.
Hyödyllinen kysymys mihin tahansa agentin toimeen: jos tämä on väärin, voinko peruuttaa sen hiljaa ennen kuin se lähtee järjestelmästä? Jos voin, agentti voi omistaa sen. Jos en, ihminen omistaa viimeisen klikkauksen. Tuon yhden rajan vetäminen poistaa suurimman osan katastrofaalisista vikatiloista ja säilyttää lähes kaiken nopeudesta, koska peruuttamattomat askeleet ovat häviävän pieni osa päivittäistä työtä.
Jos et voi auditoida sitä, et ole rakentanut kirjanpitoa
Se osa, joka ohitetaan jokaisessa prototyypissä: agentti, joka kirjaa vientejä joita et voi rakentaa uudelleen, ei ole kirjanpito-ohjelmisto. Se on musta laatikko osoitettuna sinun talouteesi.
Jokaisen agentin toimen pitää jättää jälki, jonka voit toistaa kylmiltään kuukausien jälkeen, kun tilintarkastaja kysyy "miksi tämä on tässä?":
- Lähdedokumentti, jonka se luki, tallennettuna ja linkitettynä
- Ehdotus, jonka se teki, kenttäkohtaisine varmuuksineen
- Deterministiset tarkistukset, jotka menivät läpi tai kaatuivat
- Kuka tai mikä kuittasi sen: agentin automaattisesti kirjaama vai nimetyn ihmisen hyväksymä, ja milloin
- Mallin versio ja prompti päätöksen takana, koska "tekoäly teki sen" ei ole vastaus, jonka verottaja hyväksyy
Tämä ei ole neuvoteltavissa tavalla, joka menee hyvän insinöörityön yli. Useimmissa EU-maissa olet lain mukaan velvollinen pitämään kirjaa, jonka avulla joku voi jäljittää tilinpäätöksen luvun takaisin alkuperäiseen tapahtumaan. Agentti, joka ei osaa selittää itseään, ei vain kaadu koodikatselmoinnissa. Se kaatuu vaatimustenmukaisuudessa. Audit-loki ei siis ole ominaisuus, joka pultataan kiinni lopuksi. Se on selkäranka. Vantnodissa jokainen kirjattu vienti tuntee oman alkuperänsä, ja "malli oli varma" tallentuu täsmälleen siksi mitä se on: syöte ihmisen päätökseen, ei sen korvike.
Missä malli aidosti ansaitsee paikkansa
En halua, että tämä luetaan muodossa "tekoäly ei osaa kirjanpitoa". Se osaa paljon, ja hyöty on aitoa. Malli on erinomainen niissä osissa, jotka ovat ihmiselle aidosti vaikeita ja aidosti puuduttavia:
- Jäsentelemättömien dokumenttien lukeminen. Toimittajan, summan, päivämäärän ja ALV:n poimiminen valokuvatusta kuitista kielellä, jota kukaan tiimissä ei puhu.
- Hahmontunnistus historiaa vasten. "Kirjaat Hetznerin aina tilille 7560, joten ehdotan sitä." Tästä tulee suurin osa automaattikirjausten volyymistä.
- Tylsän tekstin luonnostelu. Kausiyhteenvedot, poikkeamaselitykset, lukujen ympärille kirjoitettu proosa.
- Poikkeamien bongaaminen. "Tämä toimittaja laskuttaa yleensä 1 200 ja tämä on 12 000. Katso."
Mihin sitä ei saa koskaan luottaa, on laskenta, säännön soveltaminen ja peruuttamaton kuittaus. Ne pysyvät deterministisinä, pysyvät validoituina, pysyvät ihmisen portin takana. Saat tuon jaon oikein, ja sinulla on jotain aidosti hyödyllistä: työkalu, joka syö tallennustyön ja antaa harkinnan takaisin ihmiselle, sen sijaan että se tekisi kaiken nopeasti ja osan väärin.
Rehellinen versio "tekoäly hoitaa kirjanpitosi" -lupauksesta on demolavalla vähemmän vaikuttava ja käytännössä paljon arvokkaampi. Agentti lukee, ehdottaa ja luonnostelee konenopeudella. Deterministinen ydin pitää sen rehellisenä. Ihminen omistaa ne ovet, jotka aukeavat vain yhteen suuntaan. Skaalaus pyörii järjestelmillä, ei hyvällä tahdolla, ja kirjanpitoagentti on juuri tuo periaate osoitettuna siihen yhteen paikkaan, jossa suunnilleen oikeassa oleminen on sama asia kuin väärässä oleminen.
Haluatko keskustella tästä aiheesta? Kirjoita suoraan.
jami@impactnode.fi