1. Warum KI-Guardrail-Policies testen, bevor Sie einen Key anhängen
Eine Content-Policy hat zwei Fehlerarten, und sie ziehen in entgegengesetzte Richtungen:- Misses — ein Angriff oder ein Leck schlüpft durch, weil keine Regel gefeuert hat.
- False Positives — ein gutartiger Prompt wird blockiert oder maskiert, weil eine Regel zu breit ist.
Beide Werkzeuge laufen vollständig in Ihrer Session über die
Management-API (
/api/guardrail/*) — nie über den Relay-Key. Sie werten
Text lokal aus und senden nichts nach Upstream, sodass ein Testlauf kein
Modell-Kontingent kostet.2. Der Test-Tab — ein Beispiel, sofortiges Verdikt
Jeder Guardrail-Editor hat einen Tab Test. Fügen Sie ein Beispiel ein, wählen Sie eine Stage (input oder output) und führen Sie den aktuellen
Entwurf der Policy aus. Sie erhalten die vollständige Entscheidung
zurück — blocked, mutated, den sanitized-Text und die Liste der
violations — sodass Sie beweisen können, dass eine einzelne Regel tut, was
Sie erwarten, bevor Sie speichern.
Den Editor öffnen
Gehen Sie in der Konsole zu
/console/guardrails, öffnen Sie das
Guardrail und wählen Sie den Tab Test.3. Der Eval-Tab — eine Policy gegen ein Korpus bewerten
Der Tab Eval führt Ihr Guardrail gegen ein Korpus gelabelter Beispiele aus und berichtet, wie es abschnitt: Precision, Recall und F1 insgesamt und pro Kategorie, plus die exakten Beispiele, die es falsch machte. Nutzen Sie ihn, um einellm_judge-Rubric zu justieren, zu
beweisen, dass eine Block-Regel eine bekannte Angriffsfamilie fängt, oder
ein zu breites Regex zu fangen, bevor es beginnt, guten Traffic abzulehnen.
Ein Lauf streamt den Fortschritt, während er läuft (ein Event pro
abgeschlossenem Beispiel) und persistiert eine Lauf-Zeile, die Sie
später wieder öffnen können — queued → running → complete, mit den Regeln,
die zur Laufzeit als Snapshot festgehalten werden, sodass eine spätere
Bearbeitung des Guardrails nie das Verdikt eines alten Laufs umschreibt.
Mitgelieferte Korpora
Red-Team- und gutartige Sets, in das Gateway eingebacken —
Prompt-Injection, Jailbreaks, PII/Secrets, mehrsprachig, Over-Refusal.
Kein Setup.
Eigenes JSONL
Laden Sie Ihr eigenes gelabeltes Set hoch, um die Policy gegen Ihre
echten Traffic-Formen zu messen.
4. Wie ein Korpus aussieht (JSONL)
Ein Korpus ist JSONL — ein JSON-Objekt pro Zeile. Jede Zeile ist ein gelabeltes Beispiel: dertext zum Auswerten, die stage, zu der es
gehört, und die expected_action, die die Policy produzieren sollte. Der
Runner vergleicht das tatsächliche Verdikt der Policy mit jenem Label, um den
Lauf zu bewerten.
Feldreferenz
Feldreferenz
| Feld | Bedeutung |
|---|---|
id | Eindeutig pro Zeile. Erforderlich — Zeilen mit leerer id werden als fehlerhaft verworfen. |
text | Der auszuwertende Prompt oder die Completion. Erforderlich. |
stage | input oder output — durch welche Stage-Regeln das Beispiel laufen soll. |
expected_action | block, mask, flag oder "" (gutartig — keine Action erwartet). |
category | Freiform-Label, das die Pro-Kategorie-Metriken bündelt. |
Fehlerhafte Zeilen werden toleriert, nicht stillschweigend
Fehlerhafte Zeilen werden toleriert, nicht stillschweigend
Eine Zeile mit fehlerhaftem JSON oder fehlender
id/text wird
übersprungen und gezählt, nicht fatal — ein einzelner Tippfehler
sprengt nie den ganzen Lauf. Der Loader vergrößert seinen Puffer für
lange mehrzeilige Prompts, sodass ein Beispiel mit eingebetteten
Zeilenumbrüchen innerhalb eines JSON-Strings korrekt parst.5. Mitgelieferte Korpora — Red-Team-Sets, null Setup
Das Gateway liefert einen Katalog kuratierter Korpora, die Sie sofort ausführen können — jedes trägt seine Quelle, Lizenz, Sprachabdeckung und eine Beispiel-Vorschau im Picker. Sie sind in 11 Kategorien gruppiert, die die Angriffsoberfläche umspannen, die echter Traffic sieht:| Kategorie | Was sie prüft |
|---|---|
prompt_injection | Instruction-Override- und von Menschen geschriebene Injection-Einreichungen. |
jailbreak_single_turn | Echte In-the-Wild-Jailbreaks + eine akademische Verhaltens-Baseline. |
jailbreak_encoded_multiturn | base64- / ROT13- / Leetspeak- / Payload-Splitting-Proben. |
indirect_agent | Injection über Tool-Outputs an einen tool-nutzenden Agenten. |
multilingual | Muttersprachler-Red-Team-Prompts über viele Sprachen, inkl. ressourcenarmer. |
pii_secrets | E-Mails, SSNs, Karten, IBANs, API-Keys, AWS-Keys, JWTs. |
toxicity | Toxic-Generation-Prompts und Over-Refusal-Kontraste. |
bias | Stereotyp- und Diskriminierungs-Proben. |
hallucination | Adversariale Faktentreue- / Treue-Sets. |
hazardous_knowledge | Dual-Use-Chem-/Bio-/Cyber-Wissensproben. |
over_refusal_benign | Sichere Prompts, die unsicher aussehen — Ihr False-Positive-Regressions-Schutz. |
Das mitgelieferte
owasp_llm_top10-Korpus ist ein gelabeltes Test-Set,
das die OWASP-LLM-Top-10-Angriffsfamilien abdeckt (Prompt-Injection,
Jailbreaks, unsicherer Output, Daten-Exfil) — es ist ein Korpus, gegen das
man ein Eval läuft, kein Compliance-Paket. Für Framework-Pakete, die
Policies materialisieren, siehe
Compliance.6. Ein konkretes Beispiel — das PII-Shield-Preset evaluieren
Angenommen, Sie starteten vom Preset PII Shield (eine einzelnepii-Regel, mask) und wollen bestätigen, dass es die Identifier-Formen
fängt, die ein Modell ausgeben könnte, bevor Sie es an einen Key binden.
Führen Sie es gegen das mitgelieferte pii_smoke-Korpus aus.
Eval ist eine lese-stufige Aktion (POST /api/guardrail/:id/eval,
Member) — sie persistiert eine Lauf-Zeile, mutiert aber keine Policy:
expected vs. got), sodass Sie das Korpus greppen und die Regel
korrigieren können. Öffnen Sie ihn jederzeit wieder aus der Runs-Liste
(GET /api/guardrail/:id/eval/runs).
7. Eigene Korpora — gegen Ihren eigenen Traffic testen
Mitgelieferte Sets beweisen, dass die Policy bekannte Angriffe handhabt. Um zu beweisen, dass sie Ihre Prompts handhabt, laden Sie Ihr eigenes JSONL hoch. Es gibt drei Wege, ein Eval auf ein Korpus zu richten, und sie werden in dieser Reihenfolge aufgelöst:Ad-hoc-Upload (corpus_data)
Ad-hoc-Upload (corpus_data)
Übergeben Sie einen base64-kodierten JSONL-Blob inline im Eval-Request.
Gewinnt über alles andere — iterieren Sie an einem Entwurfs-Set, ohne es
im Workspace zu speichern.
Gespeichertes Korpus (corpus_id)
Gespeichertes Korpus (corpus_id)
Laden Sie es einmal über
POST /api/guardrail/eval/corpora
(Developer+) hoch und referenzieren Sie es dann bei zukünftigen
Läufen per ID. Der Name muss ^[a-z][a-z0-9_]*$ entsprechen und darf
keinen mitgelieferten Namen überschatten.Mitgeliefert (corpus_name)
Mitgeliefert (corpus_name)
Benennen Sie eines der ausgelieferten Korpora, wie in §6.
GET /api/guardrail/eval/corpora (Member); Upload und Löschen
sind Developer+.
8. Den Score lesen
Der Runner klassifiziert jedes Beispiel in eine Konfusionsmatrix und leitet die Schlagzeilen-Metriken daraus ab:| Begriff | Bedeutung |
|---|---|
| Recall | Von den Prompts, die die Policy auslösen sollten, wie viele es taten. Niedriger Recall = Misses. |
| Precision | Von den Prompts, die die Policy auslöste, wie viele es sollten. Niedrige Precision = False Positives. |
| F1 | Das harmonische Mittel — eine Zahl, die schiefe Justierung bestraft. |
9. Wie es weitergeht
False Positives justieren
Verwandeln Sie eine failures-Liste in eine engere, geräuschärmere
Policy.
Streaming-Abdeckung
Welche Stage-/Action-Kombinationen auf SSE-Traffic halten — verifizieren
Sie, bevor Sie sich darauf verlassen.
Matches-Feed
Sobald live, landet jede Regel, die feuert, hier — das Produktions-Pendant
zu Eval.
Versionierung
Diffen und reverten Sie eine Policy, nachdem ein Eval Ihnen sagt, dass
die letzte Änderung regressiert hat.
Verwandte Guardrail-Seiten
Verwandte Guardrail-Seiten
Verwandte Konzepte & Bedrohungen
Verwandte Konzepte & Bedrohungen
Vollständige Engine-Referenz
Vollständige Engine-Referenz
Guardrails — jeder Regeltyp, jedes Feld und
jede Route, einschließlich der Eval- und Korpus-API.
