
# Konverzacijski AI trener za ispunjavanje sigurnosnih upitnika u stvarnom vremenu

*U brzo mijenjajućem svijetu SaaS‑a, sigurnosni upitnici mogu zadržati poslove tjednima. Zamislite kolegu koji postavlja jednostavno pitanje – “Šifriramo li podatke u mirovanju?” – i odmah dobiva točan, na politiku potkrijepljen odgovor, izravno u sučelju upitnika. To je obećanje **Konverzacijskog AI trenera** izgrađenog na vrhu Procurize‑a.*

---  

## Zašto je konverzacijski trener važan  

| Problem | Tradicionalni pristup | Utjecaj AI trenera |
|----------|----------------------|--------------------|
| **Silosi znanja** | Odgovori ovise o pamćenju nekoliko sigurnosnih stručnjaka. | Centralizirano znanje o politikama se dohvaća na zahtjev. |
| **Kašnjenje u odgovorima** | Timovi provode sate tražeći dokaze i sastavljajući odgovore. | Prijedlozi gotovo u tren oka skraćuju vrijeme od dana do minuta. |
| **Nedosljedan jezik** | Različiti autori pišu odgovore različitim tonom. | Vođene šablone jezika osiguravaju ton u skladu s brendom. |
| **Odmak u usklađenosti** | Politike se mijenjaju, ali odgovori na upitnike ostaju zastarjeli. | Pretraživanje politika u stvarnom vremenu jamči da odgovori uvijek odražavaju najnovije standarde. |

Trener radi više od pronalaženja dokumenata; *konversira* s korisnikom, pojašnjava namjeru i prilagođava odgovor specifičnom regulatornom okviru ([SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2), [ISO 27001](https://www.iso.org/standard/27001), [GDPR](https://gdpr.eu/), itd.).

---  

## Osnovna arhitektura  

Dolje je prikazan visok nivo steka Konverzacijskog AI trenera. Dijagram koristi **Mermaid** sintaksu, koja se čisto renderira u Hugo.

```mermaid
flowchart TD
    A["User Interface (Questionnaire Form)"] --> B["Conversation Layer (WebSocket / REST)"]
    B --> C["Prompt Orchestrator"]
    C --> D["Retrieval‑Augmented Generation Engine"]
    D --> E["Policy Knowledge Base"]
    D --> F["Evidence Store (Document AI Index)"]
    C --> G["Contextual Validation Module"]
    G --> H["Audit Log & Explainability Dashboard"]
    style A fill:#f9f,stroke:#333,stroke-width:2px
    style B fill:#bbf,stroke:#333,stroke-width:2px
    style C fill:#bfb,stroke:#333,stroke-width:2px
    style D fill:#ff9,stroke:#333,stroke-width:2px
    style E fill:#9ff,stroke:#333,stroke-width:2px
    style F fill:#9f9,stroke:#333,stroke-width:2px
    style G fill:#f99,stroke:#333,stroke-width:2px
    style H fill:#ccc,stroke:#333,stroke-width:2px
```

**Ključne komponente**

1. **Sloj razgovora** – uspostavlja kanal s niskom latencijom (WebSocket) kako trener može odgovoriti odmah dok korisnik tipka.  
2. **Orkestrator upita** – generira lanac upita koji spaja korisničko pitanje, relevantni regulatorni odlomak i bilo koji prethodni kontekst upitnika.  
3. **RAG motor** – koristi Retrieval‑Augmented Generation (RAG) za dohvaćanje najrelevantnijih isječaka politika i dokaza, te ih ubacuje u kontekst LLM‑a.  
4. **Policijska baza znanja** – graf‑struktuirana pohrana politika‑kao‑kod, gdje svaki čvor predstavlja kontrolu, svoju verziju i mapiranja na okvire.  
5. **Pohrana dokaza** – pokrenuta od strane Document AI, označava PDF‑ove, snimke zaslona i konfiguracijske datoteke embedding‑ovima za brzu pretragu sličnosti.  
6. **Modul kontekstualne validacije** – pokreće pravila temeljena na pravilima (npr. “Sadrži li odgovor algoritam šifriranja?”) i označava praznine prije nego što korisnik pošalje.  
7. **Zapis revizije i nadzorni dashboard** – bilježi svaki prijedlog, izvore dokumenata i ocjene pouzdanosti za revizore usklađenosti.

---  

## Lančanje upita u praksi  

Tipična interakcija slijedi tri logička koraka:

1. **Ekstrakcija namjere** – *“Šifriramo li podatke u mirovanju za naše PostgreSQL klastere?”*  
   Prompt:  
   ```
   Identify the security control being asked about and the target technology stack.
   ```

2. **Dohvaćanje politike** – Orkestrator preuzima klauzulu “Encryption in Transit and at Rest” iz [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2) i internu politiku koja se odnosi na PostgreSQL.  
   Prompt:  
   ```
   Summarize the latest policy for encryption at rest for PostgreSQL, citing the exact policy ID and version.
   ```

3. **Generiranje odgovora** – LLM kombinira sažetak politike s dokazom (npr. konfiguracijom za šifriranje) i proizvodi sažet odgovor.  
   Prompt:  
   ```
   Draft a 2‑sentence response that confirms encryption at rest, references policy ID POL‑DB‑001 (v3.2), and attaches evidence #E1234.
   ```

Lanac osigurava **trasabilnost** (ID politike, ID dokaza) i **dosljednost** (isti izraz kroz više pitanja).  

---  

## Izgradnja grafova znanja  

Praktičan način organizacije politika je **graf svojstava**. Ispod je pojednostavljena Mermaid reprezentacija sheme grafa.

```mermaid
graph LR
    P[Policy Node] -->|covers| C[Control Node]
    C -->|maps to| F[Framework Node]
    P -->|has version| V[Version Node]
    P -->|requires| E[Evidence Type Node]
    style P fill:#ffcc00,stroke:#333,stroke-width:2px
    style C fill:#66ccff,stroke:#333,stroke-width:2px
    style F fill:#99ff99,stroke:#333,stroke-width:2px
    style V fill:#ff9999,stroke:#333,stroke-width:2px
    style E fill:#ff66cc,stroke:#333,stroke-width:2px
```

* **Policy Node** – pohranjuje tekst politike, autora i datum posljednjeg pregleda.  
* **Control Node** – predstavlja regulatornu kontrolu (npr. “Šifriranje podataka u mirovanju”).  
* **Framework Node** – povezuje kontrole s SOC 2, [ISO 27001](https://www.iso.org/standard/27001) i sl.  
* **Version Node** – jamči da trener uvijek koristi najnoviju reviziju.  
* **Evidence Type Node** – definira zahtijevane vrste artefakata (konfiguracija, certifikat, izvještaj testa).

Popunjavanje ovog grafa je jednokratni napor. Daljnja ažuriranja se rukuju putem **CI‑pipeline‑a politika‑kao‑kod** koji validira integritet grafa prije spajanja.

---  

## Pravila real‑time validacije  

Iako je LLM moćan, timovi za usklađenost trebaju hard‑garancije. **Modul kontekstualne validacije** primjenjuje sljedeći skup pravila na svaki generirani odgovor:

| Pravilo | Opis | Primjer neuspjeha |
|---------|------|-------------------|
| **Postojanje dokaza** | Svaka tvrdnja mora referirati barem jedan ID dokaza. | “Šifriramo podatke” → *Nedostaje referenca na dokaz* |
| **Usklađenost okvira** | Odgovor mora spomenuti okvir za koji se odgovara. | Odgovor za ISO 27001 bez naziva “ISO 27001” |
| **Dosljednost verzije** | ID politike mora odgovarati najnovijoj odobrenoj verziji. | Citiranje POL‑DB‑001 v3.0 kad je aktivna v3.2 |
| **Ograničenje duljine** | Održavati sažeto (≤ 250 znakova) radi čitljivosti. | Predugačak odgovor označen za izmjenu |

Ako pravilo ne uspije, trener prikazuje inline upozorenje i predlaže korekciju, pretvarajući interakciju u **suradničku uređivanje** umjesto jednokratnog generiranja.

---  

## Koraci implementacije za timove nabave  

1. **Postavite graf znanja**  
   * Izvezite postojeće politike iz repozitorija (npr. Git‑Ops).  
   * Pokrenite skriptu `policy-graph-loader` za učitavanje u Neo4j ili Amazon Neptune.  

2. **Indeksirajte dokaze pomoću Document AI**  
   * Implementirajte Document AI cjevovod (Google Cloud, Azure Form Recognizer).  
   * Pohranite embedding‑e u vektorsku bazu (Pinecone, Weaviate).  

3. **Izgradite RAG motor**  
   * Koristite hosting uslugu LLM‑a (OpenAI, Anthropic) s prilagođenom bibliotekom upita.  
   * Omotajte je orkestratorom sličnim LangChain‑u koji poziva sloj pretraživanja.  

4. **Integrirajte UI razgovora**  
   * Dodajte chat widget na Procurize‑ovu stranicu upitnika.  
   * Spojite ga putem sigurnog WebSocket‑a na Orkestrator upita.  

5. **Konfigurirajte pravila validacije**  
   * Napišite JSON‑logic politike i priključite ih u Modul validacije.  

6. **Omogućite reviziju**  
   * Svaki prijedlog usmjerite u nepromjenjivi audit log (append‑only S3 bucket + CloudTrail).  
   * Pripremite dashboard za revizore kako bi vidjeli ocjene povjerenja i izvore dokumenata.  

7. **Pilotirajte i iterirajte**  
   * Započnite s jednim upitnikom visokog volumena (npr. SOC 2 Type II).  
   * Prikupljajte povratne informacije korisnika, usavršavajte formulacije upita i prilagodite praga pravila.  

---  

## Mjerenje uspjeha  

| KPI | Baseline | Target (6 months) |
|-----|----------|-------------------|
| **Prosječno vrijeme odgovora** | 15 min po pitanju | ≤ 45 sec |
| **Stopa pogrešaka (ručne korekcije)** | 22 % | ≤ 5 % |
| **Incidencije odstupanja politika** | 8 po kvartalu | 0 |
| **Korisničko zadovoljstvo (NPS)** | 42 | ≥ 70 |

Postizanje ovih brojki pokazuje da trener donosi stvarnu operativnu vrijednost, a ne samo eksperimentalni chatbot.

---  

## Buduća poboljšanja  

1. **Višejezični trener** – Proširiti upite podrškom za japanski, njemački i španjolski, koristeći fino podešene višestruke jezične LLM‑e.  
2. **Federativno učenje** – Omogućiti više SaaS klijenata da zajednički unaprijede trenera bez dijeljenja sirovih podataka, čuvajući privatnost.  
3. **Integracija zero‑knowledge proof‑ova** – Kad su dokazi visoko povjerljivi, trener može generirati ZKP koji potvrđuje usklađenost bez otkrivanja samog artefakta.  
4. **Proaktivna obavijest** – Kombinirajte trenera s **Radarom regulatornih promjena** za push‑notifikacije o novim propisima prije nego što postanu obavezni.  

---  

## Zaključak  

Konverzacijski AI trener pretvara naporan zadatak odgovaranja na sigurnosne upitnike u interaktivni, znanjem upravljani dijalog. Spojanjem graf‑baze politika, generiranja uz pretraživanje i real‑time validacije, Procurize može isporučiti:

* **Brzinu** – Odgovori u sekundama, ne danima.  
* **Točnost** – Svaki odgovor potkrijepljen najnovijom politikom i konkretnim dokazom.  
* **Revizabilnost** – Potpuna trasabilnost za regulatore i interne revizore.  

Tvrtke koje usvoje ovaj sloj trenera ne samo da će ubrzati procjene rizika dobavljača, već i ugraditi kulturu kontinuirane usklađenosti, gdje svaki zaposlenik može sigurno odgovarati na sigurnosna pitanja s povjerenjem.

---  

## Pogledajte također  

- [Build a Retrieval‑Augmented Generation Pipeline for Compliance (Medium)](https://medium.com/@example/building-a-rag-pipeline-for-compliance)