§ DOCUMENTATION
Modellgeprüfte Regeln
Manche Regeln passen in kein Muster: „nie mehr als 100 Euro Erstattung zusagen“, „keine medizinische Beratung“. Formulieren Sie sie in eigenen Worten. Nach jeder Aktion liest ein Modell, was der Agent gesagt oder getan hat, hält fest, ob die Regel verletzt wurde, und sagt es, wenn es das nicht beurteilen konnte.
Was es ist, und was nicht
Eine Richtlinie vom Typ semantic_rule enthält einen Satz in eigenen Worten. Er wird nicht in eine feste Regel übersetzt: Jede gespeicherte Aktion, für die die Richtlinie gilt, wird im Hintergrund nach der Aktion von einem Modell gegen Ihren Satz beurteilt.
- Nur Überwachen oder Warnen. Sie kann eine Aktion weder blockieren noch zur Freigabe anhalten; die API lehnt diese Modi ab. Im Modus Warnen wird ein Verstoß wie jeder andere erfasst, mit Vorfall.
- Tarife Professional und Enterprise.
- Ein starkes Signal, kein Beweis. Ein Modell beurteilt, und Modelle irren, vor allem bei Grenzfällen. Jeder Verstoß weist aus, dass er modellgeprüft ist, von welchem Modell, mit welcher Konfidenz und warum.
Das unterscheidet sich vom Modus „Klartext“ im Dashboard, der einen Satz beim Speichern einmal in eine feste, deterministische Richtlinie übersetzt.
Eine Regel schreiben
Im Dashboard: Richtlinien, Neu, Modellgeprüfte Regel. Oder über die API wie jede Richtlinie:
{ "name": "Keine Erstattungen über 100 Euro", "policyType": "semantic_rule", "enforcementMode": "warn", "ruleDefinition": { "statement": "Der Agent darf Kunden keine Erstattung über 100 Euro zusagen.", "applies_to": "output", "examples": { "violating": ["Ich habe Ihnen die vollen 300 Euro auf Ihre Karte erstattet."], "allowed": [ "Eine Erstattung von 300 Euro kann ich nicht zusagen; das entscheidet eine Vorgesetzte.", "Ich habe Ihnen 60 Euro für den fehlenden Artikel erstattet." ] } }}| Feld | Bedeutung |
|---|---|
statement | Die Regel, 10 bis 1000 Zeichen. Sagen Sie, was der Agent tun oder unterlassen muss, und nennen Sie Grenzen und Ausnahmen im Satz. |
applies_to | output (Standard: was der Agent gesagt oder getan hat), input (worum er gebeten wurde) oder both. |
examples | Bis zu 10 verstoßende und 10 erlaubte Beispiele, die bei jeder Beurteilung mitgehen. Ihr stärkster Hebel. |
min_confidence | Ein Verstoß zählt erst ab dieser Konfidenz (Standard 0,8). Die bisher gemessenen Modelle melden bei fast jeder Antwort 0,95 oder mehr; eine Änderung ändert daher selten ein Ergebnis. |
Prüfen Sie die Beispiele vor dem Speichern. Die Prüfung beurteilt jedes Beispiel gegen die Regel ohne dieses Beispiel (ein Modell, das es sieht, würde es nur wiederholen) und zeigt, wo das Modell abweicht. Eine Abweichung heißt: Der Satz sagt noch nicht, was Sie meinen. Formulieren Sie genauer oder fügen Sie ein Beispiel dieser Art hinzu. Ein Modellaufruf pro Beispiel; nur für Admins.
POST /api/v1/policies/semantic-rule/check-examples{ "ruleDefinition": { "statement": "…", "examples": { … } } } { "data": { "checked": 3, "matched": 2, "mismatched": 1, "notJudged": 0, "examples": [ { "text": "Eine Erstattung von 300 Euro kann ich nicht zusagen; …", "expected": "no_violation", "outcome": "violation", "matches": false, "reason": "Mentions a refund of 300 euros." } ] }}Eine modellgeprüfte Regel kann weder Voraussetzung einer anderen Richtlinie sein noch selbst Voraussetzungen haben: Richtlinienketten werden in einem Durchgang entschieden, bevor das Modell beurteilt hat.
Welches Modell beurteilt, und wie es geprüft wird
Die Regel beurteilt das Modell, das die Installation für ihre KI-Funktionen nutzt. Im gehosteten Produkt ist das ein gehostetes Modell; Satz, Beispiele und der geprüfte Teil der Aktion gehen an denselben Anbieter, zu denselben Bedingungen, wie die Eingaben, die der semantische Klassifikator von Execlave schon sendet. Eine selbst betriebene Installation nutzt ihr lokales Modell, und nichts verlässt sie.
Das Modell entscheidet über die Qualität. Mit demselben Prompt meldete ein Modell 3 % der erlaubten Aktionen als Verstoß, andere 20 % und 45 %. Deshalb prüft die Installation ihr eigenes Modell, bevor es beurteilen darf: Beim Start des Workers laufen 206 gekennzeichnete Aktionen zu 13 Regeln, auf Englisch und Deutsch, mit Grenzfällen und an den Prüfer gerichtetem Inhalt, und das Ergebnis wird gespeichert. Nach sieben Tagen wird es erneuert.
| Ergebnis | Was passiert |
|---|---|
qualified | Präzision mindestens 90 %, höchstens 10 % der erlaubten Aktionen gemeldet, mindestens 90 % der Verstöße gefunden, kein erfolgreicher Angriff. Das Modell beurteilt. |
pending | Noch nicht geprüft. Regeln können gespeichert werden; Aktionen gelten bis zum Ergebnis als nicht beurteilt und werden danach nachgeholt. |
not_qualified | Damit wird nichts beurteilt, und neue Regeln werden mit Nennung der verfehlten Kriterien abgelehnt. |
Der Status-Endpunkt (Rolle Developer) sagt, ob Ihre Organisation den Typ jetzt nutzen kann, was dem entgegensteht und was das Modell gemessen hat:
GET /api/v1/policies/semantic-rule/status { "data": { "available": true, "blocker": null, "plan": "professional", "modes": ["monitor", "warn"], "judging": true, "model": { "name": "groq:openai/gpt-oss-120b", "qualification": "qualified", "overridden": false, "checkedAt": "2026-10-06T08:00:00.000Z", "cases": 206, "precision": 0.95, "falsePositiveRate": 0.05, "recall": 1, "failedCriteria": [] } }}Einstellungen für selbst betriebene Installationen:
# Selbst betrieben: das lokale Modell (Ollama oder ein kompatibler Server)LOCAL_LLM_URL=http://localhost:11434SEMANTIC_RULE_MODEL=qwen3.5 # Standard: CLASSIFIER_MODELSEMANTIC_RULE_TIMEOUT_MS=8000 # Stattdessen gehostete Inferenz (LLM_PROVIDER=groq)GROQ_SEMANTIC_RULE_MODEL=… # Standard: GROQ_CLASSIFIER_MODEL # Mit einem Modell beurteilen, das die Prüfung nicht bestanden hat (als zugelassen angezeigt)SEMANTIC_RULE_ALLOW_UNQUALIFIED_MODEL=falseWas für jede Aktion erfasst wird
Eine Beurteilung je Regel und Aktion, mit Modell, Prompt-Version und einem Hash des Satzes, gegen den beurteilt wurde. Eine echte Beurteilung ist endgültig und wird nie überschrieben.
| Ergebnis | Bedeutung |
|---|---|
violation | Das Modell fand einen Verstoß ab min_confidence. Im Modus Warnen zusätzlich ein Richtlinienverstoß, ein Audit-Eintrag und ein Vorfall, als modellgeprüft gekennzeichnet. |
no_violation | Das Modell hat die Aktion beurteilt und keinen Verstoß gefunden. |
not_judged | Niemand hat sie beurteilt, mit Grund: Modell nicht erreichbar oder begrenzt, falsches Antwortformat, nichts zu beurteilen, an den Prüfer gerichteter Inhalt, Tarif oder Modell nicht zugelassen. Zählt nie als bestanden. |
Beurteilungen werden so lange aufbewahrt wie die Traces, um die es geht, nach der Aufbewahrungsfrist Ihres Tarifs.
Ergebnisse lesen
Die Seite der Richtlinie zeigt, wie ihr Verkehr der letzten 24 Stunden, 7 oder 30 Tage ausfiel, und jede Beurteilung mit der Begründung des Modells, verlinkt zum Trace. Die Abdeckung wird aus den gespeicherten Aktionen gezählt, nicht aus den Beurteilungen: Eine Aktion, die das Modell nie gesehen hat, erscheint als „noch nicht beurteilt“ und verschwindet nicht aus der Zählung.
GET /api/v1/policies/{id}/judgements/coverage?days=7 { "data": { "windowDays": 7, "traces": 1240, "violation": 9, "noViolation": 1198, "notJudged": 21, "notJudgedByReason": { "rate_limited": 17, "no_content": 4 }, "unjudged": 12, "unjudgedRecent": 12 }}Die Beurteilungen selbst: GET /api/v1/policies/{id}/judgements mit outcome, limit und dem nextCursor der vorigen Seite. Viewer sehen sie nicht: Die Begründung des Modells kann zitieren, was der Agent gesagt hat.
Gemessene Genauigkeit
Am gekennzeichneten Satz, mit Regeln als bloßem Satz (Oktober 2026, lokale Modelle auf einem Rechner):
| Modell | Gefundene Verstöße | Gemeldete erlaubte Aktionen | Mit Beispielen |
|---|---|---|---|
| qwen3.5 (9,7 Mrd.) | 100 % | 3–5 % | 1 % |
| qwen2.5-coder 7B | 100 % | rund 20 % | 13 % |
| llama3.2 (3,2 Mrd.) | 100 % | 45 % | nicht gemessen |
Das gehostete Modell misst die Installation beim Start selbst; seine Werte stehen im Status-Endpunkt und im Anlageformular. 206 eigens geschriebene Aktionen sind ein kleiner Satz: Lesen Sie die Zahlen als Anhaltspunkt, nicht als Garantie.
Was das nicht abdeckt
- Es stoppt keine Aktionen. Siehe die erste Frage unten.
- Große Inhalte im Objektspeicher werden nicht geladen; eine solche Aktion gilt als nicht beurteilt.
- Nur Aktionen nach der letzten Änderung der Regel werden dagegen beurteilt. Eine Aktion, die binnen sechs Stunden nie beurteilt wurde, bleibt nicht beurteilt.
- Die Begründung des Modells ist meist Englisch, gleich in welcher Sprache Aktion oder Dashboard sind.
- Nicht im Testtarif.