Schrittprüfungen: Der Zustand stimmte, der Agent nicht
Stripe sah perfekt aus. Der Agent hatte trotzdem zweimal versucht zu kündigen. Warum wir jetzt den OpenTelemetry-Trace des Agenten lesen – und warum ein fehlender Trace nie einen Test scheitern lässt.

Zustandsprüfungen beantworten die wichtigste Frage: Ist das Konto am Ende im richtigen Zustand? Manchmal landet es dort aber nur durch Glück.
Richtiger Zustand, falsche Schritte
In einem Lauf schlug der Agent dieselbe Kündigung zweimal vor. Guard erkannte das Duplikat und tat beim zweiten Mal nichts, also sah Stripe perfekt aus. In der Produktion, mit einer Erstattung statt einer Kündigung und einem anderen Idempotenzschlüssel, könnte dieselbe Angewohnheit Geld kosten.
Was eine Schrittprüfung ist
Eine Regel dafür, wie der Agent ans Ziel kam, festgelegt pro Szenario:
- ein Tool wird vor einem anderen aufgerufen (erst das Abonnement nachschlagen, dann kündigen);
- ein Tool wird höchstens N-mal oder nie aufgerufen;
- der Agent antwortet erst, nachdem COLVO entschieden hat;
- kein Schritt endete mit einem Fehler.
Schrittprüfungen sind deterministisch und können nur ein FAIL hinzufügen. Sie verwandeln nie ein FAIL in ein PASS – der Zustand entscheidet weiterhin.
Woher die Schritte kommen
Ihr Agent exportiert seinen OpenTelemetry-Trace während des Tests an COLVO, mit dem testspezifischen Schlüssel aus der Anfrage. Wir folgen den GenAI-Konventionen (Spans chat … und execute_tool …) und speichern nur Namen, Zeiten, Modelle und Token-Zahlen – nie Prompts, Antworten oder Tool-Argumente. Mit dem OpenAI-Preset führt COLVO das Gespräch selbst und zeichnet so jeden Schritt ohne Einrichtung auf.
Vorschläge zählt immer COLVO, und pro Aktion gilt die Quelle, die mehr Aufrufe gesehen hat: Eine Wiederholung, die Guard dedupliziert hat, zählt trotzdem.
Kein Trace? Keine Strafe
Sendet der Agent keinen Trace, erscheinen Prüfungen zu seinen eigenen Tools als „nicht geprüft“. Ein fehlender Trace ist nie ein FAIL.


