
# Kauzální AI pro předpovídání dopadu souladu v reálném čase

Regulační prostředí se vyvíjí neuvěřitelnou rychlostí. Jedna změna v zákonu o ochraně osobních údajů může ovlivnit desítky produktových funkcí, posunout termíny vydání a změnit skóre rizika. Tradiční nástroje pro soulad reagují až po události – ve chvíli, kdy je změna zaznamenána, může být produktová roadmapa již mimo synchronizaci.  

Představujeme **kauzální AI**: kombinaci kauzálního inferování, grafových neuronových sítí (GNN) a kontinuálního streamování událostí, která předpovídá *jak* regulatorní změna ovlivní produkt **před** tím, než se změna projeví v podřízených systémech. Tento článek vás provede kompletním návrhem **Kauzální Grafové Neuronové Sítě (Causal‑GNN)** pohánějícího předpovědní model dopadu souladu, od ingestování dat po inferenci v reálném čase, a ukáže, jak začlenit předpovědi do pipeline produktu ve stylu GitOps.

---

## 1. Proč kauzální AI překonává modely založené jen na korelaci

| Aspekt | Modely založené jen na korelaci | Kauzální AI modely |
|--------|----------------------------------|--------------------|
| **Co se učí** | Statistické souběžnosti (např. „funkce X se často mění po regulaci Y“). | Orientované příčinné vztahy (např. „regulace Y *nutí* vypnout funkci X“). |
| **Robustnost vůči konfúzním proměnným** | Nízká – skryté proměnné mohou vytvářet falešné vzory. | Vysoká – kauzální grafy explicitně modelují konfúzní proměnné. |
| **Protikladové uvažování** | Není možné. | Nativní – můžete se zeptat „Co kdyby regulace Y neexistovala?“. |
| **Vysvětlitelnost** | Omezená – skóre důležitosti funkcí jsou neprůhledná. | Silná – každá hrana v grafu je lidsky čitelným kauzálním tvrzením. |

V oblasti souladu je schopnost provádět **protikladové simulace** neocenitelná. Produktoví manažeři se mohou zeptat: „Pokud bude přijata nadcházející [GDPR](https://gdpr.eu/) úprava, které API budou vyžadovat přepracování?“ a okamžitě získat kvantifikovanou předpověď dopadu.

---

## 2. Vysoká úroveň architektury

```mermaid
graph LR
    A[Event Stream Ingestion] --> B[Temporal KG Builder]
    B --> C[Causal Graph Constructor]
    C --> D[Training Pipeline]
    D --> E[Causal‑GNN Model]
    E --> F[Real‑Time Inference Service]
    F --> G[Roadmap Sync (GitOps)]
    F --> H[Explainability Dashboard]
    I[Compliance Policy Store] --> C
    J[Product Feature Registry] --> B
    K[Audit Log] --> D
```

*Obrázek 1 – End‑to‑end pipeline pro kauzální předpovědi dopadu souladu.*

1. **Event Stream Ingestion** – Kafka, Pulsar nebo Azure Event Hubs ingestují regulatorní oznámení, aktualizace politik a interní logy změn.  
2. **Temporal Knowledge Graph (KG) Builder** – Normalizuje události do časově orientovaného KG (entity: regulace, funkce, kontroly; vztahy: „ovlivňuje“, „vyžaduje“).  
3. **Causal Graph Constructor** – Aplikuje doménově specifické metody kauzálního objevu (např. PC algoritmus, NOTEARS) k orientaci hran a přiřazení skóre důvěry.  
4. **Training Pipeline** – Generuje dozorované i samouzorčující úlohy (predikce hran, kontrafaktuální ztráta) pro trénink Causal‑GNN.  
5. **Real‑Time Inference Service** – Exponuje gRPC/REST endpoint, který přijímá scénář „co‑kdyby“ a vrací dopadové skóre pro každou funkci.  
6. **Roadmap Sync (GitOps)** – Automaticky otevře pull request v repozitáři produktové roadmapy s navrhovanými úpravami a odůvodněním.  
7. **Explainability Dashboard** – Vizualizuje kauzální podgraf, který spustil každou předpověď, podporuje audit a revize souladu.

---

## 3. Kontinuální ingestování dat řízené událostmi

### 3.1 Zdroje

| Zdroj | Příklad | Normalizace |
|--------|---------|-------------|
| Regulační kanály (EU, US, APAC) | XML/JSON z EUR‑LEX, Federal Register | Entita: `Regulation`, Atributy: `jurisdiction`, `effectiveDate`, `textHash`. |
| Interní repozitář politik (Git) | Markdown soubory s politikami | Entita: `Policy`, Vztah: `implements` → `Regulation`. |
| Logy změn produktu (Jira, Git commits) | Issue #1234 „Přidat šifrování v klidu“ | Entita: `Feature`, Vztah: `modifies` → `Control`. |
| Externí hrozby (STIX) | Aktualizace MITRE ATT&CK | Entita: `Threat`, Vztah: `exposes` → `Control`. |

### 3.2 Streamovací pipeline

```goat
pipeline:
  - name: kafka_consumer
    type: source
    config:
      brokers: ["kafka01:9092"]
      topics: ["regulatory_updates","policy_commits","feature_events"]
  - name: schema_enforcer
    type: transform
    script: |
      // Validate against JSON schema, enrich with timestamps
  - name: temporal_kg_writer
    type: sink
    config:
      endpoint: "http://kg-service:8080/ingest"
```

*Obrázek 2 – Minimalistický GoAT‑styl pipeline (ilustrační; skutečná implementace používá Kafka Connect nebo Flink).*

Pipeline zajišťuje **exactly‑once** semantiku, což je klíčové pro kauzální objevování, kde duplicitní hrany narušují odhady důvěry.

---

## 4. Vytváření kauzálního znalostního grafu

### 4.1 Model temporálního KG

Každý trojice je uložena s intervalem platnosti `[t_start, t_end]`. Příklad:

```
(Regulation: GDPR‑2024, affects, Feature: UserDataExport) [2024‑04‑01, ∞)
```

Temporální indexování umožňuje **časově řezané** kauzální objevy, takže model může naučit, že dopad regulace se může vyvíjet (např. počáteční termín souladu vs. pozdější vymáhací akce).

### 4.2 Kauzální objevy

1. **Constraint‑Based** – PC algoritmus na matici sousednosti odvozené z četností souběžností.  
2. **Score‑Based** – NOTEARS s penalizací sparsity, aby se zabránilo nadměrnému propojování grafu.  
3. **Doménové předpoklady** – Zakódujte známé regulatorní hierarchie (např. „Zákon o ochraně dat → Kategorie osobních údajů“) jako tvrdé omezení.

Výstupem je **orientovaný acyklický graf (DAG)**, kde každá hrana nese váhu `w ∈ [0,1]` představující sílu kauzality.

---

## 5. Trénink Causal‑GNN

### 5.1 Volba modelu

Používáme **Relational Graph Convolutional Network (RGCN)** rozšířený o **Temporal Attention**, aby zachytil časově proměnlivé vlivy.

```python
class CausalGNN(nn.Module):
    def __init__(self, num_relations, hidden_dim):
        super().__init__()
        self.rgcn = RGCN(num_relations, hidden_dim, num_bases=30)
        self.time_attn = nn.MultiheadAttention(embed_dim=hidden_dim, num_heads=4)
        self.fc_out = nn.Linear(hidden_dim, 1)  # impact score

    def forward(self, g, node_feats, timestamps):
        h = self.rgcn(g, node_feats)
        # Apply temporal attention
        h = self.time_attn(h, h, h, key_padding_mask=self._mask(timestamps))[0]
        return torch.sigmoid(self.fc_out(h))
```

### 5.2 Ztrátové funkce

* **Link Prediction Loss** – Binární cross‑entropy na pozorovaných hranách.  
* **Counterfactual Loss** – Pro každou trénovací událost `e` vytvoří syntetickou verzi „co‑kdyby“, kde je regulace přepnuta; penalizuje odchylku od skutečného dopadu.  
* **Regularizace** – L1 na vahách hran, aby se podpořila sparsita a soulad s důvěrou z kauzálního objevu.

### 5.3 Tréninkový režim

| Fáze | Data | Cíl |
|------|------|-----|
| Warm‑up | Historický statický KG | Pouze link prediction |
| Causal fine‑tune | Posuvná okna 30 dní | Counterfactual loss + link loss |
| Online update | Real‑time stream (mini‑batch) | Inkremetální gradientní krok, decay váhy |

Trénink běží na GPU‑povolném Kubernetes node poolu; modelové checkpointy jsou verzovány v **MLflow** registru, což umožňuje reprodukovatelné audity.

---

## 6. Služba inferencí v reálném čase

Služba inferencí přijímá **payload scénáře**:

```json
{
  "regulation_id": "GDPR-2024-Article-15",
  "effective_date": "2024-07-01",
  "what_if": "enforced"
}
```

Služba:

1. Načte podgraf dosažitelný z regulace v konfigurovatelném horizontu (např. 3 skoky).  
2. Aplikuje Causal‑GNN k výpočtu **dopadového vektoru** `I_f ∈ [0,1]^N`, kde `N` je počet funkcí.  
3. Vrátí seřazený seznam funkcí s konfidenčními skóry a **kauzální stopou** (minimální množina hran, která vysvětluje skóre).

Příklad odpovědi:

```json
{
  "impacts": [
    {"feature":"UserDataExport","score":0.92,"trace":["Regulation→Feature","Feature→Control"]},
    {"feature":"AuditLogRetention","score":0.45,"trace":["Regulation→Control"]},
    {"feature":"ThirdPartyAPI","score":0.12,"trace":["Regulation→Feature"]}
  ],
  "generated_at":"2026-09-06T14:23:11Z"
}
```

Služba je kontejnerizovaná, automaticky škálovaná pomocí **KEDA** a zabezpečená vzájemným TLS.

---

## 7. Zapracování předpovědí do produktových roadmap (GitOps)

### 7.1 Automatizace pull‑requestů

**GitHub Action** sleduje inference endpoint. Když předpověď překročí konfigurovaný rizikový práh (např. `score > 0.8`), provede:

1. Vygeneruje markdown soubor `compliance/impact-<regulation>.md` shrnující předpověď.  
2. Otevře PR proti repozitáři `roadmap` s novým milníkem nebo úpravou termínů sprintu.  
3. Označí odpovědného produktového vlastníka a vedoucího souladu.

### 7.2 Lidská kontrola (Human‑In‑the‑Loop)

Šablona PR obsahuje **diagram kauzální stopy** (Mermaid), který produktoví vlastníci mohou rozbalit:

```mermaid
graph TD
    R["Regulation GDPR‑2024‑Art‑15"] --> F1["Feature: UserDataExport"]
    F1 --> C1["Control: DataEncryption"]
    R --> C2["Control: RetentionPolicy"]
```

Zainteresované strany mohou komentovat, požadovat další důkazy nebo schválit změnu, čímž se zajišťuje auditovatelnost AI návrhů.

---

## 8. Governance, vysvětlitelnost a audit

| Obava | Opatření |
|-------|----------|
| **Model drift** | Přetrénování týdně s čerstvými okny událostí; monitorování validační ztráty. |
| **Bias v kauzálním objevu** | Vynucení doménových omezení; provádění kontrol fairness na vahách hran. |
| **Regulační audit** | Ukládání každého požadavku a odpovědi inferencí do neměnného ledgeru (např. AWS QLDB). |
| **Vysvětlitelnost** | Poskytování skóre důvěry na úrovni hran; umožnění uživatelům rozkliknout zdrojové dokumenty. |
| **Ochrana soukromí** | Všechny ingestní pipeline maskují PII; používá se diferencovaná soukromí při agregaci počtů pro kauzální objevy. |

---

## 9. Kontrolní seznam implementace

- [ ] Nastavit platformu pro streamování událostí (Kafka) a definovat topiky.  
- [ ] Vybudovat temporální KG službu s Neo4j nebo JanusGraph (časově indexované hrany).  
- [ ] Implementovat pipeline kauzálního objevu (PC/NOTEARS) s doménovými předpoklady.  
- [ ] Vyvinout Causal‑GNN model a tréninkové skripty (PyTorch Geometric).  
- [ ] Nasadit inferenční službu s autoscalingem a mTLS.  
- [ ] Vytvořit GitHub Action pro automatizaci PR a generování Mermaid stop.  
- [ ] Integrovat auditní logování do neměnného úložiště.  
- [ ] Nastavit monitorovací dashboardy (Prometheus + Grafana) pro latenci, chybovost a zdraví modelu.  

---

## 10. Budoucí směřování

1. **Multimodální fúze důkazů** – Spojit textové úryvky politik, OCR výstupy PDF a strukturovaný STIX intel do jednotného uzlového embeddingu.  
2. **Validace pomocí Zero‑Knowledge Proof** – Umožnit dodavatelům prokázat soulad bez odhalení proprietárních detailů, přičemž důkaz se vloží do grafu jako důvěryhodná hrana.  
3. **Self‑Healing KG** – Použít reinforcement learning k automatickému navrhování oprav hran, když audity odhalí falešné poplachy.  
4. **Transfer learning napříč regulacemi** – Předtrénovat Causal‑GNN na globálním korpusu regulací a poté doladit pro konkrétní jurisdikci, čímž se sníží požadavky na data.  

---

## Závěr

Kauzální AI mění soulad z reaktivního kontrolního úkolu na **prediktivní rozhodovací engine**, který mluví jazykem produktových roadmap. Spojením kontinuálního streamování událostí, temporálně orientovaného znalostního grafu a speciálně navrženého Causal‑GNN mohou organizace předpovídat regulatorní dopad během sekund, provádět kontrafaktuální „co‑kdyby“ simulace a automaticky sladit vývojové plány pomocí GitOps. Výsledkem je **jediný zdroj pravdy**, který udržuje compliance, inženýrství i obchodní stakeholdery v synchronizaci – a proměňuje regulatorní turbulence v strategickou výhodu.

---

## Viz také

- [Temporal Graph Neural Networks for Event‑Driven Analytics (NeurIPS 2024)](https://arxiv.org/abs/2406.11234)  
- [Causal Discovery in Knowledge Graphs: A Survey (IEEE Transactions on Knowledge and Data Engineering)](https://ieeexplore.ieee.org/document/10234567)  
- [GitOps for Continuous Compliance (GitHub Blog)](https://github.blog/2025-03-12-gitops-compliance/)