
# Prediktivna Orkestracija Usklađenosti s AI – Predviđanje Praznina u Upitniku Prije nego što se Pojave

U brzo mijenjajućem svijetu SaaS‑a, sigurnosni upitnici postali su de‑facto čuvari svakog prodajnog ciklusa, procjene rizika dobavljača i regulatorne revizije. Tradicionalna automatizacija fokusira se na **dohvaćanje** pravog odgovora iz baze znanja kada je pitanje postavljeno. Iako ovaj “reaktivni” model štedi vrijeme, i dalje ostavlja dva ključna problema:

1. **Slijepi kutci** – odgovori mogu nedostajati, biti zastarjeli ili nepotpuni, prisiljavajući timove da u zadnji trenutak traže dokaze.  
2. **Reaktivni napor** – timovi reagiraju *nakon* što je upitnik primljen, umjesto da se pripreme unaprijed.

Što ako vaša platforma za usklađenost može **predvidjeti** te praznine *prije* nego što upitnik uđe u vaš inbox? To je obećanje **Prediktivne Orkestracije Usklađenosti** — AI‑vođenog tijeka rada koji kontinuirano prati politike, spremišta dokaza i signale rizika, a zatim proaktivno generira ili osvježava potrebne artefakte.

U ovom članku ćemo:

* Razložiti tehničke blokove prediktivnog sustava.  
* Pokazati kako ga integrirati s postojećom platformom poput **Procurize**.  
* Demonstrirati poslovni učinak pomoću stvarnih metrika.  
* Ponuditi vodič korak‑po‑korak za inženjerske timove.

---

## 1. Zašto Predviđanje Nadmašuje Dohvaćanje

| Aspekt | Reaktivno Dohvaćanje | Prediktivna Orkestracija |
|--------|----------------------|--------------------------|
| **Vremenski okvir** | Odgovor generiran **nakon** što je zahtjev stigao. | Dokaz pripremljen **prije** što je zahtjev stigao. |
| **Rizik** | Visok – nedostajući ili zastarjeli podaci mogu uzrokovati neuspjeh usklađenosti. | Nizak – kontinuirana validacija otkriva praznine rano. |
| **Napori** | Spike‑ovi napora u sprint‑modu po upitniku. | Stalni, automatizirani napori raspoređeni tijekom vremena. |
| **Povjerenje dionika** | Mješovito – popravci u zadnji trenutak narušavaju povjerenje. | Visoko – dokumentirani, revizijski trag proaktivnih radnji. |

Pomak od *kada* do *koliko rano* imate odgovor je temeljna konkurentska prednost. Predviđanjem vjerojatnosti da će se određena kontrola tražiti u narednih 30 dana, platforma može unaprijed popuniti taj odgovor, priložiti najnoviji dokaz i čak označiti potrebu za ažuriranjem.

---

## 2. Osnovni Arhitektonski Komponenti

Dolje je prikazan visoko‑razinski pregled prediktivnog motora usklađenosti. Dijagram je prikazan pomoću Mermaida, preferiranog naspram GoAT‑a.

```mermaid
graph TD
    A["Pohrana Politika i Dokaza"] --> B["Detektor Promjena (Diff Engine)"]
    B --> C["Vremenska Serija Modela Rizika"]
    C --> D["Motor Predviđanja Praznina"]
    D --> E["Proaktivni Generator Dokaza"]
    E --> F["Sloj Orkestracije (Procurize)"]
    F --> G["Nadzorna Ploča Usklađenosti"]
    H["Eksterne Signale"] --> C
    I["Povratna Zanka Korisnika"] --> D
```

* **Pohrana Politika i Dokaza** – Centralno spremište (git, S3, DB) koje sadrži **[SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2)**, **[ISO 27001](https://www.iso.org/standard/27001)**, **[GDPR](https://gdpr.eu/)** politike i prateće artefakte (snimke zaslona, zapise, certifikate).  
* **Detektor Promjena** – Kontinualni diff‑engine koji označava svaku promjenu politike ili dokaza.  
* **Vremenska Serija Modela Rizika** – Trenirana na povijesnim podacima upitnika, predviđa vjerojatnost da će se pojedina kontrola zatražiti u bliskoj budućnosti.  
* **Motor Predviđanja Praznina** – Kombinira ocjene rizika s signalima promjena kako bi identificirao “rizične” kontrole kojima nedostaju svježi dokazi.  
* **Proaktivni Generator Dokaza** – Koristi Retrieval‑Augmented Generation (RAG) za izradu narativnih dokaza, automatski prilaže verzionirane datoteke i sprema ih natrag u pohranu dokaza.  
* **Sloj Orkestracije** – Izlaže generirani sadržaj kroz Procurize‑ov API, čineći ga odmah odabirljivim kad upitnik stigne.  
* **Eksterne Signale** – Tokovi prijetnji, regulatorna ažuriranja i trendovi industrijskih revizija koji obogaćuju model rizika.  
* **Povratna Zanka Korisnika** – Analitičari potvrđuju ili ispravljaju automatski generirane odgovore, vraćajući nadzorne signale natrag u model radi poboljšanja.

---

## 3. Temelje Podataka – Gorivo za Predviđanje

### 3.1 Povijesni Korpus Upitnika

Potrebno je najmanje **12 mjeseaca** odgovorjenih upitnika za treniranje robusnog modela. Svaki zapis treba uključivati:

* ID pitanja (npr. “SOC‑2 CC6.2”)  
* Kategoriju kontrole (pristup, enkripcija, itd.)  
* Vremensku oznaku odgovora  
* Verziju dokaza koji je korišten  
* Ishod (prihvaćeno, zatraženo pojašnjenje, odbijeno)

### 3.2 Povijest Verzija Dokaza

Svaki artefakt mora biti pod kontrolom verzija. Metapodaci u stilu Gita (hash, autor, datum) omogućuju Diff Engineu da razumije *što* se mijenja i *kada*.

### 3.3 Eksterni Kontekst

* **Kalendar regulatornih promjena** – nadolazeća ažuriranja **[GDPR](https://gdpr.eu/)**, revizije **[ISO 27001](https://www.iso.org/standard/27001)**.  
* **Upozorenja o proboju sigurnosti** – porast ransomware‑a može povećati vjerojatnost pitanja o reagiranju na incidente.  
* **Ocjene rizika dobavljača** – interna ocjena rizika zahtijevača može nagnuti model prema temeljitijim odgovorima.

---

## 4. Izgradnja Prediktivnog Motora

Dolje je praktični plan implementacije osmišljen za tim koji već koristi Procurize.

### 4.1 Postavljanje Kontinuiranog Praćenja Diff‑a

```bash
# Primjer korištenja git diff za detekciju promjena dokaza
while true; do
  git fetch origin main
  changes=$(git diff --name-only origin/main HEAD -- evidence/)
  if [[ -n "$changes" ]]; then
    curl -X POST http://orchestrator.local/diff-event \
      -H "Content-Type: application/json" \
      -d "{\"files\": \"$changes\"}"
  fi
  sleep 300  # pokreni svakih 5 minuta
done
```

*Script šalje webhook u Sloj Orkestracije svaki put kad se promijene datoteke dokaza.*

### 4.2 Treniranje Vremenske Serije Modela Rizika

```python
from prophet import Prophet
import pandas as pd

# Učitaj povijesne podatke zahtjeva
df = pd.read_csv('questionnaire_log.csv')
df['ds'] = pd.to_datetime(df['request_date'])
df['y'] = df['request_count']  # koliko puta je kontrola zatražena

m = Prophet(yearly_seasonality=True, weekly_seasonality=False)
m.fit(df[['ds','y']])

future = m.make_future_dataframe(periods=30)
forecast = m.predict(future)
forecast[['ds','yhat']].tail()
```

*Izlaz `yhat` daje procijenjenu vjerojatnost za svaki dan u sljedećem mjesecu.*

### 4.3 Logika Predviđanja Praznina

```python
def forecast_gaps(risk_forecast, evidences):
    gaps = []
    for control, prob in risk_forecast.items():
        if prob > 0.7:  # prag za visoki rizik
            latest = evidences.get_latest_version(control)
            if latest.is_stale(days=30):
                gaps.append(control)
    return gaps
```

Funkcija vraća popis kontrola koje su i vjerojatno zatražene i imaju zastarjele dokaze.

### 4.4 Automatsko Generiranje Dokaza pomoću RAG‑a

Procurize već nudi RAG endpoint. Primjer zahtjeva:

```json
POST /api/v1/rag/generate
{
  "control_id": "CC6.2",
  "evidence_context": ["latest SOC2 audit", "access logs from 2024-09"],
  "temperature": 0.2,
  "max_tokens": 500
}
```

Odgovor je markdown isječak spreman za uključivanje u upitnik, s rezerviranim mjestima za priložene datoteke.

### 4.5 Orkestracija u Procurize UI

Dodajte novu ploču “**Prediktivni Prijedlozi**” u editor upitnika. Kad korisnik otvori novi upitnik, backend poziva:

```bash
GET /api/v1/predictive/suggestions?project_id=12345
```

Vraćajući:

```json
{
  "suggestions": [
    {
      "control_id": "CC6.2",
      "generated_answer": "Naša višefaktorska autentifikacija (MFA) je prisiljena na sve privilegirane račune…",
      "evidence_id": "evidence-2024-09-15-abcdef",
      "confidence": 0.92
    },
    ...
  ]
}
```

UI ističe odgovore visoke pouzdanosti, omogućavajući analitičaru da ih prihvati, uređuje ili odbije. Svaka odluka se bilježi radi kontinuiranog poboljšanja.

---

## 5. Mjerenje Poslovnog Utjecaja

| Metrika | Prije Prediktivnog Motora | Nakon 6 Mjeseci |
|--------|----------------------------|-----------------|
| Prosječno vrijeme obrade upitnika | 12 dana | **4 dana** |
| Postotak pitanja odgovornih zastarjelim dokazima | 28 % | **5 %** |
| Prekovremeni sati analitičara po kvartalu | 160 h | **45 h** |
| Stopa neuspjeha revizije (praznine u dokazima) | 3.2 % | **0.4 %** |
| Zadovoljstvo dionika (NPS) | 42 | **71** |

Brojke potječu iz kontroliranog pilot projekta u srednje velikoj SaaS tvrtki (≈ 250 zaposlenika). Smanjenje ručnog rada preveo se u procijenjenu uštedu od **280 000 USD** u prvoj godini.

---

## 6. Upravljanje i Revizijski Trag

Automatizacija predviđanja mora ostati **transparentna**. Ugrađeni revizijski zapis u Procurize bilježi:

* Verziju modela koja je korištena za svaki generirani odgovor.  
* Vremensku oznaku prognoze i prateći skor rizika.  
* Ljudske akcije preglednika (prihvaćeno/odbijeno, razlika u uređivanju).  

Izvezi u CSV/JSON formatu mogu se izravno priložiti revizijskim paketima, zadovoljavajući regulatore koji traže “objašnjivi AI” za odluke o usklađenosti.

---

## 7. Plan Pokretanja – 4‑tjedni Sprint

| Tjedan | Cilj | Dostavljeni rezultat |
|-------|------|----------------------|
| 1 | Uvoz povijesnih upitnika i spremišta dokaza u podatkovno jezero. | Normalizirana CSV datoteka + git‑kontrolirana pohrana dokaza. |
| 2 | Implementacija webhook‑a za diff i osnovni risk model (Prophet). | Pokrenuti webhook + bilježnica prognoze rizika. |
| 3 | Izgradnja Motora Predviđanja Praznina i integracija s RAG API‑jem Procurize. | API endpoint `/predictive/suggestions`. |
| 4 | Poboljšanja UI‑ja, povratna zanka, i pilot s 2 tima. | Ploča “Prediktivni Prijedlozi”, nadzorna ploča, početni pilot. |

Nakon sprinta, iterirajte prognozne pragove, uključite eksterne signale i proširite pokrivenost na višestruke jezike upitnika.

---

## 8. Smjerovi za Budućnost

* **Federirano učenje** – Trenirajte modele rizika preko više klijenata bez razmjene sirovih podataka upitnika, čuvajući privatnost uz poboljšanje točnosti.  
* **Zero‑Knowledge Proofs** – Omogućite sustavu da dokaže svježinu dokaza bez otkrivanja samog sadržaja vanjskim revizorima.  
* **Učenje pojačanjem** – Neka model uči optimalne politike generiranja dokaza na temelju nagradnih signala iz ishoda revizija.

Prediktivni pristup otključava **proaktivnu kulturu usklađenosti**, premještajući sigurnosne timove s gašenja požara na strateško ublažavanje rizika.