> Ein Test von Guardrails AI: 65 Validatoren, acht on-fail-Aktionen, das Ende der gehosteten Inferencing im August 2026 und wann NeMo Guardrails besser passt.
>
> Web page: https://balazscsorba.com/de/blog/guardrails-ai · Language: Deutsch · Also available in: [English](https://balazscsorba.com/blog/guardrails-ai.md) · [Magyar](https://balazscsorba.com/hu/blog/guardrails-ai.md)
> Author: Balázs Csorba · Published: 2026-09-29 · Keywords: guardrails ai, guardrails ai validators, llm output validation python, guardrails vs nemo guardrails, guardrails on_fail actions, llm guardrails framework, pii validation llm output

[Blog](https://balazscsorba.com/de/blog)/Sicherheit & Compliance

# Guardrails AI: prüfen, was das Modell zurückgibt

Ein Test von Guardrails AI: 65 Validatoren, acht on-fail-Aktionen, das Ende der gehosteten Inferencing im August 2026 und wann NeMo Guardrails besser passt.

[Balázs Csorba](https://balazscsorba.com/de/about)·29\. September 2026·10 Min. Lesezeit

-   Guardrails
-   Output validation
-   LLM reliability
-   Python

![Zwei senkrechte Wände bilden einen Gang mit zwölf kleinen Quadraten an den Innenflächen.](https://balazscsorba.com/images/blog/guardrails-ai/cover.webp?v=8269cf81bc)

## Das Wichtigste in Kürze

-   Der Hub liefert 65 Validatoren als eigene guardrails-ai-Pakete, und jeder Validator erklärt eine von acht Fehleraktionen, von noop bis refrain.
-   Nur noop und exception funktionieren bei Stream-Ausgaben; reask, fix, fix\_reask, filter und refrain brauchen die vollständige Ausgabe.
-   Die gehostete Remote-Inferencing wurde zum 25. August 2026 abgeschaltet; das Framework läuft danach vollständig lokal.
-   Reask ist ein zweiter vollständiger Modellaufruf pro Versuch, also ist die Lizenz Apache-2.0, aber die Wiederholungsschleife wächst mit der Fehlerrate.
-   OpenAI führt omni-moderation-latest als kostenlos, deshalb muss der Fall für Guardrails auf Regeln, Struktur und Protokoll stehen, nicht auf Moderation allein.

Auf dieser Seite

1.  [Was es wirklich ist](https://balazscsorba.com/#what-it-is)
2.  [So funktioniert es](https://balazscsorba.com/#how-it-works)
3.  [Wenn ein Validator fehlschlägt](https://balazscsorba.com/#error-handling)
4.  [Erste Schritte](https://balazscsorba.com/#getting-started)
5.  [Kosten](https://balazscsorba.com/#cost)
6.  [Wo es schwächelt](https://balazscsorba.com/#where-it-shingles)
7.  [Fazit](https://balazscsorba.com/#verdict)
8.  [Quellen](https://balazscsorba.com/#sources)

Diesen Artikel anhören

0:000:00

Guardrails AI ist ein Open-Source-Framework für Python, das prüft, was ein Modell zurückgibt, bevor eine Anwendung darauf handelt. Die Validatoren liegen in einem Hub aus 65 Paketen, jedes legt fest, was beim Fehlschlag passiert: Ausnahme, Reparatur, erneute Anfrage, Filtern oder keine Rückgabe. Das Projekt steht unter Apache-2.0, die Version 0.11.0 wurde am 14. August 2026 veröffentlicht, gesteuert wird es aus Python, JavaScript ist im README unterstützt.

Es besetzt die Schicht zwischen einem LLM-Aufruf und dem Code, der dessen Ausgabe konsumiert, und dort entscheidet sich, ob ein durchgesickertes Systemprompt, eine Zusammenfassung mit personenbezogenen Daten oder ein defektes JSON beim Nutzer ankommt. Es konkurriert mit [Mustern zur Prompt-Injection-Abwehr](https://balazscsorba.com/de/blog/prompt-injection-lethal-trifecta-patterns) um dieselbe Stelle wie NVIDIA NeMo Guardrails, mit dem Moderations-Endpunkt von OpenAI als gehostete Abkürzung und mit den handgeschriebenen Prüfungen, die die meisten Teams bereits haben. Die hier vertretene Position: die vollständigste Validatoren-Bibliothek des Feldes, deren Fehlermodell besser konstruiert ist als sein Betriebsmodell, bei dem der kostenlose Teil die Software ist und der teure Teil die Wiederholungen.

## Was es wirklich ist

Die Arbeitseinheit ist ein Guard: eine geordnete Liste von Validatoren, die entweder auf die ausgehenden Nachrichten angewendet wird, mit `on="messages"`, oder auf die Antwort. Die Validatoren kommen aus dem Hub und installieren als eigene PyPI-Pakete, eine Deployment führt also nur die Prüfungen aus, die es auch nutzt. Manche sind Regeln wie Regex, Länge und JSON-lesbarkeit, manche laufen als kleines lokales Modell, und manche rufen ein zweites LLM auf, um das erste zu bewerten.

-   **Hub.** 65 Validatoren, gruppiert nach Risiko: Markenrisiko, Formatierung, Etikette, Jailbreaking, Datenabfluss, Code-Exploits und Faktizität.
-   **Paketierung.** Jeder Validator ist ein eigenes Paket, das nach guardrails configure installiert wird, etwa guardrails-ai-regex-match oder guardrails-ai-detect-pii.
-   **Zwei Richtungen.** Guards laufen auf den Nachrichten vor dem Aufruf und auf der Modellausgabe danach, und dasselbe Guard-Objekt kann beides.
-   **Strukturierte Generierung.** Guard.for\_pydantic steuert das Modell gegen eine Pydantic-Klasse und prüft das geparste Objekt, per Function Calling wo das Modell es kann und über Prompt-Vorlagen wo nicht.
-   **Lizenz und Version.** Apache-2.0, Python 3.10 bis 3.13, Version 0.11.0 vom 14. August 2026, mit rund 7.500 Sternen auf GitHub.
-   **Servermodus.** guardrails start startet einen Flask-Dienst, der jeden Guard hinter einer OpenAI-kompatiblen Basis-URL ausliefert, ein bestehender Client ändert damit nur eine Zeichenkette.

## So funktioniert es

Die Validierung ist standardmäßig synchron: die Rohausgabe hinein, jeder Validator der Reihe nach, jeder Fehler wird an `guard.history.last.failed_validations` angehängt, und die on-fail-Aktion dieses Validators entscheidet, was den Guard verlässt. Die Aktion wird pro Validator statt pro Guard gesetzt, ein Guard kann also bei personenbezogenen Daten eine Ausnahme werfen und bei einem Formatfehler nur protokollieren. reask baut einen Prompt mit dem gescheiterten Kriterium neu auf und fragt das Modell erneut, bis zur Grenze num\_reasks.

![Guardrails AI: ein geschützter Modellaufruf Nachrichten laufen durch einen Input-Guard, das Modell antwortet, die Antwort läuft durch einen Output-Guard, und jeder Validierungsfehler wird protokolliert und an eine von acht on-fail-Aktionen weitergereicht, von denen nur noop und exception mit Streaming funktionieren.](https://balazscsorba.com/images/blog/guardrails-ai/diagram-7.webp?v=1cec200edf)

on-fail wird pro Validator statt pro Guard gesetzt, ein Guard kann also bei personenbezogenen Daten eine Ausnahme werfen und bei einem Formatfehler nur protokollieren.

Da Fehler unabhängig davon protokolliert werden, ob sie den Ablauf stoppen, liefert auch ein Guard auf noop eine Prüfspur, und noop ist ohnehin die Voreinstellung. Bei Aufrufen an einen Anbieter wiederholt das Framework Verbindungsfehler, Ratenlimits und Zeitüberschreitungen mit exponentiellem Backoff bis zu einer Wartezeit von sechzig Sekunden, ein Anbieterausfall erscheint damit als Latenz im Guard und nicht als sofortige Ausnahme.

## Wenn ein Validator fehlschlägt

Acht Aktionen stehen zur Verfügung, und sie sind die eigentliche Schnittstelle dieses Tools, mehr als die Validatorenliste. Die Dokumentationstabelle markiert, welche davon gegen eine Streaming-Ausgabe funktionieren, und diese Spalte entscheidet mehr Architekturfragen als die Feature-Liste.

Aktion

Was sie tut

Streaming

Einsatzort

noop

Protokolliert den Fehler und gibt die Ausgabe unverändert zurück; das ist die Voreinstellung

Ja

Messen, wie oft Prüfungen scheitern

exception

Wirft eine Ausnahme, damit der Aufrufer den Fehler behandelt

Ja

Eingabevalidierung und strenge Pipelines

reask

Baut den Prompt mit dem gescheiterten Kriterium neu auf und fragt das Modell erneut

Nein

Weiche Fehler, die ein zweiter Durchgang behebt

fix

Wendet den Reparaturwert des Validators an, etwa anonymisierte personenbezogene Daten

Nein

Scrubbing und Formatkorrekturen

fix\_reask

Repariert zuerst und fragt erneut, wenn der reparierte Wert weiterhin fehlschlägt

Nein

Reparaturen, die unvollständig bleiben können

filter

Verwirft das fehlerhafte Feld und gibt den Rest des strukturierten Objekts zurück

Nein

Strukturierte Daten mit optionalen Feldern

refrain

Gibt nichts zurück, wenn die Ausgabe nicht ausgeliefert werden darf

Nein

Inhalt, der Nutzer nicht erreichen darf

custom

Führt eine eigene Funktion über Wert und Fehlerergebnis aus

Nein

Richtlinien, die bereits im Code stehen

Der mutige Teil: reask ist die beworbene Funktion und die, die man sorgfältig budgetieren muss, denn jeder reask ist eine zweite vollständige Generierung zum selben Satz wie die erste, und er multipliziert sich mit der Fehlerrate statt mit dem Traffic. Die Dokumentation selbst weist komplexe Fälle von reask weg und empfiehlt einen ansatzbasierten Ansatz, sobald die Fälle wachsen, weil eine Ausnahme einem Handler erlaubt, je nach gescheitertem Validator zu verzweigen, statt das still zurückgegebene Ergebnis von reask zu interpretieren.

## Erste Schritte

Die Installation besteht aus dem Kernpaket und den Validatoren, die der Guard braucht, danach richtet guardrails configure die Zugangsdaten ein. Ein Guard entsteht im Code, nicht in einer Konfigurationsdatei, dadurch steht die Fehleraktion neben der Prüfung, zu der sie gehört.

```
# pip install guardrails-ai guardrails-ai-detect-pii
from guardrails import Guard, OnFailAction
from guardrails_ai.detect_pii import DetectPII

guard = Guard().use(
    DetectPII(pii_entities="pii", on_fail=OnFailAction.FIX)
)

result = guard.validate(
    "Hello, my name is John Doe and my email is john.doe@example.com"
)

print(result.validation_passed)   # True once the scrub lands
print(result.validated_output)    # <PERSON> and <EMAIL_ADDRESS>
```

Für Aufrufer ohne Python bedient guardrails start jeden Guard an einer Basis-URL der Form localhost:8000/guards/<name>/openai/v1/, ein bestehender OpenAI-Client zeigt darauf hin, ohne neues SDK. Das README nennt zusätzlich JavaScript als unterstützt, wobei das Python-Paket die Referenzimplementierung bleibt.

**Der gehostete Weg endete im August 2026**

Das Projekt kündigte am 6. Juli 2026 an, die gehostete Remote-Inferencing abzuschalten, mit einem geplanten Stichtag am 25. August 2026, und Validatoren auf Standard-PyPI-Pakete umzustellen, die direkt mit pip installiert werden. Alles, was sich auf den gehosteten Inferencing-Dienst stützte, musste bis zu diesem Datum über Issue 1560 migrieren.

Nach dem Stichtag läuft das Framework vollständig lokal, was der vorhersehbarere Betriebsmodus ist, gleichzeitig verbrauchen die ML-Validatoren jetzt Speicher und CPU des eigenen Deployings statt eines Anbieter-Endpunkts.

## Kosten

Die Software ist im strengen Sinne kostenlos: Apache-2.0 deckt das Framework und jeden Hub-Validator, und zwischen Installation und Validierung steht nichts Abrechenbares. Die Rechnung entsteht woanders, bei dem, was die Validatoren unterwegs aufrufen.

-   **Lizenz.** Apache-2.0 für Framework und Validatoren; es gibt keine bezahlte Stufe der Bibliothek selbst.
-   **LLM-Prüfungen.** Validatoren wie llm\_critic, provenance\_llm und qa\_relevance\_llm\_eval kosten pro Prüfung und Antwort einen zusätzlichen Modellaufruf.
-   **Reasks.** Jeder reask ist eine vollständige Neugenerierung, und num\_reasks legt fest, wie oft eine Antwort neu erzeugt werden darf, bevor der Guard aufgibt.
-   **Lokales ML.** Validatoren wie detect\_pii laufen mit Presidio im Prozess, ihr Preis ist Speicher und Latenz statt Tokens.
-   **Servermodus.** Der optionale Flask-Dienst ist Infrastruktur, die das Deployment selbst betreibt, skaliert und absichert.

Der Vergleich, der zählt, ist der gegen gehostete Moderation. OpenAI führt omni-moderation-latest auf der Preisseite als kostenlos, und NeMo Guardrails steht ebenfalls unter Apache-2.0, keiner der beiden Wettbewerber verlangt also eine Lizenz für dieselbe Aufgabe. Was Guardrails verkauft, ist Abdeckung: ein Moderations-Endpunkt beantwortet eine Frage zur Inhaltspolitik, der Hub kann im selben Durchgang auch Schema, Länge, Wettbewerbernennungen, Prompt-Leakage und Provenienz erzwingen.

**Den Guard rechnen, nicht das Paket**

Kosten Sie einen Guard pro Antwort als Modellaufrufe der Validatoren plus Reask-Rate mal num\_reasks mal Tokenkosten. Ein Moderations-Endpunkt, der nichts kostet, und eine Reask-Schleife, die eine zweite Generierung kostet, sind keine vergleichbaren Positionen, und die zweite wächst mit der Fehlerrate statt mit dem Traffic.

## Wo es schwächelt

Die Schwächen sind betrieblicher Natur und zeigen sich nach der ersten Woche. Der Hub mischt eine Regex, ein BERT-Modell und einen LLM-Judge hinter einer Abstraktion, die Latenz unterscheidet sich also um Größenordnungen zwischen den Validatoren und die Dokumentation kennt keinen Latenzbudget-Wert pro Validator. Der Sprachfilter des Hubs listet nur Englisch. Die Streaming-Unterstützung endet bei noop und exception, was das Tool für Ausgabe Token für Token ausschließt, wenn die Antwort nicht vollständig gepuffert wird. Und die Abschaltung der gehosteten Inferencing im August 2026 war eine Breaking Change an einem Dienst, den einige Deployings aufgebaut hatten.

Merkmal

Guardrails AI

NVIDIA NeMo Guardrails

OpenAI Moderation API

Gestalt

Python-Bibliothek plus 65 Hub-Validatoren

YAML-Regeln und Colang-Dialoge

Ein gehosteter Endpunkt

Lizenz

Apache-2.0, nach August 2026 vollständig lokal

Apache-2.0, optionale anonyme Telemetrie

Geschlossen, von OpenAI betrieben

Konfiguration

Python-Code, on\_fail pro Validator

Dateien in einem rails-Verzeichnis

Eine einzelne Moderationsanfrage

Kosten pro Anfrage

Freie Software; LLM-Validatoren und Reasks werden separat berechnet

Freie Software; Rails können ein LLM aufrufen

omni-moderation-latest als kostenlos geführt

Die dritte Alternative ist die, die die meisten Teams tatsächlich ausliefern: handgeschriebene Prüfungen um den Aufruf, eine if-Abfrage für das JSON-Parsing und ein Regex für alles, was wie eine Kontonummer aussieht. Das ist billiger als alle drei Zeilen oben und scheitert konstruktiv still, und genau dieser Fehlertyp ist der Grund für diese Kategorie. Der ehrliche Vergleich ist nicht Guardrails gegen NeMo, sondern Guardrails gegen das, was ein Team nachmittags schreibt und danach vergisst zu erweitern.

## Fazit

Einsetzen, wo eine schlechte Antwort Geld, Daten oder Glaubwürdigkeit kostet und wo die Aufzeichnung dessen, was fehlschlug, ebenso zählt wie der Fehler selbst. Das ist das vollständigste Validatorenkatalog unter freier Lizenz, und die Fehleraktion pro Validator ist ein besserer Entwurf als ein globaler Politikschalter. Die Kosten sind die jedes prüfenden Codes im Prozess: man betreibt ihn, man justiert ihn, und man zahlt für die Aufrufe, die die Validatoren auslösen.

1.  Verwenden, wenn eine Antwort den Dienst verlässt: personenbezogene Daten in einer Support-Zusammenfassung, SQL, das ein Nutzer ausführt, strukturierte Ausgabe, die ein anderer Dienst parst.
2.  Verwenden, wenn eine Prüfspur verlangt wird, denn jeder Fehler landet in guard.history, und eine handgeschriebene Prüfung zeichnet sonst wenig auf.
3.  NeMo Guardrails vorziehen, wenn es um Gesprächspolitik geht, etwa wann abgelehnt oder das Thema gewechselt wird, dafür sind Colang-Rails gebaut.
4.  Den kostenlosen Moderations-Endpunkt vorziehen, wenn anstößiger Inhalt das einzige Risiko ist und ein Dependency es nicht wert ist.
5.  Keine Streaming-Reparaturen erwarten: nur noop und exception reagieren auf eine Teilausgabe, also puffern oder die reparierenden Tools weglassen.

> Der Rat der Dokumentation, sobald ein Fall den einfachen Pfad verlässt, lautet: _as usecases get more complex, we recommend switching to an exception-based approach_. Ein Framework, das empfiehlt, seine Kopffunktion zu verlassen, sobald es schwierig wird, ist ehrlich darüber, wo diese Funktion hingehört.

**Eine Faustregel**

Einen Validator auf exception setzen, immer wenn ein Fehler einem Nutzer oder einem Log-Prüfer erklärt werden müsste, reask nur dort nutzen, wo ein zweiter Durchgang tatsächlich eine bessere Antwort ergibt, und diese Durchgänge vorher in die Rechnung nehmen, bevor sie in den Latenzgraphen kommen.

## Quellen

1.  [Guardrails AI auf GitHub: README, News und FAQ](https://github.com/guardrails-ai/guardrails)
2.  [guardrails-ai 0.11.0 auf PyPI](https://pypi.org/project/guardrails-ai/)
3.  [Guardrails Hub: 65 Validatoren](https://www.guardrailsai.com/hub)
4.  [Guardrails-Dokumentation: Fehlerbehandlung und on-fail-Aktionen](https://www.guardrailsai.com/docs/concepts/error_remediation)
5.  [Guardrails-Dokumentation: on-fail-Aktionen nutzen](https://www.guardrailsai.com/guardrails/docs/how-to-guides/use_on_fail_actions)
6.  [Migrations-Issue 1560: Weg von der gehosteten Inferencing](https://github.com/guardrails-ai/guardrails/issues/1560)
7.  [NVIDIA NeMo Guardrails auf GitHub](https://github.com/NVIDIA-NeMo/Guardrails)
8.  [NVIDIA NeMo Guardrails-Dokumentation](https://docs.nvidia.com/nemo/guardrails/latest/index.html)
9.  [OpenAI-API-Preise, einschließlich Moderation](https://developers.openai.com/api/docs/pricing)

## Häufige Fragen

Ist Guardrails AI kostenlos?

Framework und Validatoren stehen unter Apache-2.0 und lassen sich ohne Lizenzgebühr über PyPI installieren. Kosten entstehen dort, wo Validatoren etwas aufrufen: ein LLM-Validator kostet pro Antwort einen zusätzlichen Modellaufruf, und reask erzeugt den Antworttext für jeden Versuch komplett neu.

Was passiert, wenn ein Validator fehlschlägt?

Der Fehler wird in guard.history geschrieben, danach läuft die on-fail-Aktion des Validators: noop protokolliert und gibt den Wert durch, exception wirft eine Ausnahme, fix repariert, etwa durch Anonymisieren von personenbezogenen Daten, reask fragt das Modell erneut, filter verwirft das fehlerhafte Feld, refrain gibt nichts zurück, und eine eigene Funktion erhält Wert und Fehlerergebnis.

Funktioniert es mit Streaming-Ausgaben?

Nur noop und exception sind als streaming-kompatibel dokumentiert. reask, fix, fix\_reask, filter und refrain brauchen die vollständige Ausgabe, ein Token-Strom muss also zuerst gepuffert werden.

Guardrails AI oder NVIDIA NeMo Guardrails?

Guardrails ist eine Python-Bibliothek von Validatoren um einen Aufruf, den es bereits gibt; NeMo ist eine Laufzeit, die den Gesprächsfluss mit YAML-Regeln und Colang-Dialogen übernimmt. Das erste fügt sich in bestehenden Code ein, das zweite ersetzt einen Teil davon.

Geschrieben von Balázs Csorba

Senior Fullstack & AI Engineer in der Steiermark – über 10 Jahre Vue, Nuxt, Node.js und PHP, heute baue ich Werkzeuge für KI-Agenten.

[KI-Entwicklung & MCP-Server →](https://balazscsorba.com/de/expertise/ai-engineer)[Über mich →](https://balazscsorba.com/de/about)

## Weitere Artikel

-   [Output-Guardrails für LLMs: Moderation, sicheres Rendern und Validierung, bevor etwas passiert](https://balazscsorba.com/de/blog/llm-output-guardrails-moderation)
-   [AI-Red-Teaming-Checkliste für LLM-Apps: was man angreifen sollte, bevor es Nutzer tun](https://balazscsorba.com/de/blog/ai-red-teaming-checklist-llm-apps)
-   [Slopsquatting: wenn Coding-Agenten Pakete installieren, die es nicht gibt](https://balazscsorba.com/de/blog/slopsquatting-ai-package-hallucinations)
-   [RAG-Poisoning: wie wenige Dokumente einen Assistenten steuern und wie man die Wissensbasis verteidigt](https://balazscsorba.com/de/blog/rag-poisoning-knowledge-base-attacks)

## Klingt nach dem, was du suchst?

Erzähl mir von deinem Projekt oder deiner Stelle – ich freue mich, von dir zu hören.

[Kontakt aufnehmen](mailto:contact@balazscsorba.com) [Auf LinkedIn vernetzen](https://www.linkedin.com/in/balazs-csorba)
