
# Dirbtinio intelekto įgalinta kontekstinė įrodymų sist

**Saugumo klausimynai yra kiekvieno B2B SaaS sandorio vartai.** Pirkėjai reikalauja konkrečių įrodymų – politikos ištraukų, audito ataskaitų, konfigūracijos ekrano nuotraukų –, kad įrodyti, jog tiekėjo saugumo pozicija atitinka jų rizikos toleranciją. Tradiciškai saugumo, teisinės ir inžinerijos komandos švieskasi per PDF dokumentų, SharePoint aplankų ir bilietų sistemų labirintą, kad rastų tikslų dokumentą, patvirtinantį kiekvieną atsakymą.  

Rezultatas – **lėtos atsakymo terminai, ne nuoseklūs įrodymai ir padidėjusi žmogaus klaidos rizika**.  

Pasirodžia **paieškos papildyta generacija (RAG)** – hibridinė DI architektūra, kuri sujungia didelių kalbos modelių (LLM) generavimo galią su vektorine dokumentų paieška. Susiejus RAG su Procurize platforma, komandos gali automatiškai pateikti svarbiausius atitikties artefaktus *kuriant kiekvieną atsakymą*, paverčiant rankinę paiešką realaus laiko, duomenimis valdomą darbo eigą.  

Toliau išskaidome techninę RAG pagrindą, iliustruojame pasiruošusį gamybos procesą su Mermaid ir pateikiame praktiškas gaires SaaS organizacijoms, pasirengusioms priimti kontekstinių įrodymų automatizavimą.

---

## 1. Kodėl kontekstiniai įrodymai dabar svarbūs

### 1.1 Reguliacinis spaudimas
Reguliacijos, tokios kaip **[SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2)**, **[ISO 27001](https://www.iso.org/standard/27001)**, **[GDPR](https://gdpr.eu/)** ir kylančios **DI rizikos struktūros** aiškiai reikalauja įrodymų kiekvienai kontrolės pretenzijai. Auditoriai nebesirenkia „politika egzistuoja“; jie nori **sekimo nuorodos** į tikslią patikrintą versiją.

### 1 2 3 4 5 6 7 8 9 10  **Statistika**: Remiantis 2024 m. Gartner apklausa, 68 % B2B pirkėjų mini „nebaigtus arba pasenusius įrodymus“ kaip pagrindinę priežastį atidėti sutartį.

### 1.2 Pirkėjų lūkesčiai
Šiuolaikiniai pirkėjai vertina tiekėjus pagal **Pasitikėjimo balą**, kuris sujungia klausimyno užpildymo pilnumą, įrodymų aktualumą ir atsakymo greitį. Automatinė įrodymo sistema tiesiogiai padidina šį balą.

### 1.3 Vidinis efektyvumas
Kiekviena minutė, kai saugumo inžinierius ieško PDF, yra minutė, kurios nepakaitaluose skiriama grėsmių modeliui ar architektūros peržiūrai. Įrodymų automatinė ištrauka atlaisvina pajėgumus svarbesniam saugumo darbui.

## 2. Paieškos papildyta generacija – pagrindinis koncepcija

RAG veikia dviem etapais:

1. **Retrieval** – Sistema konvertuoja natūralios kalbos užklausą (pvz., „Rodyti naujausią SOC 2 Type II ataskaitą“) į įterpimo vektorių ir ieško **vektorinės duomenų bazės** artimiausių atitinkančių dokumentų.  
2. **Generation** – LLM gauna išgautus dokumentus kaip **kontekstą** ir sukuria glaustą, citatų turtingą atsakymą.  

RAG grožis tas, kad jis **priklauso generuojamą rezultatą** patikrinamoms šaltinio medžiagoms, pašalindamas „halucinacijas“ – kritiškai svarbu atitikties turiniui.

### 2.1 Įterpimai ir vektorinių saugyklų
- **Įterpimo modeliai** (pvz., OpenAI `text-embedding-ada-002`) verčia tekstą į aukšto matmens vektorius.  
- **Vektorinių saugyklų** (pvz., Pinecone, Milvus, Weaviate) indeksuoja šiuos vektorius, leidžiant atlikti sub‑sekundinius panašumo paieškas per milijonus puslapių.

### 2.2 Promptų kūrimas įrodymams
Gerai sukurtas promptas nurodo LLM:
- **Cituoti kiekvieną šaltinį** su Markdown nuoroda arba referenciniu ID.  
- **Išlaikyti originalų žodžių tvarką** cituojant politikos skyrius.  
- **Pažymėti bet kokį neaiškų arba pasenusią turinį** peržiūrai žmonėms.  

Pavyzdinis promptas:

```
You are an AI compliance assistant. Answer the following questionnaire item using ONLY the supplied documents. Cite each source using the format [DocID#Section].
If a required document is missing, respond with "Document not found – please upload."
```

## 3. Galutinė darbo eiga Procurize platformoje

Žemiau pateikiama vizualinė RAG įgalintos klausimyno srauto reprezentacija Procurize ekosistemoje.

```mermaid
graph LR
    A["User Submits Questionnaire"] --> B["AI Prompt Generator"]
    B --> C["Retriever (Vector DB)"]
    C --> D["Relevant Documents"]
    D --> E["Generator (LLM)"]
    E --> F["Answer with Evidence"]
    F --> G["Review & Publish"]
    G --> H["Audit Log & Versioning"]
```

**Pagrindiniai žingsniai paaiškinti**

| Žingsnis | Aprašymas |
|----------|-----------|
| **A – Vartotojas pateikia klausimyną** | Saugumo komanda sukuriama naują klausimyną Procurize, pasirenkant tikslines normas (SOC 2, ISO 27001 ir kt.). |
| **B – AI Promptų generatorius** | Kiekvienam klausimui Procurize sukuria promptą, įtraukiant klausimo tekstą ir bet kokius esamus atsakymo fragmentus. |
| **C – Gavėjas (vektorinė DB)** | Promptas yra įterpiamas ir užklausiamas vektorinių duomenų bazėje, kurioje saugomi visi įkelti atitikties artefaktai (politikos, audito ataskaitos, kodo peržiūros žurnalai). |
| **D – Susiję dokumentai** | Gauti top‑k dokumentai (dažniausiai 3‑5) yra ištraukti, papildyti meta duomenimis ir perduoti LLM. |
| **E – Generatorius (LLM)** | LLM sukuria glaustą atsakymą, automatiškai įterpdama citatas (pvz., `[SOC2-2024#A.5.2]`). |
| **F – Atsakymas su įrodymu** | Sugeneruotas atsakymas rodomas klausimyno vartotojo sąsajoje, pasiruošęs tiesioginiam redagavimui arba patvirtinimui. |
| **G – Peržiūra ir publikavimas** | Priskirti peržiūrintojai patikrina tikslumą, prideda papildomas pastabas ir užrakiną atsakymą. |
| **H – Audito žurnalas ir versijavimas** | Kiekvienas AI sukurtas atsakymas saugomas su šaltinio momentine kopija, užtikrinant nesunaikintiną audito taką. |

## 4. RAG diegimas jūsų aplinkoje

### 4.1 Dokumentų korpuso paruošimas
1. **Surinkti visus atitikties artefaktus**: politikas, pažeidžiamumo skenavimo ataskaitas, konfigūracijų bazes, kodo peržiūros komentarus, CI/CD pipeline žurnalus.  
2. **Standartizuoti failų formatus** (PDF → tekstas, Markdown, JSON). Naudoti OCR skenuotoms PDF.  
3. **Suskaidyti dokumentus** į 500‑800 žodžių segmentus, siekiant pagerinti paieškos atitiktį.  
4. **Pridėti meta duomenis**: dokumento tipas, versija, sukūrimo data, atitikties struktūra ir unikalus `DocID`.

### 4.2 Vektorinių indeksų kūrimas
```python
from openai import OpenAI
from pinecone import PineconeClient

client = PineconeClient(api_key="YOUR_API_KEY")
index = client.Index("compliance-evidence")

def embed_and_upsert(chunk, metadata):
    embedding = OpenAI.embeddings.create(model="text-embedding-ada-002", input=chunk).data[0].embedding
    index.upsert(vectors=[(metadata["DocID"], embedding, metadata)])

# Loop through all chunks
for chunk, meta in corpus:
    embed_and_upsert(chunk, meta)
```
*Skriptas vykdomas kartą kas ketvirtį; papildomi įterpimai palaiko indeksą šviežią.*

### 4.3 Integravimas su Procurize
- **Webhook**: Procurize išsiunčia `question_created` įvykį.  
- **Lambda funkcija**: Gaukia įvykį, sukuria promptą, kviečia gavėją, tada LLM per OpenAI `ChatCompletion`.  
- **Atsakymo hook**: Įterpia AI sukurtą atsakymą atgal į Procurize per jo REST API.

```python
def handle_question(event):
    question = event["question_text"]
    prompt = build_prompt(question)
    relevant = retrieve_documents(prompt, top_k=4)
    answer = generate_answer(prompt, relevant)
    post_answer(event["question_id"], answer)
```

### 4.4 Human‑in‑the‑Loop (HITL) saugumo priemonės
- **Pasitikėjimo balas**: LLM grąžina tikimybę; žemiau 0,85 sukelia privalomą peržiūrą.  
- **Versijos užrakinimas**: Kai atsakymas patvirtintas, jo šaltinio momentinės kopijos fiksuojamos; bet kokie vėlesni politikos pakeitimai sukuria naują versiją, o ne perrašo seną.  
- **Audito takas**: Kiekvienas AI veiksmas yra registruojamas su laiko žymomis ir vartotojų ID.

## 5. Poveikio matavimas

| Metrika | Bazinis (rankinis) | Po RAG įgyvendinimo | % Patobulinimas |
|----------|--------------------|----------------------|-----------------|
| Vidutinis atsakymo laikas per klausimyną | 14 dienų | 3 dienos | 78 % |
| Įrodymų citavimo pilnumas | 68 % | 96 % | 41 % |
| Peržiūrų papildymo dažnis | 22 % | 7 % | 68 % |
| Atitikties audito patikrinimo sėkmingumas (pirma pateikta) | 84 % | 97 % | 15 % |

**Case Study**: **AcmeCloud** priėjo prie Procurize RAG 2025 II ketvirtyje. Jie pranešė apie **70 % sumažėjimą** vidutiniame atsakymo laike ir **30 % padidėjimą** pasitikėjimo balo įvertinime iš savo aukščiausio lygio įmonių klientų.

## 6. Geriausios praktikos ir klaidos, kurių reikia vengti

### 6.1 Laikykite korpusą švarų
- **Pašalinkite pasenusius dokumentus** (pvz., pasibaigusias sertifikacijas). Pažymėkite juos kaip `archived`, kad gavėjas galėtų juos dešiniam prioritetui sumažinti.  
- **Normalizuokite terminologiją** visoje politikoje, kad pagerintumėte panašumo atitikimą.

### 6.2 Promptų disciplina
- **Venkite per plačių promptų**, kurie gali ištraukti nesusijusius skyrius.  
- **Naudokite kelis pavyzdžius promptuose**, kad nukreiptumėte LLM link norimo citavimo formato.

### 6.3 Saugumas ir privatumas
- **Laikykite įterpimus VPC izoliuotoje vektorijoje**.  
- **Šifruokite API raktus ir naudokite rolės pagrindu paremtą prieigą Lambda funkcijai**.  
- **Užtikrinkite, kad būtų laikomasi GDPR reikalavimų** tvarkant bet kokią asmeninę informaciją dokumentuose.

### 6.4 Nuolatinis mokymasis
- **Fiksuokite peržiūrų redagavimus kaip grįžtamojo ryšio poras** (klausimas, pataisytas atsakymas) ir periodiškai tobulinkite domeninį LLM.  
- **Atnaujinkite vektorų saugyklą po kiekvienos politikos peržiūros**, kad žinių grafas būtų aktualus.

## 7. Ateities kryptys

1. **Dinaminė žinių grafo integracija** – susiekite kiekvieną įrodymo fragmentą su mazgu įmonės žinių grafuose, leidžiančiu hierarchinį naršymą (pvz., „Politika → Kontrolė → Sub‑kontrolė“).  
2. **Daugialypė paieška** – išplėsti ne tik tekstą, bet ir įtraukti paveikslėlius (pvz., architektūros diagramas) naudojant CLIP įterpimus, leidžiant AI tiesiogiai cituoti ekrano nuotraukas.  
3. **Real‑laiko politikos pakeitimų įspėjimai** – kai politikos versija atnaujinama, automatiškai patikrinkite visų atvirų klausimyno atsakymų atitiktį ir pažymėkite, kurie gali reikėti peržiūrėti.  
4. **Zero‑Shot tiekėjo rizikos įvertinimas** – sujungti išgautus įrodymus su išorine grėsmių informacija, kad automatiškai sukurtumėte rizikos balą kiekvienam tiekėjo atsakymui.

## 8. Pradėkite šiandien

1. **Atlikite audito savo esamą atitikties saugyklą ir nustatykite spragas.**  
2. **Išbandykite RAG procesą viename svarbiame klausimyne** (pvz., SOC 2 Type II).  
3. **Integruokite su Procurize naudojant pateiktą webhook šabloną.**  
4. **Matuokite aukščiau pateiktų KPI patobulinimus ir tobulinkite procesą.**

Įsisavinus paieškos papildytą generaciją, SaaS įmonės paverčia tradiciškai rankinį, klaidų linkusį procesą į **mastelį, audituojamą ir pasitikėjimą skatinančią variklį** – konkurencinį priedą vis labiau atitiktį akcentuojančioje rinkoje.