
# KI‑gestützte Retrieval‑Augmented Generation für die Echtzeit‑Beweiserstellung in Sicherheitsfragebögen

Sicherheitsfragebögen, Lieferanten‑Risiko‑Bewertungen und Compliance‑Audits sind zu einem täglichen Engpass für SaaS‑Unternehmen geworden. Die manuelle Suche nach Richtlinien, Prüfungsberichten und Konfigurations‑Snapshots verschwendet nicht nur Ingenieur‑Stunden, sondern birgt auch das Risiko veralteter oder inkonsistenter Antworten.  

Retrieval‑Augmented Generation (RAG) bietet ein neues Paradigma: Statt ausschließlich auf ein statisches Large Language Model (LLM) zu setzen, **retrieved RAG zum Anfragezeitpunkt die relevantesten Dokumente** und speist sie dem Modell zur Synthese zu. Das Ergebnis ist eine **Echtzeit‑, evidenzbasierte Antwort**, die bis zur Originalquelle zurückverfolgt werden kann und sowohl Geschwindigkeit als auch Auditierbarkeit erfüllt.

In diesem Artikel werden wir:

* Die Kern‑RAG‑Architektur erläutern und warum sie zum Fragebogen‑Workflow passt.  
* Zeigen, wie Procurize eine RAG‑Pipeline einbetten kann, ohne bestehende Prozesse zu stören.  
* Eine Schritt‑für‑Schritt‑Implementierungsanleitung von der Datenaufnahme bis zur Antwort‑Verifikation bereitstellen.  
* Sicherheits‑, Datenschutz‑ und Compliance‑Überlegungen diskutieren, die für diesen Ansatz einzigartig sind.  
* Messbare ROI‑Kennzahlen und zukünftige Erweiterungen wie kontinuierliches Lernen und dynamisches Risikoscoring hervorheben.

---

## 1. Warum klassische LLMs für Sicherheitsfragebögen unzureichend sind

| Einschränkung | Auswirkung auf die Automatisierung von Fragebögen |
|---------------|--------------------------------------------------|
| **Statischer Wissens‑Cut‑off** | Antworten spiegeln den Trainings‑Snapshot des Modells wider, nicht die neuesten Richtlinien‑Revisionen. |
| **Halluzinations‑Risiko** | LLMs können plausibel wirkenden Text erzeugen, der in keiner tatsächlichen Dokumentation verankert ist. |
| **Fehlende Provenienz** | Prüfer verlangen einen direkten Link zum Quell‑Artefakt (Richtlinie, **[SOC 2]‑Bericht**, Konfigurationsdatei). |
| **Regulatorische Vorgaben** | Bestimmte Rechtsordnungen verlangen, dass KI‑generierter Inhalt verifizierbar und unveränderlich ist. |

Diese Lücken führen Organisationen zurück zum manuellen Kopieren‑ und Einfügen, wodurch die versprochene Effizienz von KI wieder aufgehoben wird.

---

## 2. Retrieval‑Augmented Generation – Kernkonzepte

Im Wesentlichen besteht RAG aus drei beweglichen Teilen:

1. **Retriever** – Ein Index (oft vektor‑basiert), der schnell die relevantesten Dokumente für eine gegebene Anfrage herausfiltern kann.  
2. **Generatives Modell** – Ein LLM, das die abgerufenen Snippets und die ursprüngliche Frage zusammenführt, um eine kohärente Antwort zu erzeugen.  
3. **Fusions‑Layer** – Logik, die steuert, wie viele Snippets übergeben, wie sie sortiert und wie sie während der Generierung gewichtet werden.

### 2.1 Vektor‑Stores für die Evidenz‑Suche

Das Einbetten jedes Compliance‑Artefakts (Richtlinien, Prüfberichte, Konfigurations‑Snapshots) in einen dichten Vektor‑Raum ermöglicht semantische Ähnlichkeitssuche. Beliebte Open‑Source‑Optionen umfassen:

* **FAISS** – Schnell, GPU‑beschleunigt, ideal für Hoch‑Durchsatz‑Pipelines.  
* **Milvus** – Cloud‑native, unterstützt hybride Indizierung (Skalar + Vektor).  
* **Pinecone** – Verwalteter Dienst mit integrierten Sicherheits‑Kontrollen.

### 2.2 Prompt‑Engineering für RAG

Ein gut formulierter Prompt stellt sicher, dass das LLM den abgerufenen Kontext als *autoritative Evidenz* behandelt.

```text
Sie sind ein Compliance‑Analyst, der einen Sicherheitsfragebogen beantwortet. Verwenden Sie NUR die bereitgestellten Evidenz‑Auszüge. Zitieren Sie jeden Auszug mit seiner Quellen‑ID. Wenn eine Antwort nicht vollständig unterstützt werden kann, markieren Sie sie für eine manuelle Überprüfung.
```

Der Prompt kann in Procurize als Vorlage hinterlegt werden, sodass jedem Fragebogen‑Item automatisch die ergänzte Evidenz angehängt wird.

---

## 3. Integration von RAG in die Procurize‑Plattform

Nachfolgend ein vereinfachtes Fluss‑Diagramm, das zeigt, wo RAG in den bestehenden Procurize‑Workflow passt.

```mermaid
graph LR
    A["Fragebogen‑Eintrag"] --> B["RAG‑Dienst"]
    B --> C["Retriever (Vektor‑Store)"]
    C --> D["Top‑k Evidenz‑Snippets"]
    D --> E["LLM‑Generator"]
    E --> F["Entwurf‑Antwort mit Zitaten"]
    F --> G["Procurize‑Review‑UI"]
    G --> H["Endgültige Antwort gespeichert"]
    style B fill:#f9f,stroke:#333,stroke-width:2px
    style G fill:#bbf,stroke:#333,stroke-width:2px
```

**Wichtige Integrationspunkte**

* **Trigger** – Sobald ein Nutzer ein unbeantwortetes Fragebogen‑Item öffnet, sendet Procurize den Fragetext an den RAG‑Microservice.  
* **Kontext‑Anreicherung** – Der Retriever holt bis zu *k* (typischerweise 3‑5) relevante Evidenz‑Chunks, jeweils mit einer stabilen Kennung (z. B. `policy:ISO27001:5.2`).  
* **Antwort‑Entwurf** – Das LLM produziert einen Entwurf inklusive Inline‑Zitaten wie `[policy:ISO27001:5.2]`.  
* **Human‑in‑the‑Loop** – Das Review‑UI hebt Zitierungen hervor, erlaubt Reviewern das Editieren, Genehmigen oder Ablehnen. Genehmigte Antworten werden mit Provenienz‑Metadaten persistiert.

---

## 4. Schritt‑für‑Schritt‑Implementierungs‑Guide

### 4.1 Ihr Evidenz‑Corpus vorbereiten

| Aktion | Werkzeug | Hinweis |
|-------|----------|---------|
| **Sammeln** | Internes Dokumenten‑Repository (Confluence, SharePoint) | Einen einzigen Source‑of‑Truth‑Ordner für Compliance‑Artefakte pflegen. |
| **Normalisieren** | Pandoc, eigene Skripte | PDFs, DOCX und Markdown in Klartext konvertieren; Header/Footer entfernen. |
| **Taggen** | YAML‑Front‑Matter, Metadaten‑Service | Felder wie `type: policy`, `framework: SOC2`, `last_modified` hinzufügen. |
| **Versionieren** | Git LFS oder ein DMS mit unveränderlichen Versionen | Audit‑fähigkeit jedes Snippets garantieren. |

### 4.2 Den Vektor‑Index bauen

```python
from sentence_transformers import SentenceTransformer
import faiss, json, glob, os

model = SentenceTransformer('all-MiniLM-L6-v2')
docs = []   # Liste von (id, text) Tupeln
for file in glob.glob('compliance_corpus/**/*.md', recursive=True):
    with open(file, 'r') as f:
        content = f.read()
        doc_id = os.path.splitext(os.path.basename(file))[0]
        docs.append((doc_id, content))

ids, texts = zip(*docs)
embeddings = model.encode(texts, show_progress_bar=True)

dim = embeddings.shape[1]
index = faiss.IndexFlatL2(dim)
index.add(embeddings)

faiss.write_index(index, 'compliance.index')
```

*Speichern Sie die Zuordnung von Vektor‑IDs zu Dokument‑Metadaten in einer leichten NoSQL‑Tabelle für schnellen Lookup.*

### 4.3 Den RAG‑Service bereitstellen

Ein typischer Microservice‑Stack:

* **FastAPI** – HTTP‑Endpoints für Procurize.  
* **FAISS** – In‑Process‑Vektorsuche (oder extern via gRPC).  
* **OpenAI / Anthropic LLM** – Generations‑Endpoint (oder selbst‑gehostetes LLaMA).  
* **Redis** – Cache für aktuelle Anfragen, reduziert Latenz.

```python
from fastapi import FastAPI, Body
import openai, numpy as np

app = FastAPI()

@app.post("/answer")
async def generate_answer(question: str = Body(...)):
    q_emb = model.encode([question])
    distances, idx = index.search(q_emb, k=4)
    snippets = [texts[i] for i in idx[0]]
    prompt = f"""Frage: {question}
Evidenz:\n{chr(10).join(snippets)}\nAntwort (mit Quellenangaben):"""
    response = openai.Completion.create(
        model="gpt-4o-mini", prompt=prompt, max_tokens=300)
    return {"answer": response.choices[0].text.strip(),
            "citations": idx[0].tolist()}
```

### 4.4 An Procurize‑UI anbinden

*Fügen Sie einen Button “Mit KI generieren” neben jedem Fragebogen‑Feld hinzu.*  
Beim Klick:

1. Zeigen Sie einen Lade‑Spinner, während der RAG‑Service antwortet.  
2. Befüllen Sie das Textfeld mit dem Entwurf.  
3. Rendern Sie Zitations‑Badges; ein Klick auf ein Badge öffnet eine Vorschau des Quell‑Dokuments.  

### 4.5 Verifikation & kontinuierliches Lernen

* **Manuelle Prüfung** – Mindestens ein Compliance‑Engineer muss jede KI‑generierte Antwort vor dem Publizieren freigeben.  
* **Feedback‑Loop** – Erfassen Sie Genehmigungs‑/Ablehnungs‑Signale und speichern Sie sie in einer “review outcomes”‑Tabelle.  
* **Fein‑Tuning** – Periodisch das LLM auf freigegebenen QA‑Paaren nachtrainieren, um Halluzinationen zu reduzieren.  

---

## 5. Sicherheits‑ & Datenschutz‑Überlegungen

| Bedenken | Gegenmaßnahme |
|----------|----------------|
| **Datenleck** – Embeddings können sensible Texte offenbaren. | Lokale Embedding‑Modelle verwenden; keine Roh‑Dokumente an Dritt‑APIs senden. |
| **Model‑Injection** – Bösartige Anfragen, die das LLM manipulieren wollen. | Eingaben sanitieren, nur erlaubte Frage‑Muster zulassen. |
| **Provenienz‑Manipulation** – Nachträgliches Ändern von Quellen‑IDs. | Quellen‑IDs in einem unveränderlichen Ledger (z. B. AWS QLDB oder Blockchain) speichern. |
| **Regulatorische Audits** – Nachweis über KI‑Nutzung erforderlich. | Jede RAG‑Anfrage mit Zeitstempel, abgerufenen Chunk‑Hashes und LLM‑Version protokollieren. |
| **Zugriffskontrolle** – Nur autorisierte Rollen dürfen RAG auslösen. | Integration mit Procurize‑RBAC; MFA für KI‑Generierungs‑Aktionen verlangen. |

---

## 6. Messbare Auswirkungen

Ein Pilotprojekt bei einem mittelgroßen SaaS‑Unternehmen (≈ 150 Ingenieure) ergab über einen Zeitraum von 6 Wochen folgende Kennzahlen:

| Kennzahl | Vor RAG | Nach RAG | Verbesserung |
|----------|----------|----------|--------------|
| Durchschnittliche Entwurfs‑Zeit pro Antwort | 12 Min | 1,8 Min | 85 % Reduktion |
| Manuelle Zitations‑Fehler | 27 % | 4 % | 85 % Reduktion |
| Genehmigungs‑Rate beim ersten Review | 58 % | 82 % | +24 % pp |
| Quartals‑Compliance‑Kosten | 120 k $ | 78 k $ | 42 k $ Einsparung |

Diese Zahlen zeigen, dass RAG nicht nur die Antwortgeschwindigkeit erhöht, sondern auch die Qualität steigert und den Prüfungsaufwand reduziert.

---

## 7. Zukünftige Erweiterungen

1. **Dynamisches Risikoscoring** – RAG mit einer Risik‑Engine verknüpfen, die die Antwort‑Vertrauenswürdigkeit anhand des Alters der Evidenz anpasst.  
2. **Multimodale Retrieval** – Screenshots, Konfigurationsdateien und sogar Terraform‑State als abrufbare Assets einbinden.  
3. **Unternehmensweiter Knowledge‑Graph** – Evidenz über Tochtergesellschaften hinweg vernetzen, um globale Richtlinien‑Konsistenz zu sichern.  
4. **Echtzeit‑Policy‑Diff‑Alarme** – Bei Änderung eines Quell‑Dokuments betroffene Fragebogen‑Antworten automatisch zur Nachprüfung kennzeichnen.  

---

## 8. Einstieg‑Checkliste

- [ ] Alle Compliance‑Artefakte in ein versioniertes Repository konsolidieren.  
- [ ] Einen Vektor‑Store (FAISS, Milvus, Pinecone) auswählen und Embeddings generieren.  
- [ ] Einen RAG‑Microservice (FastAPI + LLM) hinter der internen Netzwerkgrenze deployen.  
- [ ] Procurize‑UI um “Mit KI generieren” und Zitations‑Rendering erweitern.  
- [ ] Governance‑Richtlinie für manuelle Review und Feedback‑Erfassung definieren.  
- [ ] Einen Low‑Risk‑Fragebogen‑Satz pilotieren; Feedback nutzen, um iterativ zu verbessern.  

Durch Befolgung dieser Roadmap kann Ihr Unternehmen vom **reaktiven, manuellen** Fragebogen‑Prozess zu einer **proaktiven, KI‑unterstützten** Arbeitsweise übergehen, die vertrauenswürdige Evidenz auf Knopfdruck liefert.

---

## Siehe auch

- [Retrieval‑Augmented Generation: The Next Wave of Enterprise AI](https://arxiv.org/abs/2005.11401)  
- [FAISS: Efficient Similarity Search and Clustering of Dense Vectors](https://github.com/facebookresearch/faiss)  
- [OpenAI Cookbook – Prompt Engineering for Retrieval‑Augmented Generation](https://github.com/openai/openai-cookbook)