
# Käsurea inseneerimine usaldusväärsete AI‑genereeritud turvaküsimustike vastuste jaoks

## Sissejuhatus  

Turvaküsimustikud on kitsaskohaks paljudele SaaS‑ettevõtetele. Üksainsuslik müügipartneri hinnang võib hõlmata kuidukatesid üksikasjalikke küsimusi andmekaitse, intsidentide reageerimise, juurdepääsukontrolli jms kohta. Käsitsi vastuste koostamine on aeganõudev, vigadele altid ja sageli viib tiimide dubleeritud tööni.  

Suured keelemudelid (LLM‑id), nagu GPT‑4, Claude või Llama 2, suudavad mõne sekundi jooksul koostada kvaliteetseid narratiivseid vastuseid. Kuid selle võime otse küsimustikule rakendamine ei anna harva usaldusväärseid tulemusi. Toores väljundis võib keelekasutus kõrvalekalduda poliitika sõnastusest, kritilisi lauseid puududa või ilmnevad "hullumeelsed" tõendid, mida tegelikult ei eksisteeri.  

**Käsurea inseneerimine** — distsiplineeritud praktika, mille käigus kujundatakse tekst, mis juhib LLM‑i — ühendab toores generatiivvõime ja turvateenuste rangete vastavusstandardite vahele olevad lõhed. Selles artiklis võetakse läbi korduvkasutatav käsurea inseneerimise raamistik, mis muudab LLM‑i usaldusväärseks assistendiks turvaküsimustike automatiseerimisel.  

Käsitleme:

* Kuidas sisestada poliitika teadmised otse käsureadesse  
* Tehnikaid tooni, pikkuse ja struktuuri kontrollimiseks  
* Automaatseid kontrollsilmasid, mis püüavad ebajärjekindlused enne auditeerijatesse jõudmist kinni  
* Integreerimismustreid platvormidele nagu Procurize, kaasa arvatud Mermaid‑töövoodiagramm  

Lõpus saavad lugejad konkreetse tööriistakasti, mida saab kohe rakendada, et vähendada küsimustike tööaega 50 %–70 % ja parandada vastuste täpsust.

---

## 1. Käsurea maastiku mõistmine  

### 1.1 Käsurea tüüp  

| Käsurea tüüp | Eesmärk | Näide |
|-------------|----------|-------|
| **Kontekstuaalne käsurea** | Annab LLM‑ile asjakohaseid poliitika väljavõtteid, norme ja definitsioone | “Allpool on väljavõte meie [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2) politka kohta krüpteerimine puhkedes…” |
| **Juhendav käsurea** | Nimetab mudelile täpselt, kuidas peab vastus vormindatud olema | “Kirjuta vastus kolmeks lühikeseks lõiguks, igaüks algab paksus kirjas pealkirjaga.” |
| **Piirangute käsurea** | Seab karmid piirangud, näiteks sõna arv või keelatud sõnad | “Ära ületa 250 sõna ja väldi sõna ‘võib-olla’ kasutamist.” |
| **Kontrolli käsurea** | Loob kontrollnimekirja, millele vastus peab vastama | “Pärast vastuse koostamist loetle kõik poliitika sektsioonid, mida ei kasutatud.” |

Tugev turvaküsimustike vastuste torujuhe ühendab tavaliselt mitu neist käsurea tüübist ühe päringu sees või kasutab mitme‑etapilist lähenemist (käsurea → vastus → uuesti‑käsurea).

### 1.2 Miks üksik‑shot käsuread ebaõnnestuvad  

Naïevse üksik‑shot käsurea nagu *“Vasta järgmisele turvaküsimusele”* tulemus on tihti:

* **Väljalangus** – olulised poliitika viited jäetakse välja.  
* **Hallutsineerimine** – mudel leiutab kontrolle, mida ei eksisteeri.  
* **Järjekindlam keelekasutus** – vastus kasutab mitteametlikku sõnastust, mis ei sobi ettevõtte vastavuse häälega.  

Käsurea inseneerimine vähendab neid riske, andes LLM‑ile täpselt vajaliku info ja paludes tal ise oma väljundit auditeerida.

---

## 2. Käsurea inseneerimise raamistiku ehitamine  

Allpool on samm‑sammuline raamistik, mida saab koodis luua taaskasutatavaks funktsiooniks igas vastavusplatvormis.

### 2.1 Samm 1 – Hangi asjakohased poliitika fragmendid  

Kasuta otsitavat teadmistebaasi (vektoripood, graafikandmebaas või lihtne märksõna indeks) kõige asjakohasemate poliitika sektsioonide tõmbamiseks.  
*Näidis­päring*: “krüpteerimine puhkedes” + “[ISO 27001](https://www.iso.org/standard/27001)” või “SOC 2 CC6.1”.

Tulemus võib olla:

```
Poliitika fragmendi A:
“Kõik tootmisandmed tuleb krüpteerida puhkedes, kasutades AES‑256 või samaväärset algoritmi. Krüpteerimisvõtmeid vahetatakse iga 90 päeva järel ja need hoitakse riistvaralises turvamoodulis (HSM).”
```

### 2.2 Samm 2 – Koosta käsurea mall  

Mall, mis ühendab kõik käsurea tüübid:

```
[KONTEKST] 
{Poliitika fragmendid}

[JUHEND] 
Sa oled vastavuse spetsialist, koostamas vastust turvaküsimustikule. Sihtgrupp on kõrgturvakontroller. Järgi neid reegleid:
- Kasuta vajadusel täpselt poliitika fragmendi keelt.
- Struktureeri vastus lühikese sissejuhatusega, üksikasjaliku põhiosa ja kokkuvõttega.
- Märgi iga poliitika fragmendi viide (nt [Fragmendi A]).

[KÜSIMUS] 
{Turvaküsimuse tekst}

[PIIRANG] 
- Maksimaalselt 250 sõna.
- Ära loo kontrolle, mida poliitika ei maini.
- Lõpeta väitega, et tõendid saab vajadusel esitada.

[KONTROLL] 
Pärast vastuse koostamist loetle kõik poliitika fragmendid, mida ei kasutatud, ja kõik uued terminid, mis sisse viidi.
```

### 2.3 Samm 3 – Saada LLM‑ile  

Saada koostatud käsurea valitud LLM‑i API‑le. Reproduktiivsuse tagamiseks määra temperatuur = 0.2 (madal juhuslikkus) ja maksimaalne tokenite arv vastavalt sõna piirangule.

### 2.4 Samm 4 – Parsimine ja valideerimine  

LLM tagastab kaks sektsiooni: **vastus** ja **kontrollnimekiri**. Automaatne skript kontrollib:

* Kas kõik nõutud fragmendi sildid on olemas.  
* Kas pole sisestatud uusi kontrolli nimesid (võrreldes valgelistega).  
* Kas sõna arv vastab piirangule.

Kui mõni reegel ebaõnnestub, käivitab skript **uuesti‑käsurea**, lisades kontrolli tagasiside:

```
[TAGASISIDE]
Sa jätsid viitamata Frag-1‑le ja kasutasid terminit “dünaamiline võti‑vahetamine”, mis meie poliitikas puudub. Palun paranda.
```

### 2.5 Samm 5 – Lisa tõendite lingid  

Pärast edukat valideerimist süsteem lisab automaatselt lingid toetavatele tõenditele (nt krüpteerimisvõtmete pööramise logid, HSM sertifikaadid). Lõplik väljund salvestatakse Procurize’i tõendite keskusesse ja on nähtav ülevaatajale.

---

## 3. Reaalne töövoo diagramm  

Järgnevas Mermaid‑diagrammis visualiseeritakse lõputöövoog tüüpilises SaaS‑vastavusplatvormis.

```mermaid
graph TD
    A["Kasutaja valib küsimustiku"] --> B["Süsteem tõmbab asjakohased poliitika fragmendid"]
    B --> C["Käsurea koostaja koostab mitme‑osaliseks käsurea"]
    C --> D["LLM genereerib vastuse + kontrollnimekirja"]
    D --> E["Automaatne valideerija analüüsib kontrollnimekirja"]
    E -->|Läbikäidud| F["Vastus salvestatakse, lisatakse tõendite lingid"]
    E -->|Ebaõnnestunud| G["Uuesti‑käsurea tagasisidega"]
    G --> C
    F --> H["Ülevaatajad näevad vastust Procurize’i armatuurlaual"]
    H --> I["Audit lõpetatud, vastus eksporditud"]
```

---

## 4. Täiustatud käsurea tehnikad  

### 4.1 Few‑shot demonstreerimised  

Mõned *näide* Q&A‑paarid käsureas võivad märkimisväärselt parandada järjekindlust. Näide:

```
Näide 1:
Q: Kuidas kaitsete andmeid ülekande ajal?
A: Kõik andmed ülekande ajal on krüpteeritud TLS 1.2 või uuema versiooni abil, kasutades edasi‑turvalisi šifreid. [Fragmendi C]

Näide 2:
Q: Kirjeldage oma intsidentide reageerimise protsessi.
A: Meie IR‑plaan järgib [NIST CSF](https://www.nist.gov/cyberframework) (NIST 800‑61) raamistikku, sisaldab 24‑tunni eskaleerimisakna ning vaadatakse üle kaks korda aastas. [Fragmendi D]
```

LLM‑il on nüüd konkreetne stiil, mida jälgida.

### 4.2 Chain‑of‑Thought (mõtlemine samm‑sammult)  

Käsureas sundi mudelit mõtlema enne vastamist:

```
Mõtle, millised poliitika fragmendid kehtivad, loetle need, seejärel koosta vastus.
```

See vähendab hallutsineerimist ja loob läbipaistva mõttekäigu, mida saab logida.

### 4.3 Retrieval‑Augmented Generation (RAG)  

Selle asemel, et fragmendid enne käsurea tõmmata, lase LLM‑il pärida vektoripoest genereerimise käigus. Sobib hästi, kui poliitika korpuss on väga suur ja pidevalt muutuv.

---

## 5. Integratsioon Procurize’iga  

Procurize pakub juba:

* **Poliitikarepositoorium** (tsentraliseeritud, versioonikontrollitud)  
* **Küsimustiku jälgija** (ülesanded, kommentaarid, auditijälg)  
* **Tõendite keskus** (failide ladustamine, automaatne linkimine)  

Käsurea inseneerimise torujuhtme lisamiseks on vajalikud kolm API‑kõnet:

1. `GET /policies/search` – hangib fragmendid märksõnade põhjal, mis on eraldatud küsimustiku tekstist.  
2. `POST /llm/generate` – saadab koostatud käsurea ja võtab vastu vastuse + kontrolli.  
3. `POST /questionnaire/{id}/answer` – saadab valideeritud vastuse, lisab tõendite URL‑id ja märgib ülesande lõpetatuks.

Lihtne Node.js wrapper võib välja näha selline:

```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);
    // tsükkel või rekursioon kuni edukas
  }
}
```

Kui see on ühendatud Procurize’i kasutajaliidesesse, saavad turvaspetsialistid vajutada **„Genereeri automaatselt vastus”** ja jälgida edusamme sammude graafikus, mis on kirjeldatud Mermaid‑diagrammis.

---

## 6. Edu mõõtmine  

| Metriik | Algväärtus | Siht pärast käsurea inseneerimist |
|----------|------------|-----------------------------------|
| Keskmine vastuse loomise aeg | 45 min | ≤ 15 min |
| Inimkäsu paranduste määr (%) | 22 % | ≤ 5 % |
| Poliitika viidete täpsus (sildid kasutatud) | 78 % | ≥ 98 % |
| Auditeerija rahulolu skoor | 3,2/5 | ≥ 4,5/5 |

Koguge need KPI‑d Procurize’i analüütikaarmatuurlaual. Jätkuv monitoorimine võimaldab käsurea malle ja poliitika fragmente pidevalt optimeerida.

---

## 7. Kukkumine ja vältimine  

| Kukkumine | Sümptom | Lahendus |
|-----------|----------|----------|
| Liiga palju ebasobivaid fragmente käsureas | Vastus kaldub ekslema, LLM‑i viivitused kasvavad | Rakenda relevantsuse läve (nt kosine sarnasus > 0,78) enne lisamist |
| Temperatuuri ignoreerimine | Aeg-ajalt loov, kuid ebakorrektne output | Fikseeri temperatuur madalale väärtusele (0,1–0,2) vastavustöödel |
| Poliitika fragmente versioonide haldamise puudumine | Vastused viitavad vananenud klauslitele | Hoia fragmente koos versiooni‑ID‑ga ja nõua “viimane‑versioon” kui pole &otilde;igelt nõutud |
| Ühe kontrolli läbimise sõltumine | Mõned haruldased rikkumised jäävad märkamata | Käivita teine reegel‑mootori kontroll (nt regex keelatud terminite tuvastamiseks) pärast LLM‑i läbimist |

---

## 8. Tulevikusuunad  

* **Dünaamiline käsurea optimeerimine** — kasutades tugevdusõpet, kohandatakse käsurea sõnastust automaatselt historiseeritud edu põhjal.  
* **Mitme‑LLM‑ensamble** — päring korraga mitmele mudelile ning valitakse vastus, mille kontrollnimekiri on kõrgeim.  
* **Selgitavate AI‑kihtide lisamine** — lisatakse “miks see vastus” sektsioon, mis viitab täpsetele poliitika lause numbritele, muutes auditeerimise täis­jälgitavaks.  

Need arengud viivad automatiseerimise taseme “kiire mustand” → “audit‑valmis ilma inimese sekkumiseta”.

---

## Kokkuvõte  

Käsurea inseneerimine pole ühekordne trik; see on süstemaatiline distsipliin, mis muudab võimsad LLM‑id usaldusväärseteks vastavusabilisteks. Järgides:

1. Poliitika fragmendid täpselt tõmbama,  
2. Mitme‑osalist käsurea, mis ühendab konteksti, juhised, piirangud ja kontrolli,  
3. Automaatset tagasiside‑tsüklit, mis sunnib mudelit ise oma väljundit korjata, ja  
4. Sujuvat integratsiooni sellesse tööriista nagu Procurize,

organisatsioonid võivad vähendada küsimustike läbitöötlusaja, vähendada käsitsi vigu ja säilitada ranget auditijälge, mida regulaatorid ja kliendid nõuavad.

Alusta pilootprojektiga madala riskiga küsimustikul, mõõda KPI‑sid, ja täienda käsurea malle. Mõne nädalaga saavutad sama täpsuse, mida pakub kogenud vastavuseinsener — vaid märkimisväärselt väiksema tööjõukuluga.

---  

## Vaata veel  

- Käsurea inseneerimise parimad praktikad LLM‑ide jaoks  
- Retrieval‑Augmented Generation: disainimustrid ja õnnestumised  
- Vastavusautomatiseerimise trendid 2025. aastal  
- Procurize API ülevaade ja integratsioonijuhend