
# Adaptivní motor přiřazování důkazů poháněný grafovými neuronovými sítěmi

Ve světe rychle se vyvíjejících hodnocení bezpečnosti SaaS jsou dodavatelé nuceni odpovědět na desítky regulatorních dotazníků — [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2), [ISO 27001](https://www.iso.org/standard/27001), [GDPR](https://gdpr.eu/), a neustále se rozšiřující seznam odvětvově specifických průzkumů. Manuální úsilí při vyhledávání, přiřazování a aktualizaci důkazů ke každé otázce vytváří úzká místa, zavádí lidské chyby a často vede k zastaralým odpovědím, které již neodrážejí aktuální bezpečnostní postoj.

**Procurize** již sjednocuje sledování dotazníků, kolaborativní revize a AI‑generované návrhy odpovědí. Dalším logickým krokem je **Adaptivní motor přiřazování důkazů (AEAE)**, který automaticky propojí správný důkaz s každou položkou dotazníku, vyhodnotí důvěru tohoto propojení a vrátí v reálném čase **Skóre důvěry** zpět na panel souladnosti.

Tento článek představuje kompletní návrh takového motoru, vysvětluje, proč jsou **grafové neuronové sítě (GNN)** ideálním základem, a ukazuje, jak lze řešení integrovat do existujících pracovních toků Procurize a dosáhnout měřitelných zlepšení v rychlosti, přesnosti a auditovatelnosti.

---  

## Proč grafové neuronové sítě?

Tradiční vyhledávání založené na klíčových slovech funguje dobře pro jednoduché vyhledávání dokumentů, ale mapování důkazů k dotazníkům vyžaduje hlubší pochopení **semantických vztahů**:

| Výzva | Vyhledávání podle klíčových slov | GNN‑založené uvažování |
|-----------|----------------|---------------------|
| Důkazy z více zdrojů (politiky, revize kódu, logy) | Omezeno na přesné shody | Zachycuje závislosti napříč dokumenty |
| Kontextově citlivá relevance (např. „šifrování v klidu“ vs „šifrování během přenosu“) | Nejasné | Učí se vektory uzlů, které kódují kontext |
| Měnící se regulatorní jazyk | Křehké | Přizpůsobuje se automaticky při změně struktury grafu |
| Vysvětlitelnost pro auditory | Minimum | Poskytuje skóre přiřazení na úrovni hran |

GNN považuje každý důkaz, každou položku dotazníku a každou regulatorní klauzuli za **uzel** v heterogenním grafu. Hrany kódují vztahy jako *„citují“, „aktualizuje“, „pokrývá“* nebo *„jsou v rozporu s“*. Propagací informací napříč grafem se síť naučí odhadnout nejpravděpodobnější důkaz pro danou otázku, i když je přímý překryv klíčových slov malý.

---  

## Základní datový model

```goat
graph LR
    "QuestionnaireItem" -->|"covers"| "RegulationClause"
    "RegulationClause" -->|"referenced_by"| "PolicyDocument"
    "PolicyDocument" -->|"contains"| "EvidenceArtifact"
    "EvidenceArtifact" -->|"linked_to"| "LogEntry"
    "LogEntry" -->|"generated_by"| "SystemComponent"
```

* Všechny štítky uzlů jsou uzavřeny v uvozovkách, jak je vyžadováno.  
* Graf je **heterogenní**: každý typ uzlu má svůj vlastní vektor vlastností (textová embedování, časová razítka, úroveň rizika atd.).  
* Hrany jsou typované, což umožňuje GNN aplikovat různá pravidla předávání zpráv podle vztahu.

### Sestavování vlastností uzlů

| Typ uzlu | Primární vlastnosti |
|-----------|------------------|
| QuestionnaireItem | Embedování textu otázky (SBERT), značka rámce souladnosti, priorita |
| RegulationClause | Embedování právního jazyka, jurisdikce, požadované kontroly |
| PolicyDocument | Embedování názvu, číslo verze, datum poslední revize |
| EvidenceArtifact | Typ souboru, embedování textu získaného OCR, skóre důvěry z Document AI |
| LogEntry | Strukturovaná pole (časové razítko, typ události), ID komponenty systému |
| SystemComponent | Metadata (název služby, kritičnost, certifikace souladnosti) |

Všechny textové vlastnosti jsou získány z **pipeline retrieval‑augmented generation (RAG)**, která nejprve vytáhne relevantní pasáže a poté je zakóduje pomocí doladěného transformátoru.

---  

## Inferenční potrubí

1. **Sestavení grafu** – při každé události ingestování (nové nahrání politiky, export logu, vytvoření dotazníku) potrubí aktualizuje globální graf. Inkrementální grafové databáze jako **Neo4j** nebo **RedisGraph** zvládají mutace v reálném čase.  
2. **Obnovení embedování** – nový text spustí background job, který přepočítá embedování a uloží je do vektorového úložiště (např. **FAISS**).  
3. **Předávání zpráv** – model **heterogenní GraphSAGE** provede několik kroků propagace a vytvoří latentní vektory pro každý uzel, které již obsahují kontextové signály od sousedních uzlů.  
4. **Skórování důkazů** – pro každý `QuestionnaireItem` model spočítá **softmax** nad všemi dosažitelnými uzly `EvidenceArtifact`, čímž vznikne pravděpodobnostní distribuce `P(důkaz|otázka)`. Top‑k důkazů se zobrazí recenzentovi.  
5. **Přiřazení důvěry** – váhy pozornosti na úrovni hran jsou vystaveny jako **skóre vysvětlení**, což auditorům umožňuje vidět *proč* byl navržen konkrétní dokument (např. „vysoká pozornost na hraně „covers“ k Regulační klauzuli 5.3“).  
6. **Aktualizace skóre důvěry** – celkové skóre důvěry dotazníku je váženou agregací důvěry důkazů, úplnosti odpovědí a aktuálnosti podkladových artefaktů. Skóre je vizualizováno na panelu Procurize a může spouštět upozornění, pokud spadne pod definovaný práh.

### Pseudokód

```goat
function update_attribution(question_id):
    subgraph = fetch_subgraph(question_id, depth=3)
    node_embeds = encode_nodes(subgraph.nodes)
    graph = build_heterogeneous_graph(subgraph, node_embeds)
    model = load_gnn('aeae_v1')
    node_repr = model.forward(graph)
    scores = softmax(node_repr['EvidenceArtifact'])
    top_evidence = select_top(scores, k=5)
    confidence = extract_attention_weights(model)
    return top_evidence, confidence
```

Syntaxe `goat` slouží jen ilustrativně; skutečná implementace běží v Pythonu/TensorFlow nebo PyTorch.

---  

## Integrace s pracovními toky Procurize

| Procurize funkce | AEAE hook |
|-------------------|------------|
| **Tvůrce dotazníků** | Navrhuje důkazy během psaní otázky, čímž snižuje čas manuálního hledání |
| **Přiřazení úkolů** | Automaticky vytváří revizní úkoly pro důkazy s nízkou důvěrou a směruje je k odpovědnému vlastníku |
| **Vlákno komentářů** | Vkládá tepelné mapy důvěry vedle každého návrhu, umožňující transparentní diskusi |
| **Auditní stopa** | Ukládá metadata inferencí GNN (verze modelu, pozornost hran) spolu s rekordem důkazu |
| **Synchronizace externího nástroje** | Exponuje REST endpoint (`/api/v1/attribution/:qid`), který CI/CD pipeline může volat pro ověření souladnosti před vydáním |

Protože motor pracuje na **neměnných snímcích grafu**, lze každé výpočty skóre důvěry reprodukovat později, což splňuje i nejnáročnější auditní požadavky.

---  

## Praktické výhody v reálném provozu

### Zisk rychlosti

| Metrika | Manuální proces | S AEAE asistovaným |
|--------|----------------|--------------------|
| Průměrná doba nalezení důkazu na otázku | 12 min | 2 min |
| Doba zpracování celého dotazníku | 5 dní | 18 hodin |
| Únava recenzenta (kliknutí na otázku) | 15 | 4 |

### Zlepšení přesnosti

* **Preciznost top‑1 důkazu** vzrostla ze 68 % (klíčová slova) na 91 % (GNN).  
* **Variabilita celkového skóre důvěry** se snížila o 34 %, což indikuje stabilnější odhady stavu souladnosti.

### Úspora nákladů

* Méně externích konzultačních hodin na mapování důkazů (odhadem úspora 120 000 $ ročně pro středně velký SaaS).  
* Snížené riziko sankcí za nesoulad kvůli zastaralým odpovědím (potenciální úspora 250 000 $ pokut).

---  

## Bezpečnostní a správcovské úvahy

1. **Transparentnost modelu** – vrstva vysvětlení založená na pozornosti je povinná pro regulatorní souladnost (např. EU AI Act). Veškeré logy inferencí jsou podepsány firemním soukromým klíčem.  
2. **Ochrana soukromí** – citlivé artefakty jsou šifrovány v klidu pomocí **důvěrných výpočetních enkláv**; pouze inference engine GNN je oprávněn je během předávání zpráv dešifrovat.  
3. **Verzování** – každá aktualizace grafu vytvoří nový neměnný snímek uložený v **Merkle‑based ledger**, což umožňuje rekonstrukci v konkrétním čase pro audity.  
4. **Zmírnění biasu** – pravidelné audity porovnávají rozdělení přiřazení napříč regulatorními doménami, aby model neupřednostňoval určité rámce.

---  

## Nasazení motoru v 5 krocích

1. **Zprovoznění grafové databáze** – nasadit Neo4j cluster s HA konfigurací.  
2. **Import existujících aktiv** – spustit migrační skript, který načte všechny současné politiky, logy a položky dotazníků do grafu.  
3. **Trénink GNN** – použít poskytnutý notebook; začít s předtrénovaným `aeae_base` a doladit na vlastních označených přiřazeních důkazů.  
4. **Integrace API** – přidat endpoint `/api/v1/attribution` do instance Procurize; nakonfigurovat webhooky, aby se spouštěly při vytvoření nového dotazníku.  
5. **Monitorování a iterace** – nastavit Grafana dashboardy pro sledování driftu modelu, distribuce důvěry a trendů skóre důvěry; naplánovat čtvrtletní retrenink.

---  

## Možné budoucí rozšíření

* **Federované učení** – sdílet anonymizovaná grafová embedování mezi partnery pro zlepšení přiřazování důkazů bez odhalování proprietárních dokumentů.  
* **Zero‑Knowledge proofy** – umožnit auditorům ověřit, že důkaz splňuje klauzuli, aniž by odhalili samotný artefakt.  
* **Více‑modální vstupy** – zahrnout screenshoty, architektonické diagramy a video‑procházky jako další typy uzlů, čímž se obohatí kontext modelu.

---  

## Závěr

Spojením **grafových neuronových sítí** s AI‑platformou Procurize se Adaptivní motor přiřazování důkazů mění z reaktivní, pracně náročné činnosti na proaktivní, datově řízený proces. Týmy získají rychlejší průchod, vyšší důvěru a transparentní auditní stopu — kritické výhody v trhu, kde může důvěra v bezpečnost rozhodnout o úspěchu obchodu.

Využijte sílu relační AI již dnes a sledujte, jak vaše skóre důvěry roste v reálném čase.

---  

## <span class='highlight-content'>Viz</span> Also

- [Přehled důvěrného výpočtu – Microsoft Azure](https://learn.microsoft.com/azure/confidential-computing/overview)