
# Kontekstualna sinteza dokaza uz AI za upitnike dobavljača u stvarnom vremenu

Upitnici za sigurnost i usklađenost postali su usko grlo u SaaS prodajnom ciklusu. Od dobavljača se očekuje da odgovore na desetke detaljnih
pitanja koja obuhvaćaju [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2), [ISO 27001](https://www.iso.org/standard/27001), [GDPR](https://gdpr.eu/), i sustavno‑specifične kontrole u roku od sati, a ne dana. Tradicionalna rješenja za automatizaciju obično izvlače statične isječke iz repozitorija dokumenata,
ostavljajući timove da ih ručno spoje, provjere relevantnost i dodaju nedostajući kontekst. Rezultat je krhk proces koji i dalje zahtijeva značajan ljudski napor i sklon je greškama.

**Kontekstualna sinteza dokaza (CSD)** je AI‑vo radno okruženje koje nadilazi jednostavno pretraživanje. Umjesto da preuzme jedan odlomak,
**razumijeva namjeru pitanja**, **sastavlja skup relevantnih dokaza**, **dodaje dinamički kontekst**, i **generira
jedinstveni, revizorski odgovor**. Glavni sastojci su:

1. **Ujednačeni graf znanja dokaza** – čvorovi predstavljaju politike, revizorske nalaze, potvrde trećih strana i vanjske obavještajne prijetnje;
   rubovi hvataju odnose poput “pokriva”, “dokaz‑za”, ili “utječe‑na”.
2. **Generiranje pojačano pretraživanjem (RAG)** – veliki jezični model (LLM) pojačan brzim vektorskim trgovinama koji pretražuje graf za najrelevantnije čvorove dokaza.
3. **Sloj kontekstualnog zaključivanja** – lagani motor pravila koji dodaje logiku specifičnu za usklađenost (npr., “ako je kontrola označena ‘u‑izradi’
   dodaj vremenski okvir otklanjanja”).
4. **Graditelj revizorske trake** – svaki generirani odgovor automatski se povezuje natrag na temeljne čvorove grafa, vremenske oznake i
   verzijske brojeve, stvarajući nepromjenjivu revizorsku evidenciju.

Rezultat je **odgovor u stvarnom vremenu, kreiran AI‑jem** koji se može pregledati, komentirati ili izravno objaviti na portalu dobavljača. U nastavku prolazimo
kroz arhitekturu, tok podataka i praktične korake implementacije za timove koji žele usvojiti CSD u svom stogu alata za usklađenost.

---

## 1. Zašto tradicionalno pretraživanje ne zadovoljava potrebe

| Bolna točka | Tradicionalni pristup | Prednost CSD‑a |
|------------|----------------------|---------------|
| **Statički isječci** | Povlači fiksiranu klauzulu iz PDF‑dokumenta. | Dinamički kombinira više klauzula, ažuriranja i vanjske podatke. |
| **Gubitak konteksta** | Nema svijest o nijansama pitanja (npr., “odgovor na incident” vs. “plan oporavka od katastrofe”). | LLM interpretira namjeru, odabire dokaze koji odgovaraju točnom kontekstu. |
| **Revizorska sposobnost** | Ručno kopiranje ostavlja bez tragova. | Svaki odgovor povezuje se s čvorovima grafa s verzijskim ID‑ovima. |
| **Skalabilnost** | Dodavanje novih politika zahtijeva ponovno indeksiranje svih dokumenata. | Dodavanje rubova u graf je inkrementalno; RAG indeks se automatski osvježava. |

---

## 2. Osnovne komponente CSD‑a

### 2.1 Graf znanja dokaza

Graf je jedinstveni izvor istine. Svaki čvor pohranjuje:

* **Sadržaj** – sirovi tekst ili strukturirani podaci (JSON, CSV).
* **Metapodaci** – izvorni sustav, datum stvaranja, okvir usklađenosti, datum isteka.
* **Hash** – kriptografski otisak za otkrivanje manipulacije.

Rubovi izražavaju logičke odnose:

```mermaid
graph TD
    "Polisa: Kontrola pristupa" -->|"pokriva"| "Kontrola: AC‑1"
    "Revizorsko izvješće: Q3‑2024" -->|"dokaz‑za"| "Kontrola: AC‑1"
    "Potvrda treće strane" -->|"potvrđuje"| "Polisa: Čuvanje podataka"
    "Izvor obavještajne prijetnje" -->|"utječe‑na"| "Kontrola: Odgovor na incidente"
```

> **Napomena**: Svi naslovi čvorova su smješteni u dvostruke navodnike prema zahtjevima Mermaid sintakse; ne treba dodatno escapiranje.

### 2.2 Generiranje pojačano pretraživanjem (RAG)

Kad stigne upitnik, sustav obavlja:

1. **Ekstrakcija namjere** – LLM parsira pitanje i proizvodi strukturiranu reprezentaciju
   (npr., `{framework: "SOC2", control: "CC6.1", domain: "Security Incident Management"}`).
2. **Vektorsko pretraživanje** – namjera se enkodira i koristi za dohvat top‑k relevantnih čvorova grafa iz
   gustog vektorskog spremišta (FAISS ili Elastic Vector).
3. **Prompt prosljeđivanje** – LLM prima dohvaćene isječke dokaza zajedno s promptom koji
   ga uputa da *sintezira* sažet odgovor uz očuvanje citata.

### 2.3 Sloj kontekstualnog zaključivanja

Motor pravila stoji između pretraživanja i generiranja:

```goat
rule "Uključi vremenski okvir otklanjanja ako je status kontrole u‑izradi"
when
    ControlStatus(status == "in‑progress")
then
    add_context("Trenutni rok otklanjanja: {{eta}} dana")
end
```

Motor također može provoditi:

* **Provjere isteka** – isključuje dokaze čiji je datum isteka prošao.
* **Mapiranje regulativa** – osigurava da odgovor zadovoljava više okvira istovremeno.
* **Maskiranje privatnosti** – zastrašuje osjetljiva polja prije nego što dođu do LLM‑a.

### 2.4 Graditelj revizorske trake

Svaki odgovor se umota u **SKUPNI OBJEKT**:

```json
{
  "answer_id": "ans-2025-10-22-001",
  "question_id": "q-12345",
  "generated_text": "...",
  "evidence_refs": [
    {"node_id": "policy-AC-1", "hash": "a5f3c6"},
    {"node_id": "audit-2024-Q3", "hash": "d9e2b8"}
  ],
  "timestamp": "2025-10-22T14:32:10Z",
  "llm_version": "gpt‑4‑turbo‑2024‑09‑12"
}
```

Ovaj JSON se može pohraniti u nepromjenjivo (WORM) spremište i kasnije prikazati u nadzornoj ploči,
dajući revizorima mogućnost prikaza točno koji se dokaz koristi za svaku tvrdnju.

---

## 3. End‑to‑End tok podataka

```mermaid
sequenceDiagram
    participant User as Analitičar sigurnosti
    participant UI as Procurize nadzorna ploča
    participant CES as Kontekstualni sintetizator dokaza
    participant KG as Graf znanja
    participant LLM as RAG LLM
    participant Log as Revizorska traka

    User->>UI: Učitaj novi upitnik (PDF/JSON)
    UI->>CES: Parsiraj pitanja, kreiraj objekte namjere
    CES->>KG: Vektorsko pretraživanje za svaku namjeru
    KG-->>CES: Vrati top‑k čvorova dokaza
    CES->>LLM: Prompt s dokazima + pravila sinteze
    LLM-->>CES: Generirani odgovor
    CES->>Log: Pohrani odgovor s referencama dokaza
    Log-->>UI: Prikaži odgovor s poveznicama za praćenje
    User->>UI: Pregledaj, komentiraj, odobri
    UI->>CES: Pošalji odobreni odgovor na portal dobavljača
```

Sekvencijski dijagram naglašava da **ljudski pregled** ostaje ključna kontrola. Analitičari mogu dodati komentare ili
nadjačati AI‑generirani tekst prije konačne predaje, čuvajući i brzinu i upravljanje.

---

## 4. Plan implementacije

### 4.1 Postavljanje grafa znanja

1. **Odabir baze grafova** – Neo4j, JanusGraph ili Amazon Neptune.  
2. **Uvoz postojećih artefakata** – politike (Markdown, PDF), revizorske izvještaje (CSV/Excel), potvrde trećih strana (JSON) i vanjske izvore obavještajne prijetnje (STIX/TAXII).  
3. **Generiranje embeddinga** – koristite model rečenica (`all-MiniLM-L6-v2`) za tekstualni sadržaj svakog čvora.  
4. **Stvaranje vektorskog indeksa** – pohranite embeddinge u FAISS ili Elastic Vector za brzo pretraživanje.

### 4.2 Izgradnja sloja RAG

* Postavite LLM endpoint (OpenAI, Anthropic ili samostalni Llama‑3) iza privatnog API gateway‑a.
* Omotajte LLM **Prompt predložakom** koja sadrži zamjenske oznake:
  * `{{question}}`
  * `{{retrieved_evidence}}`
  * `{{compliance_rules}}`
* Koristite LangChain ili LlamaIndex za orkestraciju petlje pretraživanja‑generiranja.

### 4.3 Definiranje pravila zaključivanja

Implementirajte motor pravila putem **Durable Rules**, **Drools** ili laganog Python DSL‑a. Primjer skupa pravila:

```python
rules = [
    {
        "condition": lambda node: node["status"] == "expired",
        "action": lambda ctx: ctx["exclude"](node)
    },
    {
        "condition": lambda node: node["framework"] == "SOC2" and node["control"] == "CC6.1",
        "action": lambda ctx: ctx["add_context"]("Plan odgovora na incidente zadnji put testiran {{last_test_date}}")
    }
]
```

### 4.4 Revizorsko pohranjivanje

* Pohranite **kompozitne objekte odgovora** u **append‑only** S3 bucket s uključenim Object Lock‑om ili u ledger‑temeljenu bazu.
* Generirajte **SHA‑256 hash** svakog odgovora za dokaz o nepromjenjivosti.

### 4.5 Integracija UI‑ja

* Proširite Procurize nadzornu ploču s gumbom **„AI‑Sinteziraj“** uz svaku redak upitnika.
* Prikazujte skupljivi prikaz koji pokazuje:
  * Generirani odgovor.
  * Umetnute citate (npr., `[Polisa: Kontrola pristupa]` koji linka na čvor u grafu).
  * Oznaku verzije (`v1.3‑2025‑10‑22`).

### 4.6 Monitoring i kontinuirano poboljšanje

| Metrika | Kako mjeriti |
|--------|---------------|
| **Latencija odgovora** | Vrijeme od primitka pitanja do generiranja odgovora. |
| **Pokriće citata** | Postotak rečenica odgovora povezanih s barem jednim čvorom dokaza. |
| **Stupanj ljudskih izmjena** | Omjere AI‑generiranih odgovora koji zahtijevaju ručnu korekciju. |
| **Odmak usklađenosti** | Broj odgovora koji postanu zastarjeli zbog isteka dokaza. |

Sakupite ove podatke u Prometheus, postavite alarme na prekoračenja i iskoristite informacije za **auto‑tuning** pravila.

---

## 5. Stvarne prednosti

1. **Smanjenje vremena odziva** – Timovi bilježe **70‑80 %** skraćenja prosječnog vremena odgovora (od 48 h na ~10 h).
2. **Veća točnost** – Povezivanje odgovora s dokazima smanjuje faktualne greške za **~95 %**, budući da se citati automatski provjeravaju.
3. **Revizorska spremnost** – Izvoz revizorske trake jednim klikom zadovoljava zahtjeve za SOC 2 i ISO 27001.
4. **Skalabilnost znanja** – Novi upitnici automatski koriste postojeće dokaze, izbjegavajući dupliciranje napora.

Studija slučaja u fintech poduzeću pokazala je da je nakon uvođenja CSD‑a tim za rizik dobavljača mogao obrađivati **četiri puta** veći broj upitnika bez zapošljavanja dodatnog osoblja.

---

## 6. Sigurnosni i privatnostni aspekti

* **Izolacija podataka** – Vektorsko spremište i LLM inference drže se u VPC‑u bez izlaznog internetskog prometa.
* **Zero‑Trust pristup** – Kratkotrajni IAM tokeni za svaku sesiju analitičara.
* **Diferencijalna privatnost** – Prilikom korištenja vanjskih izvora obavještajne prijetnje primijenite šum kako bi se spriječilo curenje internog sadržaja politika.
* **Auditing modela** – Zabilježite svaki LLM zahtjev i odgovor za revizijske preglede.

---

## 7. Buduća poboljšanja

| Stvar u planu | Opis |
|--------------|------|
| **Federativna sinkronizacija grafa** | Dijeljenje odabranih čvorova s partnerima uz očuvanje suvereniteta podataka. |
| **Overlay za Explainable AI** | Vizualizacija putanje zaključivanja od pitanja do odgovora pomoću DAG‑a dokaza. |
| **Višejezična podrška** | Proširenje pretraživanja i generiranja na francuski, njemački i japanski putem višejezičnih embeddinga. |
| **Samopopravljajući predlošci** | Automatsko ažuriranje predložaka upitnika kada se promijeni temeljna politika. |

---

## 8. Kontrolna lista za početak

1. **Katalogizirajte postojeće izvore dokaza** – popišite politike, revizorske izvještaje, potvrde i feedove.  
2. **Pokrenite graf baze podataka** i uvezite artefakte s metapodacima.  
3. **Generirajte embeddinge** i postavite vektorsku uslugu pretraživanja.  
4. **Postavite LLM** s RAG omotačem (LangChain ili LlamaIndex).  
5. **Definirajte pravila usklađenosti** koja odražavaju jedinstvene zahtjeve vaše organizacije.  
6. **Integrirajte s Procurize** – dodajte gumb „AI‑Sinteziraj“ i komponentu UI‑ja za revizijsku traku.  
7. **Pokrenite pilot** na manjem skupu upitnika, mjerite latenciju, stopu izmjena i revizorsku pratljivost.  
8. **Iterirajte** – doradite pravila, obogatite graf i proširite na nove okvire.

Slijedeći ovaj plan, pretvorit ćete dugotrajan ručni proces u **kontinuirani, AI‑potpomognuti motor usklađenosti** koji raste uz vaše poslovanje.