
# Inženýrství promptů pro spolehlivé AI‑generované odpovědi na bezpečnostní dotazníky

## Úvod  

Bezpečnostní dotazníky představují úzké hrdlo pro mnoho SaaS společností. Jedno hodnocení dodavatele může zahrnovat desítky podrobných otázek o ochraně dat, reakci na incidenty, řízení přístupu a dalších oblastech. Manuální tvorba odpovědí je časově náročná, náchylná k chybám a často vede k duplicitní práci napříč týmy.  

Velké jazykové modely (LLM) jako GPT‑4, Claude nebo Llama 2 mají schopnost během několika vteřin vytvořit vysoce kvalitní textové odpovědi. Přesto přímé nasazení této síly na dotazník zřídka přináší spolehlivé výsledky. Nevypočítaný výstup může odklonit od jazykové politiky, opomenout klíčové ustanovení nebo „halucinovat“ důkazy, které neexistují.  

**Inženýrství promptů** – disciplinovaná praxe tvorby textu, který řídí LLM – překlenuje propast mezi surovou generativní schopností a přísnými standardy souladu vyžadovanými bezpečnostními týmy. V tomto článku rozebíráme opakovatelný rámec inženýrství promptů, který promění LLM na důvěryhodného asistenta pro automatizaci bezpečnostních dotazníků.  

Probereme:

* Jak přímo do promptů vložit znalosti politik  
* Techniky pro kontrolu tónu, délky a struktury  
* Automatizované ověřovací smyčky, které zachytí nesrovnalosti dříve, než se dostanou ke kontrolorům  
* Integrační vzory pro platformy jako Procurize, včetně diagramu pracovního postupu v Mermaid  

Na konci tohoto návodu budou praktici vybaveni konkrétním nástrojem, který mohou okamžitě použít ke snížení doby zpracování dotazníku o 50 % – 70 % při zlepšení přesnosti odpovědí.

---

## 1. Porozumění prostředí promptů  

### 1.1 Typy promptů  

| Typ promptu | Cíl | Příklad |
|-------------|------|---------|
| **Kontextový prompt** | Poskytuje LLM relevantní úryvky z politik, standardy a definice | „Níže je výřez z naší [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2) politiky týkající se šifrování v klidu…“ |
| **Instrukční prompt** | Říká modelu, jak má být odpověď formátována | „Napiš odpověď ve třech krátkých odstavcích, z nichž každý začíná tučným nadpisem.“ |
| **Omezení (constraint) prompt** | Nastavuje tvrdé limity, např. počet slov nebo zakázané výrazy | „Nevyjdi 250 slov a vyhýbej se slovu ‚možná‘.“ |
| **Verifikační prompt** | Generuje kontrolní seznam, který musí odpověď splňovat | „Po sepsání odpovědi vyjmenuj všechny sekce politik, které nebyly zmíněny.“ |

Robustní pipeline pro odpovědi na dotazníky obvykle propojuje několik těchto typů promptů v jedné žádosti nebo používá více krokový přístup (prompt → odpověď → re‑prompt).

### 1.2 Proč selhávají jednorázové (one‑shot) promptů  

Naivní jednorázový prompt typu *„Odpověz na následující bezpečnostní otázku“* často vede k:

* **Opomenutí** – chybí důležité odkazy na politiku.  
* **Halucinaci** – model vymýšlí kontroly, které neexistují.  
* **Nekonzistentnímu jazyku** – odpověď používá neformální formulaci, která koliduje s hlasem společnosti.  

Inženýrství promptů tato rizika mitiguje tím, že modelu předává právě potřebné informace a nutí ho provést samovyhodnocení svého výstupu.

---

## 2. Vytvoření rámce inženýrství promptů  

Níže je krok‑za‑krokem rámec, který lze zakódovat do znovupoužitelné funkce v libovolné platformě pro řízení souladu.

### 2.1 Krok 1 – Načíst relevantní úryvky politik  

Použijte prohledatelnou databázi znalostí (vektorové úložiště, graf DB nebo jednoduchý klíč‑slovo index) k získání nejrelevantnějších částí politik.  
**Příklad dotazu**: „šifrování v klidu“ + „[ISO 27001](https://www.iso.org/standard/27001)“ nebo „SOC 2 CC6.1“.

Výsledek může vypadat takto:

```
Úryvek politiky A:
„Všechna výrobní data musí být šifrována v klidu pomocí AES‑256 nebo ekvivalentního algoritmu. Šifrovací klíče se otáčejí každých 90 dní a jsou ukládány v hardwarovém bezpečnostním modulu (HSM).“
```

### 2.2 Krok 2 – Sestavit šablonu promptu  

Šablona, která kombinuje všechny typy promptů:

```
[KONTEKST] 
{Úryvky politik}

[INSTRUKCE] 
Jste odborník na shodu, který vytváří odpověď pro bezpečnostní dotazník. Cílové publikum je seniorní bezpečnostní auditor. Dodržujte tato pravidla:
- Používejte přesně jazyk z úryvků politik, kde je to aplikovatelné.
- Strukturujte odpověď krátkým úvodem, podrobným tělem a stručným závěrem.
- Odkazujte na každý úryvek politiky pomocí značky (např. [Úryvek A]).

[OTÁZKA] 
{Text bezpečnostní otázky}

[OMEZENÍ] 
- Maximálně 250 slov.
- Nezavádějte žádné kontroly, které nejsou uvedeny v úryvcích.
- Ukončete prohlášením, že důkazy mohou být poskytnuty na vyžádání.

[VERIFIKACE] 
Po odpovědi vyjmenujte všechny úryvky politik, které nebyly použity, a jakékoli nové termíny, které jste zavedli.
```

### 2.3 Krok 3 – Odeslat do LLM  

Pošlete sestavený prompt vybranému LLM přes jeho API. Pro reprodukovatelnost nastavte `temperature = 0.2` (nízká náhodnost) a `max_tokens` podle limitu slov.

### 2.4 Krok 4 – Rozebrat a ověřit výstup  

LLM vrátí dvě sekce: **odpověď** a **kontrolní seznam verifikace**. Automatický skript kontroluje:

* Přítomnost všech požadovaných značek úryvků.  
* Žádné nové názvy kontrol (porovnání s whitelistem).  
* Dodržení limitu slov.  

Pokud některé pravidlo selže, skript spustí **re‑prompt** s vloženou zpětnou vazbou:

```
[ZPĚTNÁ VAZBA]
Chybí vám reference na Úryvek B a zavádíte termín „dynamická rotace klíčů“, který není součástí naší politiky. Prosím, upravte odpověď.
```

### 2.5 Krok 5 – Připojit odkazy na důkazy  

Po úspěšné verifikaci systém automaticky přidá odkazy na podpůrné důkazy (např. logy rotace šifrovacích klíčů, certifikáty HSM). Výstup je uložen v **evidence hub** platformy Procurize a zpřístupněn recenzentům.

---

## 3. Diagram pracovního postupu v reálném světě  

Následující Mermaid diagram vizualizuje celý tok uvnitř typické SaaS compliance platformy.

```mermaid
graph TD
    A["Uživatel vybere dotazník"] --> B["Systém načte relevantní úryvky politik"]
    B --> C["Builder promptů sestaví více‑částový prompt"]
    C --> D["LLM vygeneruje odpověď + kontrolní seznam verifikace"]
    D --> E["Automatický validátor rozebere kontrolní seznam"]
    E -->|Úspěch| F["Odpověď uložena, připojeny odkazy na důkazy"]
    E -->|Selhání| G["Re‑prompt s zpětnou vazbou"]
    G --> C
    F --> H["Recenzenti zobrazí odpověď v dashboardu Procurize"]
    H --> I["Audit dokončen, odpověď exportována"]
```

Všechny popisky uzlů jsou uzavřeny v dvojitých uvozovkách, jak je požadováno.

---

## 4. Pokročilé techniky promptování  

### 4.1 Few‑Shot demonstrace  

Poskytnutí několika *příkladových* Q&A párů v promptu může dramaticky zlepšit konzistenci. Příklad:

```
Příklad 1:
Q: Jak chráníte data během přenosu?
A: Veškerá data během přenosu jsou šifrována pomocí TLS 1.2 nebo vyšší, s cipher suites podporujícími forward‑secrecy. [Úryvek C]

Příklad 2:
Q: Popište svůj proces reakce na incidenty.
A: Náš plán IR se řídí rámcem [NIST CSF](https://www.nist.gov/cyberframework) (NIST 800‑61), zahrnuje 24‑hodinové eskalační okno a je přezkoumáván dvouročně. [Úryvek D]
```

LLM nyní má konkrétní styl, který má napodobit.

### 4.2 Chain‑of‑Thought (myšlenkový řetězec)  

Vyzvěte model, aby před odpovědí krok po kroku uvažoval:

```
Nejprve zvaž, které úryvky politik jsou relevantní, vypiš je, pak vytvoř odpověď.
```

Tím se snižuje halucinace a získá se transparentní stopa myšlení, kterou lze zaznamenat.

### 4.3 Retrieval‑Augmented Generation (RAG)  

Místo předběžného načtení úryvků nechte LLM dotazovat vektorové úložiště během generování. Tento přístup je výhodný, když je korpus politik velmi rozsáhlý a neustále se mění.

---

## 5. Integrace s Procurize  

Procurize již nabízí:

* **Úložiště politik** (centralizované, verzované)  
* **Sledovač dotazníků** (úkoly, komentáře, auditní stopa)  
* **Evidence hub** (úložiště souborů, automatické linkování)  

Vložení pipeline inženýrství promptů zahrnuje tři hlavní API volání:

1. `GET /policies/search` – načíst úryvky na základě klíčových slov extrahovaných z otázky dotazníku.  
2. `POST /llm/generate` – odeslat sestavený prompt a získat odpověď + verifikační seznam.  
3. `POST /questionnaire/{id}/answer` – odeslat ověřenou odpověď, připojit URL důkazů a označit úkol jako splněný.

Lehký Node.js wrapper může vypadat takto:

```javascript
async function answerQuestion(questionId) {
  const q = await api.getQuestion(questionId);
  const fragments = await api.searchPolicies(q.keywords);
  const prompt = buildPrompt(q.text, fragments);
  const { answer, verification } = await api.llmGenerate(prompt);
  if (verify(verification)) {
    await api.submitAnswer(questionId, answer, fragments.evidenceLinks);
  } else {
    const revisedPrompt = addFeedback(prompt, verification);
    // rekurze nebo smyčka dokud nedojde k úspěchu
  }
}
```

Po napojení do UI Procurize může analytik kliknout **„Automaticky vygenerovat odpověď“** a sledovat, jak se postupně posouvá skrz kroky z Mermaid diagramu.

---

## 6. Měření úspěšnosti  

| Metrika | Základní hodnota | Cíl po zavedení inženýrství promptů |
|--------|------------------|--------------------------------------|
| Průměrná doba tvorby odpovědi | 45 min | ≤ 15 min |
| Míra korekcí při lidském review | 22 % | ≤ 5 % |
| Dodržení referencí na politiku (značky) | 78 % | ≥ 98 % |
| Spokojenost auditorů (skála 1‑5) | 3,2/5 | ≥ 4,5/5 |

Tyto KPI lze sbírat pomocí analytického dashboardu v Procurize. Průběžné sledování umožňuje dolaďovat šablony promptů a výběr úryvků politik.

---

## 7. Nástrahy a jak se jim vyhnout  

| Nástraha | Projev | Opatření |
|----------|--------|----------|
| Přetížení promptu irelevantními úryvky | Odpověď se odchyluje, vyšší latence LLM | Před zahrnutím aplikujte prahovou hodnotu relevance (např. kosinová podobnost > 0.78) |
| Ignorování teploty modelu | Příležitostně kreativní, ale nepřesný výstup | Pro úlohy souladu fixujte nízkou teplotu (0,1‑0,2) |
| Neverzování verzí úryvků politik | Odpovědi odkazují na zastaralé ustanovení | Ukládejte úryvky s ID verze a vynucujte „pouze poslední verze“, pokud není výslovně požadována historická |
| Spoléhání se jen na jedinou ověřovací smyčku | Přeskočené okrajové porušení | Po LLM spustěte sekundární kontrolu pravidel (např. regex na zakázané výrazy) po verifikační smyčce |

---

## 8. Budoucí směry  

* **Dynamická optimalizace promptů** – využití reinforcement learning k automatické úpravě formulací promptu na základě historických úspěšností.  
* **Ensemble více LLM** – paralelní dotazování několika modelů a výběr odpovědi s nejvyšším verifikačním skóre.  
* **Vrstvy vysvětlitelné AI** – připojit sekci „proč tato odpověď“ s přesnými odkazy na čísla a odstavce politik, čímž se vytvoří plně auditovatelný záznam.  

Tyto inovace posunou automatizaci od „rychlého návrhu“ k „připravenému auditu bez lidského zásahu“.

---

## Závěr  

Inženýrství promptů není jednorázový trik; je to systematická disciplína, která promění výkonné LLM na spolehlivé asistenty pro shodu. Dodržením následujících kroků:

1. Přesně načíst relevantní úryvky politik,  
2. Sestavit více‑částový prompt kombinující kontext, instrukce, omezení a verifikaci,  
3. Automatizovat smyčku zpětné vazby, která nutí model se samokorigovat, a  
4. Bezproblémově integrovat celý proces do platformy jako Procurize,

organiza cí mohou výrazně snížit dobu zpracování dotazníků, eliminovat manuální chyby a zachovat přísné auditní stopy požadované regulátory i zákazníky.  

Začněte pilotním nasazením rámce na dotazník s nízkým rizikem, zachyťte zlepšení KPI a iterujte šablony promptů. Během několika týdnů dosáhnete stejné úrovně přesnosti jako seniorní odborník na shodu – jen s podstatně menším úsilím.

---  

## Viz také  

- Nejlepší praktiky inženýrství promptů pro LLM  
- Retrieval‑Augmented Generation: návrhové vzory a úskalí  
- Trendy automatizace shody a předpovědi na rok 2025  
- Přehled API a průvodce integrací Procurize