
# Nuolatinis įklausų grįžtamojo ryšio ciklas besivystantiems atitikties žinių grafams

Greitai besikeičiančiame saugumo klausimynų, atitikties auditų ir reguliavimo atnaujinimų pasaulyje, išlikti „in the loop“ – tai visos darbo dienos darbas. Tradicinės žinių bazės tampa pasenusi iš karto, kai į radarą patenka naujas reglamentas, tiekėjo reikalavimas ar vidaus politika. **Procurize AI** jau šviečia automatizuodama klausimynų atsakymus, tačiau kitas žingsnis – **savęs atnaujinantis atitikties žinių grafas**, kuris mokosi iš kiekvieno sąveikos, nuolat tobulina savo struktūrą ir pateikia svarbiausią įrodymą be jokios rankinės įtakos.

Šiame straipsnyje pristatome **Nuolatinį įklausų grįžtamojo ryšio ciklą (CPFL)** – ištisinį procesą, kuris sujungia Retrieval‑Augmented Generation (RAG), adaptacinį promptingą ir Graph Neural Network (GNN) pagrįstą grafų evoliuciją. Peržvelgsime pagrindines koncepcijas, architektūrinius komponentus ir praktinius įgyvendinimo žingsnius, leidžiančius jūsų organizacijai pereiti nuo statinių atsakymų saugyklų prie gyvo, auditui paruošto žinių grafų.

---

## Kodėl svarbus savęs evoliucijos grafas

1. **Reguliavimo greitis** – Naujų duomenų apsaugos taisyklių, pramonės kontrolės priemonių ar debesijos saugumo standartų atsiradimas vyksta kelis kartus per metus. Statinė saugykla verčia komandas rankiniu būdu gaudyti atnaujinimus.  
2. **Auditų tikslumas** – Auditoriai reikalauja įrodymų kilmės, versijų istorijos ir susiejimo su politikos punktu. Grafas, sekantis ryšius tarp klausimų, kontrolės priemonių ir įrodymų, tenkina šiuos poreikius „iš dėžutės“.  
3. **AI pasitikėjimas** – Dideli kalbos modeliai (LLM) generuoja įtikinamą tekstą, tačiau be pagrindo jų atsakymai gali išdyti. Kotinuojant generavimą prie grafų, kurie evoliucionuoja su realaus pasaulio grįžtamuoju ryšiu, žymiai sumažėja iliuzijos rizika.  
4. **Mastelio bendradarbiavimas** – Išskirstytos komandos, keli verslo padaliniai ir išoriniai partneriai gali visi prisidėti prie grafų, nesukurdami dubliuojančių kopijų ar konfliktų.

---

## Pagrindinės koncepcijos

### Retrieval‑Augmented Generation (RAG)

RAG sujungia tankų vektorių saugyklą (dažniausiai kuriamą iš embeddingų) su generaciniu LLM. Kai gaunamas klausimynas, sistema pirmiausia **atlieka paiešką** (retrieval) ir išgirsta svarbiausius grafų fragmentus, po to **generuoja** išbaigtą atsakymą, kuris nuoroduoja į šiuos fragmentus.

### Adaptacinis promptingas

Įklausų šablonai nėra statiški; jie evoliucionuoja remiantis sėkmės metrikomis, tokiomis kaip **atsakymo priėmimo rodiklis**, **redagavimo atstumas peržiūrint** ir **auditų išvados**. CPFL nuolat optimizuoja įklausas naudojant stiprinimo mokymą (RL) arba Bayeso optimizaciją.

### Grafų neuroniniai tinklai (GNN)

GNN mokosi mazgo embeddingų, kurie apima tiek **semantinį panašumą**, tiek **struktūrinį kontekstą** (t. y., kaip kontrolė susijusi su politikomis, įrodymų artefaktais ir tiekėjų atsakymais). Nauji duomenys atnaujina GNN, leidžiant paieškos sluoksniui rasti tiksliau susijusius mazgus.

### Grįžtamojo ryšio ciklas

Ciklas užsidaro, kai auditoriai, peržiūrintys arba automatiniai reguliavimo pasikeitimų detektoriai **teikia grįžtamąjį ryšį** (pvz., „šis atsakymas praleido punktą X“). Šis grįžtamasis ryšys paverčiamas **grafų atnaujinimais** (nauji ryšiai, peržiūrėti mazgo atributai) ir **įklausų patobulinimais**, tiekiant kitą generavimo ciklą.

---

## Architektūrinis brėžinys

Žemiau pateiktas aukšto lygio Mermaid diagramos pavyzdys, iliustruojantis CPFL procesą. Visi mazgų pavadinimai yra įdėti į dvigubas kabutes, kaip nurodyta specifikacijoje.

```mermaid
flowchart TD
    subgraph Input
        Q["Incoming Security Questionnaire"]
        R["Regulatory Change Feed"]
    end

    subgraph Retrieval
        V["Vector Store (Embeddings)"]
        G["Compliance Knowledge Graph"]
        RAG["RAG Engine"]
    end

    subgraph Generation
        P["Adaptive Prompt Engine"]
        LLM["LLM (GPT‑4‑Turbo)"]
        A["Draft Answer"]
    end

    subgraph Feedback
        Rev["Human Reviewer / Auditor"]
        FD["Feedback Processor"]
        GNN["GNN Updater"]
        KG["Graph Updater"]
    end

    Q --> RAG
    R --> G
    G --> V
    V --> RAG
    RAG --> P
    P --> LLM
    LLM --> A
    A --> Rev
    Rev --> FD
    FD --> GNN
    GNN --> KG
    KG --> G
    KG --> V
```

### Komponentų apžvalga

| Komponentas | Paskirtis | Pagrindinės technologijos |
|------------|-----------|----------------------------|
| **Regulatory Change Feed** | Srautas, teikiantis atnaujinimus iš standartų kūrėjų (ISO, NIST, GDPR ir kt.) | RSS/JSON API, Webhooks |
| **Compliance Knowledge Graph** | Saugo entitetus: kontrolės, politikos, įrodymų artefaktus, tiekėjų atsakymus | Neo4j, JanusGraph, RDF triple stores |
| **Vector Store** | Greita semantinė panašumo paieška | Pinecone, Milvus, FAISS |
| **RAG Engine** | Atlieka top‑k susijusių mazgų paiešką, surenka kontekstą | LangChain, LlamaIndex |
| **Adaptive Prompt Engine** | Dinamiškai konstruoja įklausas pagal metaduomenis, ankstesnės sėkmės istoriją | Prompt‑tuning bibliotekos, RLHF |
| **LLM** | Generuoja natūralaus kalbos atsakymus | OpenAI GPT‑4‑Turbo, Anthropic Claude |
| **Human Reviewer / Auditor** | Patikrina juodraštį, prideda komentarus | Nuosava UI, Slack integracija |
| **Feedback Processor** | Transformuoja komentarus į struktūruotus signalus (trūkstamas punktas, pasenęs įrodymas) | NLP klasifikavimas, entitetų išgavimo metodai |
| **GNN Updater** | Pertreniruojamas mazgų embeddingai, fiksuoja naujus ryšius | PyG (PyTorch Geometric), DGL |
| **Graph Updater** | Prideda/atnaujina mazgus/ryšius, registruoja versijų istoriją | Neo4j Cypher skriptai, GraphQL mutacijos |

---

## Žingsnis po žingsnio įgyvendinimas

### 1. Pradinis žinių grafų sukūrimas

- **Importuoti esamus artefaktus** – įkelti [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2), [ISO 27001](https://www.iso.org/standard/27001) ir [GDPR](https://gdpr.eu/) politikas, ankstesnius apklausų atsakymus ir susijusius įrodymų PDF dokumentus.  
- **Normalizuoti entitetų tipus** – apibrėžti schemą: `Control`, `PolicyClause`, `Evidence`, `VendorResponse`, `Regulation`.  
- **Sukurti ryšius** – pvz., `(:Control)-[:REFERENCES]->(:PolicyClause)`, `(:Evidence)-[:PROVES]->(:Control)`.

### 2. Sukurti embeddingus ir užpildyti vektorių saugyklą

- Naudoti domeno specifinį embedding modelį (pvz., **OpenAI text‑embedding‑3‑large**) teksto turiniui koduoti.  
- Saugykime embeddingus mastingo vektorinėje duomenų bazėje, leidžiančioje vykdyti k‑artimiausių kaimynų (k‑NN) užklausas.

### 3. Sukurti pradinę įklausų biblioteką

- Pradėti nuo universalio šablono:

```
"Answer the following security question. Cite the most relevant controls and evidence from our compliance graph. Use bullet points."
```

- Pažymėti kiekvieną šabloną metaduomenimis: `question_type`, `risk_level`, `required_evidence`.

### 4. Įdiegti RAG variklį

- Gavus klausimyną, ištraukti top‑10 mazgų iš vektorinės saugyklos, filtruojant pagal klausimo žymas.  
- Surinkti ištrauktas fragmentus į **retrieval kontekstą**, kurį LLM naudoja.

### 5. Realiu laiku rinkti grįžtamąjį ryšį

- Po peržiūrėjimo arba patvirtinimo, fiksuoti:
  - **Redagavimo atstumą** (kiek žodžių pakeista).  
  - **Trūkstamas citatas** (detektuojamos per regex arba citatų analizę).  
  - **Auditų įspėjimus** (pvz., „įrodymas nebegalioja“).  

- Šiuos duomenis paversti **grįžtamojo ryšio vektoriumi**: `[acceptance, edit_score, audit_flag]`.

### 6. Atnaujinti įklausų variklį

- Naudojant grįžtamojo ryšio vektorius, vykdyti stiprinimo mokymą, kuris reguliuoja įklausų hiperparametrus:
  - **Temperatūra** (kūrybiškumas vs. tikslumas).  
  - **Citavimo stilius** (įterptinis, footnote, nuoroda).  
  - **Konteksto ilgis** (padidinti, kai reikia daugiau įrodymų).  

- Periodiškai vertinti įklausų variantus prieš netikėtų istorinių klausimynų rinkinį, siekiant užtikrinti pelningą netikimų rezultatų didėjimą.

### 7. Pertreniruoti GNN

- Kas 24‑48 valandas įkelti naujausius grafų atnaujinimus ir grįžtamojo ryšio sukurtus kraštų svorių pataisymus.  
- Atlikti **link‑prediction**, kad būtų pasiūlyti nauji ryšiai (pvz., naujas reglamentas gali reikšti trūkstamą kontrolės kraštą).  
- Eksportuoti atnaujintus mazgų embeddingus atgal į vektorinę saugyklą.

### 8. Nuolatinė reguliavimo pasikeitimų deteikcija

- Paralleliai su pagrindiniu ciklu vykdyti **policy‑drift detektorių**, lyginantį tiesiogines reguliavimo srauto įrašus su saugomomis politikos dalimis.  
- Kai pasikeitimas viršija tam tikrą slenkstį, automatiškai generuoti **grafų atnaujinimo bilietą** ir rodyti jį „procurement“ skydelyje.

### 9. Audituojamas versijavimas

- Kiekvienas grafų mutacijos (mazgo/ryšio pridėjimas, atributo pakeitimas) gauna **nemodifikuojamą laiko žymą su hash**, saugomą tiksliai įrašų sekoje (pvz., naudojant **Blockhash** privačioje blokų grandinėje).  
- Ši seka tarnauja kaip įrodymų kilmės įrodymas auditoriams, atsakant į klausimą „kada ir kodėl ši kontrolė buvo pridėta?“.

---

## Realūs privalumai: kiekybinis žvilgsnis

| Metrija | Prieš CPFL | Po CPFL (6 mėn.) |
|---------|------------|-------------------|
| Vidutinis atsakymo laikas | 3,8 d. | 4,2 val. |
| Rankinio peržiūros pastangų (val/klausimynas) | 2,1 | 0,3 |
| Atsakymo priėmimo rodiklis | 68 % | 93 % |
| Auditų trūkumų rodiklis (įrodymų trūkumas) | 14 % | 3 % |
| Žinių grafų dydis | 12 k mazgų | 27 k mazgų (85 % automatiškai sugeneruotų kraštų) |

Šie skaičiai kilę iš vidutinio dydžio SaaS įmonės, kuri pilotavo CPFL savo **SOC 2** ir **ISO 27001** klausimynų srityje. Rezultatai rodo, kad rankinis darbas smarkiai sumažėjo, o auditų patikimumas žymiai išaugo.

---

## Geriausios praktikos ir klaidos

| Gera praktika | Kodėl svarbu |
|---------------|--------------|
| **Pradėti nuo mažų projektų** – Pilotuoti su vienu reglamentu (pvz., SOC 2) prieš išplečiant | Ribina kompleksumą, leidžia greitai matyti ROI |
| **Žmogaus įtrauktas ciklas (HITL)** – Pirmai 20 % generuotų atsakymų išlaikyti peržiūrėjimą | Ankstyvas iškraipymų ar „halucinacijų“ aptikimas |
| **Metaduomenų turtingi mazgai** – Saugoti laiko žymas, šaltinio URL, pasitikėjimo balus | Detalus kilmės sekimas |
| **Įklausų versijavimas** – Traktuoti įklausas kaip kodą; įsipareigoti pakeitimus GitOps saugykloje | Užtikrina atkūrimo galimybes ir auditų takelį |
| **Reguliari GNN pertreniruotė** – Planuoti naktines sesijas vietoje „on‑demand“ | Išlaiko embeddingų šviežumą be našumo šuolių |

### Dažnos klaidos

1. **Temperatūros hiperparametro peroptimizavimas** – Per mažai – monotoniškas tekstas; per daug – „halucinacijos“. Vykdyti A/B testus nuolat.  
2. **Pamiršti kraštų svorio nuosmukį** – Pasenę santykiai gali dominuoti paiešką. Įdiegti nuosmukio funkcijas, kurios laiku sumažina neaktyvių kraštų svorį.  
3. **Duomenų privatumo ignoravimas** – Embeddingų modeliai gali išsaugoti jautrių poskyrių fragmentus. Naudoti diferencialios privatumo technikas arba vietinius embeddingus reglamentuoto turinio atveju.

---

## Ateities perspektyvos

- **Multimodalinių įrodymų integravimas** – Įtraukti OCR išgautas lenteles, architektūros diagramas ir kodo fragmentus į grafą, leidžiant LLM tiesiogiai cituoti vizualinius artefaktus.  
- **Zero‑Knowledge Proof (ZKP) patikrinimas** – Pridėti ZKP prie įrodymų mazgų, kad auditoriai galėtų patikrinti autentiškumą be tiesioginio duomenų atskleidimo.  
- **Federacinis grafų mokymasis** – Įmonės iš tos pačios pramonės galėtų bendradarbiauti mokant GNN, neatskleisdamos žaliavedžių politikų.  
- **Savarankiškas paaiškinamumo sluoksnis** – Generuoti santrauką „Kodėl šis atsakymas?“ naudojant GNN dėmesio žemėlapius, suteikiant atitikties specialistams papildomą pasitikėjimo lygį.

---

## Išvada

**Nuolatinis įklausų grįžtamojo ryšio ciklas** paverčia statinę atitikties saugyklą gyvu, savišlautinai mokančiu žinių grafu, kuris išlieka sinchroniškai su reguliavimo pakeitimais, peržiūrų įžvalgomis ir AI generavimo kokybės metrikomis. Sujungiant Retrieval‑Augmented Generation, adaptacinį promptingą ir grafų neuroninius tinklus, organizacijos gali drastiškai sumažinti klausimynų atsakymo laiką, supaprastinti rankinį darbą ir tiekti auditui paruoštus, įrodymų kilmės patikrinimus, kurie stiprina pasitikėjimą.

Įsisavindami šią architektūrą, jūsų atitikties programa nebus tik gynybinis reikalavimas – tai strateginis pranašumas, paverčiantis kiekvieną saugumo klausimyną galimybe parodyti operatyvų veiksmų efektyvumą ir AI‑pagrįstą lankstumą.