Ko mus išmokė du nepastebimi DI mokesčių asistento veiklos sutrikimai
Du kartus sutriko arba nustojo būti tikrinama mūsų mokesčių asistento naudojama žinių bazė. Abiem atvejais asistentas toliau veikė, o problemą aptiko žmogus.
2025 m. birželį mūsų mokesčių asistentą išbandantis klientas pranešė, kad jo atsakymai atrodo neteisingi. Asistentas nebuvo užstrigęs, nerodė jokio klaidos pranešimo ir toliau teikė atsakymus. Jo kodo nebuvome keitę devynias dienas, todėl problemos priežastis turėjo slypėti kitur.
Šį Lietuvos mokesčių klausimams skirtą asistentą kuria UAB „Taikomasis dirbtinis intelektas“, veikianti prekės ženklu „AAI Labs“. Asistentas atsako į apskaitos ir mokesčių specialistų klausimus. Prieš pateikdamas atsakymą jis žinių bazėje suranda susijusias mokesčių teisės aktų ir jų taikymo gairių ištraukas, o tuomet, remdamasis rasta informacija, suformuluoja atsakymą.
Įmonei, kurios darbuotojai tokius atsakymus perduoda klientams, sistemos gedimas yra lengvai pastebima problema, nes ją mato visi. Kur kas pavojingesnis yra neteisingas atsakymas, atrodantis kaip teisingas.
Silpnoji vieta buvo žinių bazė, o ne dirbtinis intelektas
Abi problemos kilo ne pačiame DI modelyje, o už jo ribų: žinių bazėje ir ją prižiūrinčiuose periodiniuose procesuose.
Pirmoji problema atsirado atliekant darbus, kuriais siekėme pagerinti atsakymų kokybę. Vienas komandos narys bandė naują būdą teisės aktų tekstams suskaidyti į paieškai tinkamas ištraukas, tačiau bandymas buvo vykdomas toje pačioje duomenų bazėje, kurią naudojo ir veikiantis asistentas. Kol žinių bazė buvo kuriama iš naujo, asistentas negalėjo jos pasiekti, tačiau ir toliau teikė atsakymus. Prieš dvi savaites buvome pakeitę jo instrukcijas: jei rastos ištraukos netinka pateiktam klausimui, asistentas turėtų atsakyti remdamasis savo bendrosiomis žiniomis. Todėl tikėtina, kad, užuot pripažinęs nieko neradęs, jis vis tiek pateikė atsakymus. Komandos vertinimu, žinių bazė neveikė kelias valandas, o klientas kaip tik tuo metu bandė asistentą. Žinių bazę atkūrėme tą pačią popietę.
Antroji problema, kilusi 2026 m. rugsėjį, buvo dar sunkiau pastebima. Antroji asistento versija, kuri vis dar yra prototipas, naudoja žinių bazę, kurią sąmoningai „užšaldėme“ gegužės 19 dieną. Vertinome atsakymų kokybę, todėl vertinimo metu atsiradusi nauja medžiaga būtų iškreipusi rezultatus. Naudotojai apie tai žinojo. Kas mėnesį vykdomi foniniai procesai turėjo ir toliau tikrinti oficialius šaltinius, įskaitant Valstybinę mokesčių inspekciją ir Lietuvos Respublikos Seimo teisės aktų duomenų bazę, kad galėtume matyti, kuo „užšaldyta“ žinių bazė galėtų skirtis nuo galiojančių teisės aktų.
Remiantis komandos turimais duomenimis, šie procesai neveikė nuo liepos mėnesio. Apie tai nepranešė nė vienas klientas. Problemą rugsėjo pradžioje pastebėjo komandos narys.
Keisčiausia buvo tai, kad procesai sėkmingai veikdavo kiekvieną kartą, kai kas nors juos paleisdavo rankiniu būdu. Duomenys apie nesėkmingus paleidimus buvo automatiškai ištrinami, tačiau išliko centriniai sistemos žurnalai. Jie atskleidė aiškų dėsningumą: visi sutrikimai įvykdavo maždaug 3 valandą nakties Lietuvos laiku, pirmąją arba antrąją mėnesio dieną.
Tuo metu vienu metu susidėdavo trys atskiros problemos:
-
Dauguma mėnesinių procesų buvo suplanuoti pradėti veikti tą pačią minutę, tačiau sistemos pajėgumų pakako maždaug vienam procesui vienu metu. Todėl Valstybinės mokesčių inspekcijos ir teisės aktų duomenų bazės patikros negalėdavo prasidėti.
-
Valstybinė interneto svetainė, iš kurios apskaitos standartus tikrinantys procesai nuskaito informaciją, tikrina, ar lankytojai nėra robotai. Rugsėjo 1 d. visi bandymai per pirmąjį pusvalandį baigėsi nepasiekus atsakymo, nes procesai įstrigdavo šiame patikros lange. Vėliau tą pačią dieną paleisti rankiniu būdu jie jį įveikė per kelias sekundes.
-
Duomenų bazė per keturias dienas buvo paleista iš naujo 17 kartų, todėl duomenis į ją įrašantis procesas negalėjo prisijungti.
Ką pakeitėme
1. Eksperimentai nebevykdomi veikiančioje žinių bazėje. Po 2025 m. birželio naujų metodų bandymus perkėlėme iš veikiančios duomenų bazės į atskirą aplinką. Geresnis tekstų skaidymo metodas vis tiek buvo įdiegtas po dviejų savaičių, įprasto atnaujinimo metu, kai bandymai parodė, kad jis pranašesnis už ankstesnį metodą.
2. Mėnesiniai procesai dabar vykdomi paeiliui. Jie paleidžiami po vieną, ne mažesniais kaip pusvalandžio intervalais, maždaug nuo 5 iki 9 valandos ryto Lietuvos laiku.
3. Lėtai veikiančioms svetainėms skiriama daugiau laiko. Informaciją iš apsaugą nuo robotų naudojančios svetainės skaitantys procesai dabar bando prisijungti tris kartus ir kiekvieną kartą laukia iki dviejų minučių. Anksčiau jie pasiduodavo po vienos minutės.
4. Išsaugomi duomenys apie nesėkmingus paleidimus. Dabar po kiekvieno nesėkmingo bandymo išsaugomi jo žurnalai, todėl kitas tyrimas galės prasidėti nuo konkrečių įrodymų.
5. Sistemą išbandėme tuo metu, kai ji anksčiau sutrikdavo, o tada sulaukėme ir tikrojo paleidimo. Rugsėjo 10 d. 3 valandą nakties Lietuvos laiku atlikti bandymai buvo sėkmingi. Spalio 1 d. sėkmingai įvyko ir pirmasis tikras paleidimas pagal naująjį tvarkaraštį.
Ką supratome
Žinių bazė yra veikiančio produkto dalis. Jos pakeitimas yra naujos versijos išleidimas, net jei tuo metu neatnaujinamas joks programinis kodas.
Rankiniu būdu atliktas bandymas įrodo mažiau, nei gali pasirodyti. Atskirai paleistas procesas niekada nesusiduria su kitais procesais, su kuriais įprastai dalijasi tuo pačiu tvarkaraščiu.
Naudotojui patogūs numatytieji sprendimai turi savo kainą. Leidimas asistentui atsakyti remiantis bendrosiomis žiniomis, kai jo žinių bazėje nėra naudingos informacijos, padaro jį paslaugesnį, tačiau kartu reiškia, kad dingusi žinių bazė neatrodo kaip klaida. Antrojoje asistento versijoje numatyta kitokia reakcija: kai žinių bazėje nėra atsakymui reikalingos informacijos, asistentas rekomenduoja kreiptis į specialistą.
Ko vis dar nežinome
Nežinome, kodėl sutriko duomenų bazė. Rugsėjo 3 ir 4 dienomis atnaujinus konfigūraciją ir perkėlus ją į kitą serverį, paleidimai iš naujo liovėsi. Iki rugsėjo vidurio jie nebepasikartojo. Taip pat neturime 2025 m. birželį pateiktų neteisingų atsakymų, todėl negalime pasakyti, kiek jie buvo nutolę nuo teisingos informacijos. Be to, pagal naująjį tvarkaraštį kol kas sėkmingai įvyko tik vienas paleidimas. Tai yra pradžia, bet dar ne patikimumą įrodanti veiklos istorija.
Rugsėjį sustojusios patikros nepakeitė nė vieno naudotojams pateikto atsakymo, nes žinių bazė ir taip buvo „užšaldyta“. Tačiau maždaug dviem mėnesiams praradome galimybę patys matyti, kiek jos turinys galėjo nutolti nuo galiojančių teisės aktų.
Prieš pradedant juo pasikliauti
Jeigu jūsų įmonė naudojasi DI asistentu arba svarsto jį pasirinkti, natūralu tikrinti jo atsakymų kokybę. Tačiau taip pat paklauskite tiekėjo, kaip sužinotumėte, jei jų kokybė suprastėtų:
-
Kur galime matyti, kada paskutinį kartą buvo atnaujinta asistento žinių bazė?
-
Jeigu atnaujinimai sustoja, kas apie tai informuojamas ir kaip greitai?
-
Kaip asistentas elgiasi, kai jo žinių bazėje nėra tinkamo atsakymo?
-
Ar pakeitimus bandote toje pačioje sistemoje, kuria naudojasi mūsų darbuotojai?