Referenz
Expressions
Die sichere Ausdruckssprache mit Python-ähnlicher Syntax wird für Tool-Bedingungen, Approval-Regeln, Tests und Drain-Filter verwendet. Die Referenz beschreibt verfügbare Variablen, Literale, Zugriffspfade und Operatoren.
Zuletzt aktualisiert
Auf dieser Seite
Beispiele
expressions
context.user.role == "admin"
input.tier in ["pro", "enterprise"] and not context.suspended
param.amount > 1000
entry.changes.after.guardrail_type == "prompt_injection"
status == "completed" and output.confidence >= 0.8
params.customer_id == context.fixture_customer_id and invocations == 1Verfügbare Variablen je Verwendung
Welche Variablen ein Ausdruck verwenden kann, hängt vom jeweiligen Konfigurationsfeld ab. Enthält er eine dort nicht verfügbare Variable, wird er je nach Verwendung abgelehnt oder als nicht erfüllt ausgewertet.
| Variable | Verwendet von | Wert |
|---|---|---|
| input.<path> | Bedingt verfügbare Tools | Die eingehende JSON-Payload der Verbindung. |
| context.<path> | Bedingungen, Approvals, Tests | Werte, die dem Kontext des Runs oder Test-Builders hinzugefügt wurden. |
| param.<path> / params.<path> | Approvals / Tests | Argumente des ausgewerteten Tool-Aufrufs. |
| output | Test Assertions | Die Antwort des Agenten: Gültiges JSON wird automatisch geparst, andere Antworten bleiben als String erhalten. |
| entry.<path> | Log- und Audit-Drains | Ein Feld aus dem Log- oder Audit-Eintrag, dessen Weiterleitung geprüft wird. |
| error | Test Assertions | Der Run-Fehler oder null. |
| status | Test Assertions | Der abschließende Status des Runs. |
| invocations | Tool-Call Assertions | Die Anzahl passender Tool-Aufrufe. |
Grammatik
Vergleiche
==, !=, <, <=, >, >=, in, not in, is und is not.Boolesche Operatoren
Kombiniere Bedingungen mit
and, or und not. Ein alleinstehender Zugriffsausdruck wird als boolescher Wert ausgewertet.Literale
Strings, Zahlen,
true, false, null sowie Listen-, Tupel-, Set- oder Objekt-Literale.Datenzugriff
Lies verschachtelte Daten mit Punktnotation oder Indexzugriffen, zum Beispiel
context.user.id oder input["items"][0].Bewusst eingeschränkt
Funktionsaufrufe, Imports, Arithmetik, Zuweisungen und der Zugriff auf private Attribute werden nicht unterstützt. Expressions sind auf 2.000 Zeichen begrenzt. Ungültige Expressions werden je nach Feld abgelehnt oder als false ausgewertet.
Interpolation funktioniert anders
Expressions geben einen Wert für ein bedingtes Feld zurück. Interpolation setzt einen Wert in Text ein: Nutze $${VAR_NAME} für Umgebungsvariablen und, wo dokumentiert, $${context.user_id} für den Kontext eines einzelnen Runs. Prompt-Vorlagen verwenden {name}; mehr dazu unter Kontext.