
# Dirbtinio intelekto varomas realaus laiko atitikties sprendimų variklis su kontrafaktiniu mąstymu

Įmonės šiandien susiduria su nenutrūkstančiu reguliavimo atnaujinimų, politikos nuokrypių ir tarptautinių konfliktų srautu. Tradicinės taisyklėmis pagrįstos atitikties sistemos reaguoja lėtai, dažnai po to, kai pažeidimas jau įvyko. Norint pereiti nuo **reaktyvios** prie **proaktyvios** atitikties, organizacijoms reikia variklio, kuris galėtų **momentu „kas‑būt“ scenarijus**, paaiškinti savo išvadas ir prisitaikyti prie besikeičiančių politikų.

Šiame straipsnyje nagrinėjame **naują DI pagrįstą realaus laiko atitikties sprendimų variklį**, sukurtą ant trijų stulpų:

1. **Kontrafaktinis mąstymas** – klausiama „Kas nutiktų, jei pakeistume X?“  
2. **Priežastiniai grafų neuroniniai tinklai (CGNN)** – mokosi paslėptos priežasties‑poveikio struktūros reguliavimo ekosistemoje.  
3. **Įvykių valdomi duomenų srautai** – per kelias milisekundes priima politikos pakeitimus, audito žurnalus ir operacinę telemetriją.

Kartu šios dalys sukuria **Decision‑as‑Code** platformą, kuri teikia **momentinius, paaiškinamus atitikties sprendimus** bet kuriam gaunamam užklausimui – nesvarbu, ar tai SaaS saugumo klausimynas, sutarties punktas, ar produkto kelio planų pakeitimas.

---

## 1. Kodėl kontrafaktinis mąstymas svarbus atitikties srityje

Atitiktis iš esmės yra **rizikos mažinimas**. Reguliatorius gali drausti duomenų apdorojimo veiklą, tačiau realus klausimas verslui yra **„Jei pakeistume šį žingsnį, ar vis tiek pasieksime verslo tikslą, išlikdami atitikties ribose?“** Kontrafaktinis mąstymas suteikia atsakymą, simuliuodamas alternatyvias pasaulio versijas be jų faktinio įvykdymo.

### 1.1 Nuo dvejetainių patikrinimų iki probabilistinių „kas‑būt“

| Tradicinis taisyklių variklis | Kontrafaktinis variklis |
|------------------------------|--------------------------|
| Grąžina **praeiti/nepraeiti** pagal statines taisykles. | Grąžina **tikimybių paskirstymą** rezultatams kelių hipotetinių pakeitimų atveju. |
| Nėra įžvalgų, *kodėl* taisyklė nepavyko. | Generuoja **priežastinį paaiškinimą**, susiejantį pakeitimą su atitikties poveikiu. |
| Reikalauja rankinių taisyklių atnaujinimų kiekvienam naujam reglamentui. | Išmoksta **priežastinius ryšius** iš duomenų, sumažindama rankinį palaikymą. |

### 1.2 Realus pavyzdys

Fintech startuolis nori **saugoti vartotojų sandorių žurnalus naujoje debesų regiono**. Atitikties variklis įvertina:

- **Faktinis pasaulis**: Dabartinis regionas atitinka [GDPR](https://gdpr.eu/), bet naujasis – ne.  
- **Kontrafaktinis pasaulis**: „Kas būtų, jei šifruotume žurnalus naudojant Europos patvirtintą raktų valdymo paslaugą?“  
- **Rezultatas**: Variklis prognozuoja **92 % atitikties tikimybę** ir pateikia žingsnis po žingsnio mitigacijos planą.

Sprendimas pateikiamas **mažiau nei per 200 ms**, leidžiant produkto komandai tęsti darbą be rankinio audito laukimo.

---

## 2. Priežastiniai grafų neuroniniai tinklai: variklio smegenys

**Priežastinis grafų neuroninis tinklas (CGNN)** išplečia klasikinius GNN, įtraukiant **kryptinius priežasties‑poveikio briaunas**, išmoktas iš istorinių atitikties incidentų, politikos dokumentų ir audito takų. Skirtingai nuo tik koreliacijos modelių, CGNN gali atsakyti į **intervencijos užklausas** – būtent tai, ko reikalauja kontrafaktinis mąstymas.

### 2.1 Priežastinės žinių grafiko kūrimas

1. **Mazgų tipai** – Reglamentai, Kontrolės, Duomenų ištekliai, Verslo procesai, Rizikos indikatoriai.  
2. **Briaunų tipai** – *įgyvendina*, *priklauso nuo*, *švelnia*, *konfliktuoja su*.  
3. **Laiko sluoksnis** – fiksuoja politikos versijų ir nuokrypių laiką.

```mermaid
graph TD
    "Regulation A" -->|"enforces"| "Control X"
    "Control X" -->|"depends_on"| "Data Asset D"
    "Data Asset D" -->|"exposes"| "Risk Indicator R"
    "Regulation B" -->|"conflicts_with"| "Control X"
    "Policy Update" -->|"updates"| "Regulation A"
```

Grafikas **automatiškai užpildomas** naudojant:

- **Document AI** – išgauna entitetus iš PDF, tinklalapių ir teisinių tekstų.  
- **Įvykių srautus** (Kafka, Pulsar), kurie siunčia politikos pakeitimų pranešimus.  
- **Grįžtamojo ryšio ciklus**, kur auditoriai žymi klaidingus teigiamus/neigiamus rezultatus, tobulindami briaunų svorius.

### 2.2 CGNN mokymas

- **Prižiūrimas nuostolis** pagal žinomus atitikties rezultatus (praeiti/nepraeiti).  
- **Priežastinis reguliavimas**, bausdamas ciklus, prieštaraujančius žinomoms reguliavimo hierarchijoms.  
- **Laikinas kontrastinis mokymasis**, siekiantis atskirti tikrą nuokrypį nuo triukšmo.

Gautas modelis gali **propaguoti intervenciją** (pvz., „šifruoti duomenis“) per grafą ir apskaičiuoti tolimesnį poveikį atitikties rizikai.

---

## 3. Realiojo laiko architektūros apžvalga

Žemiau – aukšto lygio sistemos diagrama. Visos komponentės bendrauja per **įvykių valdomas API**, užtikrinant sub‑sekundinį vėlavimą.

```mermaid
flowchart LR
    subgraph Ingestion
        A[Policy Change Stream] -->|Kafka| B[Policy Processor]
        C[Operational Telemetry] -->|Kafka| B
        D[User Request (e.g., questionnaire)] -->|REST| E[Request Router]
    end
    B -->|Update| G[Knowledge Graph Store]
    E -->|Query| F[Decision Service]
    F -->|Calls| G
    F -->|Calls| H[Counterfactual Engine]
    H -->|Uses| I[CGNN Inference]
    I -->|Returns| H
    H -->|Provides| J[Explainable Verdict]
    J -->|REST| E
    E -->|Response| D
```

**Pagrindinės savybės**

- **Mastelio keitimas** – bevalės mikroservisai gali būti automatiškai plečiami už paslaugų tinklo.  
- **Stebimumas** – OpenTelemetry fiksuoja kiekvieną intervenciją audito tikslais.  
- **Saugumas** – visi duomenys poilsio būdu šifruojami; politikos atnaujinimai pasirašomi X.509 sertifikatais.

---

## 4. Sprendimo darbo eiga detaliai

1. **Užklausos priėmimas** – SaaS tiekėjas pateikia saugumo klausimyno atsakymą.  
2. **Maršrutizavimas** – Užklausų maršrutizatorius identifikuoja susijusias politikos sritis (pvz., [ISO 27001](https://www.iso.org/standard/27001) / GDPR).  
3. **Grafiko užklausa** – Sprendimo tarnyba išgauna subgrafą, kuriame yra paveikti kontrolės ir ištekliai.  
4. **Kontrafaktinis generavimas** – Kontrafaktinis variklis siūlo minimalų intervencijų rinkinį (pvz., pridėti šifravimą, pakeisti duomenų rezidenciją).  
5. **Priežastinis inferavimas** – CGNN įvertina kiekvieną intervenciją, grąžindama atitikties tikimybę ir priežastinį kelią.  
6. **Paaiškinamumas** – Variklis sukuria žmogui skaitomą naratyvą: „Šifruojant lauką X algoritmu Y sumažėja GDPR rizika 78 %, nes tai nutraukia *exposes* briauną į Rizikos indikatorių R.“  
7. **Atsakymas** – Tiekėjui pateikiamas momentinis sprendimas kartu su praktiškomis remediacijos gairėmis.

Visas ciklas paprastai baigiamas per **150‑250 ms**, kas atitinka interaktyvių atitikties portalų vėlavimo biudžetą.

---

## 5. Politikos nuokrypių valdymas su nuolatiniu mokymusi

Reguliavimo aplinka nuolat keičiasi; **politikų nuokrypių detektorius** stebi žinių grafą dėl struktūrinių pokyčių:

- **Briaunų svorio poslinkis** – jei kontrolės efektyvumas sumažėja, sistema tai pažymi.  
- **Naujų mazgų įterpimas** – atsiranda naujų reglamentų, automatiškai išgaunamos entitetų.  
- **Konfliktų aptikimas** – grafas skenuojamas dėl prieštaringų briaunų (pvz., du reglamentai, kurie negali būti įvykdyti kartu).

Aptikus nuokrypį, **CGNN permokymo pipeline** automatiškai paleidžiamas, įkeliant naujausius žymėtus incidentus. Šis **uždaras mokymosi ciklas** užtikrina, kad sprendimų variklis išliktų aktualus be rankinių taisyklių perrašymų.

---

## 6. Paaiškinamumas ir audituojami įrašai

Auditoriai reikalauja **skaidraus pagrindimo**. Variklis įrašo kiekvieną inferenciją į nekintamą žurnalą (pvz., blokų grandinės pagrindu veikiantį priedų žurnalą). Kiekvienas įrašas apima:

- **Laiko žymą**  
- **Įvesties užklausos maišą**  
- **Įvertintas intervencijų rinkinys**  
- **CGNN inferencijos balai**  
- **Sugeneruotas paaiškinimas**  

Auditoriai gali bet kuriuo metu atkurti sprendimą, patikrinti priežastinį kelią ir įsitikinti, kad modelis laikėsi naujausios politikos versijos.

---

## 7. Integracijos šablonai

| Integracijos tikslas | Metodas | Privalumai |
|----------------------|---------|------------|
| **CI/CD vamzdynai** | GitOps webhook → Decision Service | Apsaugo nuo neatsakingo kodo patekimų į gamybą. |
| **Saugumo klausimynai** | REST API įskiepis SaaS pasitikėjimo puslapiams | Teikia momentinius, DI sugeneruotus atsakymus su įrodymų nuorodomis. |
| **Produkto kelio planai** | Įvykio srautas iš JIRA → Counterfactual Engine | Prognozuoja atitikties poveikį funkcijų išleidimams. |
| **Tiekėjų rizikos platformos** | GraphQL federacija → Knowledge Graph Store | Vienodina kelių tiekėjų rizikos balus po vienu priežastiniu modeliu. |

---

## 8. Veikimo rodikliai

| Rodiklis | Vertė |
|----------|-------|
| **Vidutinis vėlavimas (iš pradžios iki pabaigos)** | 182 ms |
| **Perduodamų užklausų sparta** | 12 k / s |
| **Modelio dydis (CGNN)** | 45 M parametrų |
| **Mokymo laikas (pilnas nuokrypio ciklas)** | 3 valandos 8‑GPU mazge |
| **Paaiškinimo generavimo vėlavimas** | 35 ms (teksto generavimas) |

Mėriniai duomenys gauti naudojant Kubernetes klasterį (4 vCPU, 16 GB RAM vienam podui) su atskiru GPU inferencijai.

---

## 9. Ateities kryptys

1. **Multimodalinės įrodymų sujungimas** – tekstinių politikų ištraukas, kodo fragmentus ir UI ekrano nuotraukas sujungti į turtingesnes priežastines briaunas.  
2. **Federacinis mokymasis tarp įmonių** – dalintis anonimizuotais grafų atnaujinimais, gerinant globalų atitikties intelektą, išlaikant duomenų privatumą.  
3. **Generatyvūs kontrafaktiniai naratyvai** – naudoti LLM, kad būtų kuriami natūralios kalbos mitigacijos vadovai, pritaikyti organizacijos tonui.  
4. **Edge diegimas** – perkelti supaprastintą CGNN inferenciją į krašto įrenginius, kad būtų galima atlikti atitikties patikrinimus itin reguliuojamose aplinkose (pvz., medicinos įrenginiuose).

---

## 10. Pradžia

Jei norite išbandyti šį variklį, atlikite šiuos žingsnius:

1. **Klonuokite šablono saugyklą** – `git clone https://github.com/example/compliance‑counterfactual‑engine`  
2. **Paleiskite steką** – `docker compose up -d` (įskaitant Kafka, Neo4j, FastAPI paslaugas).  
3. **Įkelkite pavyzdines politikas** – vykdykite `python scripts/ingest_policies.py data/policies/`.  
4. **Siųskite bandomąją užklausą** – `curl -X POST http://localhost:8000/decide -d '{"scenario":"store logs in EU region","interventions":["encrypt"]}'`.  

Atsakymas turės atitikties tikimybę ir paaiškinamą naratyvą.

---

## Žiūrėti taip pat

- Explainable AI for Compliance – NIST projektas  
- Priežastiniai grafų neuroniniai tinklai: pagrindai ir taikymas (arXiv)  
- Realiojo laiko politikos nuokrypių aptikimas su laikiniais grafais (IEEE)  
- Kontrafaktinis mąstymas mašininiame mokyme – apžvalga (JMLR)