
# Hybridní Retrieval‑Augmented Generation pro zabezpečenou, auditovatelnou automatizaci dotazníků

## Úvod

Bezpečnostní dotazníky, hodnocení rizik dodavatelů a audity shody představují úzké hrdlo pro rychle rostoucí SaaS společnosti. Týmy stráví nespočet hodin hledáním konkrétních ustanovení politik, sběrem verzovaných důkazů a ručním vytvářením textových odpovědí. Zatímco generativní AI dokáže samostatně vytvořit návrhy odpovědí, čistý výstup LLM často postrádá **sledovatelnost**, **rezidenci dat** a **auditovatelnost** – tři nevyjednatelné pilíře regulovaných prostředí.

Představujeme **Hybridní Retrieval‑Augmented Generation (RAG)**: návrhový vzor, který spojuje kreativitu velkých jazykových modelů (LLM) s spolehlivostí podnikového úložiště dokumentů. V tomto článku rozebereme, jak může Procur2ze integrovat hybridní RAG pipeline, aby:

* **Zaručil původ zdroje** pro každou vygenerovanou větu.  
* **Vynutil politiku‑as‑code** během běhu.  
* **Uchovával neměnné auditní záznamy**, které uspokojí externí auditory.  
* **Škáloval napříč multi‑tenant prostředím**, přičemž respektuje regionální požadavky na úložiště dat.

Pokud jste četli naše předchozí příspěvky o “AI Powered Retrieval Augmented Generation” nebo “Self Healing Compliance Knowledge Base Powered by Generative AI”, poznáte mnoho stejných stavebních bloků – tentokrát je však důraz na **zabezpečené propojení** a **orchestraci s prioritou shody**.

---

## Proč čisté odpovědi LLM nestačí

| Výzva | Přístup čistého LLM | Přístup Hybridního RAG |
|-----------|-------------------|---------------------|
| Sledovatelnost důkazů | Žádné zabudované propojení na zdrojové dokumenty | Každé vygenerované tvrzení je opatřeno ID dokumentu a verzí |
| Rezidence dat | Model může zpracovávat data odkudkoli | Fáze načítání čerpá výhradně z úložišť omezených na konkrétního nájemce |
| Auditovatelná historie změn | Obtížné rekonstruovat, proč byla věta generována | Logy načítání + metadata generování tvoří kompletní reprodukovatelnou stopu |
| Regulační shoda (např. [GDPR](https://gdpr.eu/), [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2)) | Black‑box chování, riziko „halucinací“ | Načítání zaručuje faktické ukotvení, snižuje riziko nekompatibilního obsahu |

Hybridní model **nenahrazuje** LLM; **vedou** jej, aby každá odpověď byla zakotvena v známém artefaktu.

---

## Hlavní komponenty hybridní architektury RAG

```mermaid
graph LR
    A["Uživatel odešle dotazník"] --> B["Plánovač úloh"]
    B --> C["Orchestrátor RAG"]
    C --> D["Úložiště dokumentů (neměnný store)"]
    C --> E["Velký jazykový model (LLM)"]
    D --> F["Načítač (BM25 / vektorové vyhledávání)"]
    F --> G["Top‑k relevantních dokumentů"]
    G --> E
    E --> H["Syntetizátor odpovědí"]
    H --> I["Stavitel odpovědí"]
    I --> J["Záznamník auditních logů"]
    J --> K["Zabezpečený dashboard odpovědí"]
```

*Všechny popisky uzlů jsou v uvozovkách, jak je požadováno pro Mermaid.*

### 1. Úložiště dokumentů

**Write‑once, immutable store** (např. AWS S3 Object Lock, Azure Immutable Blob nebo neporušená PostgreSQL tabulka typu append‑only). Každý shodový artefakt – policy PDF, SOC 2 potvrzení, interní kontroly – získá:

* Globálně jedinečné **Document ID**.  
* **Semantický vektor** vygenerovaný při ingestu.  
* **Verzovací razítka**, která se po publikaci již nemění.

### 2. Načítač

Načítací engine provozuje **duální režim vyhledávání**:

1. **Sparse BM25** pro přesné shody frází (užitečné pro citace regulací).  
2. **Hustá vektorová podobnost** pro kontextovou relevance (sémantické párování kontrolních cílů).

Oba režimy vrací **seřazený seznam Document ID**, který orchestrátor předá LLM.

### 3. LLM s vodítkem načítání

LLM obdrží *system prompt*, který obsahuje:

* **Direktivu pro citování**: „Všechna tvrzení musí být následována značkou citace `[DOC-{id}@v{ver}]`.“  
* **Pravidla policy‑as‑code** (např. „Nikdy neprozrazovat osobní údaje v odpovědích“).

Model pak **syntetizuje** narrativ, přičemž explicitně odkazuje na načtené dokumenty.

### 4. Syntetizátor odpovědí & Stavitel odpovědí

Syntetizátor spojí výstup LLM, naformátuje jej dle schématu dotazníku (JSON, PDF nebo markdown) a připojí **strojově čitelná citační metadata**.

### 5. Záznamník auditních logů

Každý krok je zaznamenán:

| Pole | Popis |
|-------|-------------|
| `request_id` | Jedinečné ID běhu dotazníku |
| `retrieved_docs` | Seznam Document ID + verze |
| `llm_prompt` | Úplný prompt odeslaný modelu (redigován, pokud obsahuje PII) |
| `generated_answer` | Text s citačními značkami |
| `timestamp` | ISO‑8601 UTC čas |
| `operator` | Service account, který úlohu spustil |

Logy jsou **write‑once** a uloženy vedle úložiště dokumentů jako kompletní, neporušená stopa.

---

## End‑to‑End průchod

### Krok 1 – Ingest & Indexování politik

1. Nahrajete novou verzi **[ISO 27001](https://www.iso.org/standard/27001) Statement of Applicability** do úložiště.  
2. **Ingest služba** extrahuje čistý text, vygeneruje 768‑dimenzionální vektor pomocí sentence‑transformeru a uloží vektor spolu s metadaty dokumentu.

### Krok 2 – Odeslání dotazníku

Bezpečnostní analytik vytvoří ticket v Procur2ze: „Vyplnit SOC 2 Type II dotazník pro Acme Corp.“ Plánovač úloh přidělí **request_id** (`REQ-2025-1019-001`).

### Krok 3 – Načítání

Orchestrátor rozebere otázku: *„Popište, jak je u zákaznických dat vynuceno šifrování v klidu.“*  
Pošle dotaz do načítače, který vrátí:

```
[
  { id: "DOC-ISO27001-001", version: "v3", score: 0.92 },
  { id: "DOC-Policy-Enc-002", version: "v5", score: 0.88 }
]
```

### Krok 4 – Prompt pro LLM

```
System: Jsi asistent pro shodu. Cituj každé faktické tvrzení ve formátu [DOC-{id}@v{ver}].
User: Popište, jak je u zákaznických dat vynuceno šifrování v klidu.
Context: (Vložte top‑k úryvky z výše uvedených dvou dokumentů)
```

LLM vygeneruje:

> “Veškerá zákaznická data uložená v našich AWS S3 bucketách jsou šifrována v klidu pomocí AES‑256 GCM. Šifrovací klíče spravuje AWS KMS a jsou rotovány každých 90 dnů [DOC-Policy-Enc-002@v5]. Tento postup splňuje kontrolu A.10.1 normy ISO 27001 [DOC-ISO27001-001@v3].”

### Krok 5 – Sestavení odpovědi

Stavitel odpovědí naformátuje výsledek do JSON struktury dotazníku, zachová citační značky pro následné audity.

### Krok 6 – Uložení auditní stopy

Všechny artefakty – originální dotaz, seznam načtených dokumentů, prompt pro LLM, vygenerovaná odpověď – jsou zapsány do **neměnného auditního logu**. Auditoři později mohou log dotázat a ověřit, že odpověď je plně sledovatelná.

---

## Bezpečnostní a shodové výhody

| Výhoda | Jak ji Hybridní RAG poskytuje |
|---------|--------------------------|
| **Regulační důkazy** | Přímé citace na verzované politické dokumenty |
| **Rezidence dat** | Načítání probíhá jen proti úložištím umístěným v požadované jurisdikci |
| **Snížení halucinací** | Kotování v konkrétních artefaktech omezuje volnost modelu |
| **Analýza dopadu změn** | Aktualizace dokumentu okamžitě identifikuje všechny odpovědi, které odkazovaly na předchozí verzi |
| **Zero‑knowledge proof** | Systém může generovat kryptografické proofy, že konkrétní odpověď vychází z určitého dokumentu, aniž by samotný dokument odhalil (budoucí rozšíření) |

---

## Škálování do multi‑tenant SaaS prostředí

Poskytovatel SaaS často obsluhuje desítky zákazníků, z nichž každý má vlastní shodové úložiště. Hybridní RAG škáluje takto:

1. **Izolované úložiště nájemců**: Každý nájemce má logickou partition s vlastními šifrovacími klíči.  
2. **Sdílený LLM pool**: LLM je stateless služba; požadavky zahrnují tenant ID, čímž se vynutí přístupová kontrola.  
3. **Paralelní načítání**: Vektorové vyhledávače (např. Milvus, Vespa) horizontálně škálují a zvládají miliony vektorů na nájemce.  
4. **Shardování auditních logů**: Logy jsou shardovány per tenant, ale ukládány v globálním neměnném ledgeru pro cross‑tenant reporting.

---

## Kontrolní seznam pro týmy Procur2ze

- [ ] **Zřídit neměnné úložiště** (S3 Object Lock, Azure Immutable Blob nebo append‑only DB) pro všechny shodové artefakty.  
- [ ] **Vygenerovat sémantické embeddy** během ingestu a uložit je spolu s metadaty dokumentu.  
- [ ] **Nasadit duální načítač** (BM25 + vektor) za rychlé API.  
- [ ] **Instrumentovat prompt LLM** s citačními direktivami a pravidly policy‑as‑code.  
- [ ] **Zaznamenávat každý krok** do neměnného auditního logu (např. AWS QLDB, Azure Immutable Ledger).  
- [ ] **Přidat UI pro verifikaci** v dashboardu Procur2ze, která zobrazí citované zdroje ke každé odpovědi.  
- [ ] **Provádět pravidelné shodové drill‑downy**: simulovat změny politik a ověřit, že dotčené odpovědi jsou automaticky označeny.  

---

## Budoucí směry

| Nápad | Potenciální dopad |
|------|-------------------|
| **Federované načítání** – distribuovaná úložiště napříč regiony, která se účastní zabezpečeného agregačního protokolu | Umožní globálním organizacím udržet data lokálně a přitom těžit ze sdílených znalostí modelu |
| **Zero‑Knowledge Proof (ZKP) integrace** – dokázat původ odpovědi bez odhalení samotného dokumentu | Splní extrémně přísné soukromí‑regulace (např. GDPR „právo být zapomenut“) |
| **Smyčka kontinuálního učení** – vracet opravené odpovědi zpět do pipeline fine‑tuning LLM | Zlepšuje kvalitu odpovědí v čase a zachovává auditovatelnost |
| **Engine pro vynucení policy‑as‑code** – kompilovat pravidla politik do spustitelých kontraktů, které filtrují výstup LLM | Garantuje, že žádný nepovolený jazyk (např. marketingové hype) se nepropíše do shodových odpovědí |

---

## Závěr

Hybridní Retrieval‑Augmented Generation přemosťuje propast mezi *kreativní AI* a *regulační jistotou*. Kotováním každé generované věty do neměnného, verzovaného úložiště dokumentů může Procur2ze poskytovat **zabezpečené, auditovatelné a ultra‑rychlé** odpovědi na dotazníky. Tento vzor nejen dramaticky zkracuje dobu odezvy – často z dnů na minuty – ale také buduje **živoucí shodovou znalostní bázi**, která roste s vašimi politikami a přitom splňuje nejpřísnější auditorské požadavky.

Chcete si tuto architekturu vyzkoušet? Začněte aktivací ingestu dokumentů ve vašem tenantovi Procur2ze, poté nasaděte načítač a sledujte, jak se doba vyplnění dotazníku drtivě snižuje.

---

## Další informace

- Budování neměnných auditních stop s AWS QLDB  
- Policy‑as‑Code: Vkládání shody do CI/CD pipeline  
- Zero‑Knowledge Proofs pro soukromí dat v podniku