CommunitySchreiben & Editierengithub.com

InvariantEval

Deklarierte Sicherheitsinvarianten als Prüfung: Erzwingt deine festgelegten Feldregeln bei jeder Ausgabe und verweigert den Abschluss, wenn ein Modell ein menschenbesetztes Feld automatisch ausfüllt. Inklusive MCP-Tool und Agenten-Skill.

Was ist InvariantEval?

InvariantEval ist ein Agenten-Skill, der deklarierte Invarianten für strukturierte Ausgaben durchsetzt – ohne das Modell zu ‚korrigieren‘ oder Ausgaben umzuschreiben. Seine Hauptaufgabe ist es, den Abschluss (Finalisierung) einer Aktion zu verweigern, wenn ein vom Menschen kontrolliertes Feld automatisch vom Modell befüllt wurde und keine menschliche Bestätigung vorliegt. Das Skill eignet sich für Workflows, in denen Kritikalitätsentscheidungen (z. B. pass/fail, Compliance-Status) von einem Menschen getroffen werden müssen. Es erfordert eine explizit deklarierte `suite.yaml` mit Feldrichtlinien und Invarianten-Assertions – kein automatisches Raten von Regeln. Entwickler können das Skill entweder als CLI-Tool oder als MCP-Server einbinden. Der Ablauf ist klar: Modellausgabe parsen, Prüfung laufen lassen, bei Fehler den Abschluss verweigern und den Benutzer um Korrektur oder Bestätigung bitten. Erst wenn die Prüfung mit Exit-Code 0 durchläuft, darf die Ausgabe finalisiert werden. Das Skill zwingt Teams, Sicherheitsregeln explizit zu definieren und reduziert unbeabsichtigte Modell-Annahmen über ‚menschengeführte‘ Felder.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add AlpharomeroJL/invarianteval

Installed? Explore more Schreiben & Editieren skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

InvariantEval-Agenten-Skill

InvariantEval erzwingt die von dir deklarierten Invarianten. Es macht keinen Agenten "korrekt" und es schreibt keine Ausgabe für dich um. Die einzig ehrliche Behauptung: Dein Agent wendet deine deklarierten Sicherheitsregeln auf jede Ausgabe an und verweigert den Abschluss, wenn ein gesperrtes Feld ohne menschliche Bestätigung automatisch ausgefüllt wurde.

Wann dieses Skill verwenden

Verwende es vor dem Abschluss jeder strukturierten JSON- (oder ähnlichen) Ausgabe, wenn:

  • Die Domäne deklarierte gesperrte Felder hat (bestanden/nicht bestanden, Compliance-Status usw.)
  • Du eine suite.yaml mit field_policies und Invarianten-Assertions hast (oder benötigst)
  • Ein Mensch bestimmte Felder besitzen soll und das Modell sie nicht eigenmächtig vorgeben darf

Verwende dieses Skill nicht, um Invarianten zu erraten. Deine Aufgabe ist es, das Deklarieren reibungslos zu gestalten, nicht sie abzuleiten.

Arbeitsablauf

1. Eine deklarierte Suite finden oder erstellen

  • Eine vorhandene suite.yaml im Projekt finden, oder
  • suite.template.yaml ins Projekt kopieren und den Benutzer bitten, field_policies, equivalence_classes und assertions auszufüllen.

Erfinde niemals gesperrte Felder ohne Benutzerdeklaration in der Suite.

2. Die Invariantenprüfung vor dem Abschluss ausführen

Du hast die roh geparste Ausgabe des Modells und die beabsichtigte endgültige Ausgabe. Führe aus:

python agent-skill/invarianteval/check.py \
  --suite pfad/zu/suite.yaml \
  --case-id agent-check \
  --model-parsed /tmp/model_parsed.json \
  --final-output /tmp/final_output.json \
  --human-confirmed /tmp/human_confirmed.json

Schreibe die JSON-Dateien aus dem aktuellen Durchlauf. --human-confirmed ist optional (verwende {}, wenn nichts explizit bestätigt wurde).

Die Suite muss einen Fall mit der angegebenen --case-id (Standard: agent-check) enthalten und die Assertions, die du erzwingen möchtest.

3. Wenn die Prüfung fehlschlägt: STOPP

  • Schließe nicht ab, committe oder präsentiere die Ausgabe nicht als vollständig.
  • Zeige den genauen Invariantenfehler aus der CLI-Ausgabe (z. B. never_auto_filled[pass_fail_result]).
  • Fordere eine der folgenden Optionen:
    • Der Benutzer bearbeitet die endgültige Ausgabe, um den Verstoß zu entfernen oder zu korrigieren, oder
    • Der Benutzer bestätigt das Feld explizit (human_confirmed in der Fixture), oder
    • Der Benutzer aktualisiert die deklarierte Suite, falls die Regel falsch war (selten).

4. Wenn die Prüfung bestanden wird: Fortfahren

Schließe nur nach Exit-Code 0 ab.

MCP-Alternative

Wenn die Umgebung die [mcp]-Erweiterung installiert hat, bevorzuge das check_invariants MCP-Tool für die gleichen Eingaben. Siehe docs/mcp.md.

Ehrlicher Rahmen (erforderlich)

  • Sage: "deklarierte Invarianten", "verweigert den Abschluss", "gesperrtes Feld automatisch ausgefüllt"
  • Sage niemals: "selbstkorrigierend", "macht den Agenten korrekt", "Invarianten automatisch ableiten"

Verwandte Skills