
# Realiojo Laiko Duomenų Linijavimo Skydelis AI Sugeneruotų Saugumo Klausimyno Įrodymų

## Įvadas

Saugumo klausimynai tapo kritiniu sraigu B2B SaaS pardavimuose, due diligence procese ir reguliavimo audituose. Įmonės vis dažniau kreipiasi į generatyviąją AI, kad parengtų atsakymus, išgautų palaikančius įrodymus ir išlaikytų politikų sinchronizavimą su nuolat kintančiais standartais. Nors AI ženkliai sutrumpina atsakymo laiką, ji taip pat įveda „paslaptingumo“ problemą: **Kas sukūrė kiekvieną įrodymo fragmentą? Iš kurios politikos, dokumento ar sistemos jis kilęs?**  

Duomenų linijavimo skydelis išsprendžia šią problemą, vizualizuodamas kiekvieno AI‑sugeneruoto įrodymo kilmės grandinę realiu laiku. Jis suteikia atitikties specialistams vieną „puslapį“, kuriuo galima sekti atsakymą iki jo originalios nuostatos, pamatyti transformacijos žingsnius ir patikrinti, ar neįvyko politikos „nuokrypis“.

Šiame straipsnyje aptarsime:

* Kodėl duomenų linijavimas yra būtinas atitikties požiūriu.
* Kokia architektūra maitina realaus laiko linijavimo skydelį.
* Kaip kartu veikia žinių grafas, įvykių srautai ir Mermaid vizualizacijos.
* Žingsnis po žingsnio įgyvendinimo gidas.
* Geriausios praktikos ir ateities kryptys.

## Kodėl duomenų linijavimas svarbus AI sugeneruotiems atsakymams

| Rizika | Kaip Linijavimas Mažina |
|--------|------------------------|
| **Trūksta šaltinio attribucijos** | Kiekvienas įrodymo mazgas turi žymę su originalaus dokumento ID ir laiku. |
| **Politikos nuokrypis** | Automatinė nuokrypių aptikimo funkcija žymi bet kokį atotrūkį tarp šaltinio politikos ir AI rezultato. |
| **Audito nesėkmės** | Auditoriai gali reikalauti kilmės sekos; skydelis suteikia paruoštą eksporto failą. |
| **Netikslus duomenų nutekėjimas** | Jautrūs šaltiniai automatiškai pažymimi ir redaguojami linijavimo vaizde. |

Atskleidžiant visą transformacijos vamzdyną – nuo neapdorotų politikos dokumentų iki išankstinio apdorojimo, vektorinės įterpimo, paieškos‑papildytos generacijos (RAG) ir galutinio atsakymo sintezės – komandos įgauna pasitikėjimą, kad AI *papildo* valdymą, o ne apeina jį.

## Architektūros apžvalga

Sistema susideda iš keturių pagrindinių sluoksnių:

1. **Įsisavinimo sluoksnis** – stebi politikos saugyklas (Git, S3, Confluence) ir siunčia keitimo įvykius į Kafka‑tipo magistralę.
2. **Apdorojimo sluoksnis** – vykdo dokumentų analizatorių, išgauna nuostatas, kuria įterpimus ir atnaujina **Įrodymų Žinių Grafą (EKG)**.
3. **RAG sluoksnis** – kai gaunama klausimyno užklausa, paieškos‑papildyta generacija pasirenka atitinkamus grafų mazgus, suformuoja promptą ir sugeneruoja atsakymą kartu su įrodymų ID sąrašu.
4. **Vizualizacijos sluoksnis** – priima RAG išvesties srautą, sukuria realaus laiko linijavimo grafą ir atvaizduoja jį web sąsajoje per Mermaid.

```mermaid
graph TD
    A["Politikos Saugykla"] -->|Keitimo Įvykis| B["Įsisavinimo Servisas"]
    B -->|Išanalizuota Sąlyga| C["Įrodymų Žinių Grafas"]
    D["Klausimyno Užklausa"] -->|Užklausimas| E["RAG Variklis"]
    E -->|Atsakymas + Įrodymų ID| F["Linijavimo Servisas"]
    F -->|Mermaid JSON| G["Skydelio Vartotojo Sąsaja"]
    C -->|Pateikia Kontekstą| E
```

### Pagrindinės komponentės

| Komponentas | Vaidmuo |
|------------|----------|
| **Įsisavinimo Servisas** | Aptinka failų pridėjimus/atnaujinimus, išgauna metaduomenis, publikuoja `policy.updated` įvykius. |
| **Dokumento Analizatorius** | Normalizuoja PDF, Word, markdown; išgauna nuostatų identifikatorius (pvz., `SOC2-CC5.2`). |
| **Įterpimo Saugykla** | Saugo vektorinės reprezentacijos semantinei paieškai (FAISS arba Milvus). |
| **Įrodymų Žinių Grafas** | Neo4j grafas su mazgais `Document`, `Clause`, `Evidence`, `Answer`. Santykiai fiksuoja „derived‑from“. |
| **RAG Variklis** | Naudoja LLM (pvz., GPT‑4o) su grafų paieška; grąžina atsakymą ir kilmės ID. |
| **Linijavimo Servisas** | Klausosi `rag.response` įvykių, ieško įrodymų ID, kuria Mermaid diagramos JSON. |
| **Skydelio UI** | React + Mermaid; suteikia paiešką, filtrus ir eksportą į PDF/JSON. |

## Realiojo Laiko Įsisavinimo Vamzdynas

1. **Stebėti Saugyklas** – lengvas failų stebėjimo įrankis (arba Git webhook) aptinka „push“ įvykius.  
2. **Išgauti Metaduomenis** – užfiksuojamas failo tipas, versijos hash, autorius ir laikas.  
3. **Analizuoti Nuostatas** – reguliarūs išraiškų ir NLP modeliai identifikuoja nuostatų numerius bei pavadinimus.  
4. **Kurti Grafų Mazgus** – kiekvienai nuostatai kuriamas `Clause` mazgas su savybėmis `id`, `title`, `sourceDocId`, `version`.  
5. **Publikuoti Įvykį** – įvykiai `clause.created` siunčiami į srauto magistralę.

```mermaid
flowchart LR
    subgraph Watcher
        A[Failo Keitimas] --> B[Metaduomenų Išgavimas]
    end
    B --> C[Sąlygų Analizatorius]
    C --> D[Neo4j Kūrimo Mazgas]
    D --> E[Kafka clause.created]
```

## Žinių Grafo Integracija

**Įrodymų Žinių Grafas** saugo tris pagrindinius mazgų tipus:

* **Document** – neapdorotas politikos failas, versijuojamas.  
* **Clause** – atskira atitikties nuostata.  
* **Evidence** – išgauti įrodymo elementai (pvz., žurnalai, ekrano nuotraukos, sertifikatai).

Santykiai:

* `Document` **HAS_CLAUSE** `Clause`  
* `Clause` **GENERATES** `Evidence`  
* `Evidence` **USED_BY** `Answer`

Kai RAG sugeneruoja atsakymą, jis prideda visų susijusių `Evidence` mazgų ID, sukuriant deterministinį kelią, kurį galima vizualizuoti iš karto.

## Mermaid Linijavimo Diagrama

Žemiau pateiktas pavyzdinis linijavimo diagramos fragmentas atsakymui į SOC 2 klausimą *„Kaip šifruojate duomenis poilsio būsenoje?“*.

```mermaid
graph LR
    A["Atsakymas: Duomenys šifruojami naudojant AES‑256 GCM"] --> B["Įrodymas: Šifravimo Politika (SOC2‑CC5.2)"]
    B --> C["Sąlyga: Šifravimas Poilsio Būsenoje"]
    C --> D["Dokumentas: SecurityPolicy_v3.pdf"]
    B --> E["Įrodymas: KMS Raktų Rotacijos Žurnalas"]
    E --> F["Dokumentas: KMS_Audit_2025-12.json"]
    A --> G["Įrodymas: Debesų Tiekėjo Šifravimo Nustatymai"]
    G --> H["Dokumentas: CloudConfig_2026-01.yaml"]
```

Skydelis dinamiškai atvaizduoja šią diagramą, leidžiant vartotojams spustelėti bet kurį mazgą ir peržiūrėti susijusį dokumentą, versiją ir žaliąją informaciją.

## Privalumai Atitikties Komandoms

* **Iš karto Audituojamas Kelias** – Eksportuojamas visas linijavimas kaip JSON‑LD failas reguliacinėms institucijoms.  
* **Poveikio Analizė** – Keičiant politiką, sistema perkaičiuja visus priklausomus atsakymus ir parodo, kurie klausimynų elementai paveikti.  
* **Mažiau Rankų Darbo** – Nebereikia rankiniu būdu kopijuoti nuostatų nuorodų; grafas tai atlieka automatiškai.  
* **Rizikos Skaidrumas** – Duomenų srauto vizualizavimas padeda saugumo inžinieriams identifikuoti silpnus taškus (pvz., trūkstamus žurnalus).

## Įgyvendinimo Žingsniai

1. **Sukurkite Įsisavinimą**  
   * Deploy Git webhook arba CloudWatch įvykio taisyklę.  
   * Įdiekite `policy‑parser` mikroservisą (Docker atvaizdas `procurize/policy‑parser:latest`).  

2. **Paruoškite Neo4j**  
   * Naudokite Neo4j Aura arba savarankišką klasterį.  
   * Sukurkite apribojimus (`Clause.id`, `Document.id`).  

3. **Konfigūruokite Srauto Magistralę**  
   * Deploy Apache Kafka arba Redpanda.  
   * Apibrėžkite temas: `policy.updated`, `clause.created`, `rag.response`.  

4. **Diekite RAG Servisą**  
   * Pasirinkite LLM tiekėją (OpenAI, Anthropic).  
   * Implementuokite Retrieval API, kuris užklausia Neo4j per Cypher.  

5. **Sukurkite Linijavimo Servisą**  
   * Prenumeruokite `rag.response`.  
   * Kiekvienam įrodymo ID užklauskite Neo4j, gauti visą kelią, generuokite Mermaid JSON ir publikuokite `lineage.render`.  

6. **Sukurkite Skydelio UI**  
   * Naudokite React, `react‑mermaid2`, ir lengvą autentifikacijos sluoksnį (OAuth2).  
   * Pridėkite filtrus: datos intervalas, dokumento šaltinis, rizikos lygis.  

7. **Testavimas ir Patikrinimas**  
   * Sukurkite vienetinius testus kiekvienam mikroservisui.  
   * Vykdykite galutinio skaidymo simuliacijas su sintetiniais klausimyno duomenimis.  

8. **Paleidimas**  
   * Pradėkite pilotinę fazę su SOC 2 atitikties komanda.  
   * Rinkite atsiliepimus, tobulinkite UI/UX, ir išplėskite modulį [ISO 27001](https://www.iso.org/standard/27001) ir [GDPR](https://gdpr.eu/) skyriams.  

## Geriausios Praktikos

| Praktika | Pagrindimas |
|----------|--------------|
| **Neleiskite keisti dokumentų ID** | Užtikrina, kad linijavimas niekada nesukreiptų į pakeistą failą. |
| **Versijuokite Mazgus** | Leidžia atlikti istorinius užklausimus („Kokie įrodymai buvo naudojami prieš pusmetį?“). |
| **Grafiniai Prieigos Kontrolės Lygiai** | Jautrūs įrodymai gali būti paslėpti nepriviliems vartotojams. |
| **Automatiniai Nuokrypių Įspėjimai** | Aktivuoja perspėjimą, kai nuostata pasikeičia, tačiau egzistuojantys atsakymai neperkurti. |
| **Reguliarūs Atsarginiai Kopijavimai** | Naktinis Neo4j momentinis kopijavimas apsaugo nuo duomenų praradimo. |
| **Veiklos Stebėjimas** | Sekite laiką nuo klausimyno užklausos iki skydelio atvaizdavimo; siekite < 2 s. |

## Ateities Kryptys

1. **Federaciniai Žinių Grafai** – sujungiami kelių nuominių grafų duomenys, išlaikant duomenų izoliaciją naudojant Zero‑Knowledge įrodymus.  
2. **Paaiškinama AI Priedai** – prie kiekvieno krašto pridedamos pasitikėjimo procentai ir LLM priežasties įrašo fragmentai.  
3. **Proaktyvūs Politikos Pasiūlymai** – kai aptinkamas nuokrypis, sistema gali pasiūlyti nuostatos atnaujinimą, remiantis pramonės šablonais.  
4. **Balso Sąsaja** – integracija su balso asistentu, kuris garsiai perskaito linijavimo žingsnius, didinant prieinamumą.  

## Išvada

Realiojo laiko duomenų linijavimo skydelis paverčia AI‑sugeneruotus saugumo klausimyno įrodymus iš „juodosios dėžutės“ į skaidrų, audituojamą ir praktišką turtą. Sujungiant įvykių įsisavinimą, semantinį žinių grafiką ir dinamiškas Mermaid vizualizacijas, atitikties specialistai įgauna matomumą, reikalingą pasitikėti AI, praeiti auditus ir pagreitinti sandorio spartos didinimą. Įgyvendinus šiuos žingsnius, bet kuri SaaS organizacija gali įsitvirtinti atsakingo AI pagrindu paremtos atitikties lyderio pozicijoje.