Mockd Observe
Mockd erfasst die komplette Konversation zwischen deinem Agenten und seinen Tools. Sieh dir jeden Call an und spiele die Session ab, um herauszufinden, wo das Modell ein Tool missversteht, bevor es live geht.
Alles hier unten zeigt einen aufgezeichneten Lauf, dieselbe Sitzung, die /try unter „Demo-Trace ansehen“ öffnet.
- Tool-Calls
- 50
- 17 Tools genutzt
- Fehler
- 4
- 8 %
- Pflichtfelder
- 49/50
- 1 erfundener Parameter
- Median
- 120 ms
| Tool | Aufrufe | Fehler | Median | langsamster |
|---|---|---|---|---|
| Rcrm.deals.search | 5 | 1 · 408 | 233 ms | 3,0 s |
| Wcrm.notes.create | 4 | 1 · 429 | 195 ms | 1,3 s |
| Wcrm.deals.update | 3 | 1 · 500 | 366 ms | 412 ms |
| Wcrm.tickets.create | 2 | 1 · 400 | 178 ms | 298 ms |
Die Übersicht des aufgezeichneten Laufs, unbearbeitet.Diese Ansicht öffnen
Ein Lauf. Vier Arten, ihn zu lesen.
Vier Sichten auf dieselbe aufgezeichnete Session, vom einen Satz über den ganzen Lauf bis zum einzelnen Argument in einem einzelnen Call. Welche du brauchst, hängt davon ab, wonach du suchst; deshalb liegen alle vier einen Klick auseinander.
Das Urteil
Wiederholte Fehler, gesetzte Pflichtfelder, versuchte Schreibzugriffe. Alles benannt, bevor du einen Call öffnest.
- Tool-Calls
- 50
- Fehler
- 4
- Median
- 120 ms
Die Sequenz
Jeder Call auf einer Zeitachse, so breit wie er gedauert hat. Ein Retry-Sturm hat eine Form, die man erkennt.
- crm.pipelines.list78 ms
- crm.owners.list65 ms
- crm.companies.search231 ms
- crm.companies.get91 ms
- crm.contacts.search287 ms
Ein Call im Detail
Jedes Argument am Schema des Tools geprüft, die Antwort daneben, die Latenz dazu.
- dealIdPflicht
- amountPflicht
- stagefehlt
Was sich geändert hat
Die Datensätze, die der Lauf angefasst hat, Feld für Feld, auch die, die er geschrieben und wieder gelesen hat.
Ein Urteil über den Lauf, bevor du einen einzelnen Call öffnest
Fünfzig Calls liest niemand Zeile für Zeile. Deshalb sagt der Viewer zuerst, was er sieht: hat der Agent sich von dem erholt, was schiefging, hat er jedes Pflichtfeld gefüllt, und wie viel des Laufs geschrieben statt gelesen hat.
Das Urteil ist abgeleitet, keine Note
Es benennt, was passiert ist: erneut versuchte Fehler, gesetzte Pflichtfelder, versuchte Schreibzugriffe. Es gibt keine Punktzahl und keinen Schwellwert, über den man streiten müsste.
Pflichtfelder werden am Schema geprüft
Jedes Argument wird am Eingabe-Schema des Tools geprüft. Ein fehlendes Pflichtfeld und ein erfundener Parameter zählen getrennt, weil es zwei verschiedene Fehler sind.
Lesen und Schreiben werden getrennt gezählt
Ob ein Tool verändert, steht im Katalog und wird nicht aus dem Namen geraten. Wo der Katalog schweigt, sagt der Lauf das, statt zu raten.
Jeder Call auf einer Zeitachse
Jeder Balken ist ein Tool-Call, gesetzt an die Stelle, an der er passiert ist, und so breit wie seine Dauer. Die Form eines Laufs verrät ihn meistens zuerst: ein Retry-Gewitter, eine serielle Kette, die parallel hätte laufen können, ein Call, der ein Drittel der Gesamtzeit frisst.
- crm.pipelines.list78 ms
- crm.owners.list65 ms
- crm.companies.search231 ms
- crm.companies.get91 ms
- crm.contacts.search287 ms
- crm.contacts.get84 ms
- crm.contacts.get79 ms
- crm.deals.search408
- crm.deals.search341 ms
- crm.deals.get96 ms
- crm.notes.list118 ms
- crm.deals.update500
- crm.deals.update366 ms
- crm.associations.create214 ms
Der Anfang des aufgezeichneten Laufs. · 14 von 50 Aufrufe · 16,2 sDiese Ansicht öffnen
- R / W
- Lesend und schreibend, markiert vor dem Tool-Namen.
- Balkenfarbe
- Ein Blau, das mit der Dauer dunkler wird. Es misst Zeit, nie einen Zustand.
- Gelbe Zeile
- Ein fehlgeschlagener Call. Farbe bedeutet hier Fehlschlag und sonst nichts.
Der Call, geprüft am Schema seines Tools
Hier hört ein Trace auf, ein Log zu sein. Mockd kennt Beschreibung und Eingabe-Schema des Tools und kann deshalb zeigen, was das Modell gelesen hat, bevor es etwas eingetragen hat, und welche der gesendeten Felder das Schema überhaupt kennt.
Tool & Argumente
Das genaue Tool, das das Modell gewählt hat, und die Argumente, die es gefüllt hat, jedes markiert als Pflicht, optional oder gar nicht im Schema.
Antwort
Die synthetische Antwort, geformt wie beim echten Server, samt Fehler-Body, damit deine Retry-Logik einen realistischen trifft.
Latenz & Status
Wie lange der Call dauerte und wie er endete. Die Dauer trägt die blaue Rampe; der Statuscode steht für sich.
Injiziertes Szenario
Wurde ein Fehler künstlich erzeugt, nennt der Call das Szenario dahinter. Ein 429, den du selbst bestellt hast, darf nie wie ein gefundener Bug aussehen.
Der Agent wartete und versuchte es erneut:crm.notes.create · 201 · 156 ms
- start
- 12:04:18.165
- dauer
- 34 ms
- szenario
- 429 burst
Erstellt eine Notiz und hängt sie an einen oder mehrere CRM-Datensätze an.
Textinhalt der Notiz.
IDs der Datensätze, an die die Notiz gehängt wird.
Künstlich injiziert durch das Mockd-Szenario: 429 burst
{
"error": "RATE_LIMITED",
"message": "Too many requests. Injected by Mockd scenario 'burst'.",
"retryAfterMs": 260
}Das Call-Detail, so wie es im Viewer aufklappt.Diese Ansicht öffnen
Was der Lauf hinterlassen hat
Das Mock hält den Zustand für die Dauer der Session, also ist ein Schreibzugriff hinterher sichtbar: der angelegte Datensatz, die geänderten Felder und der Wert, den jedes Feld vorher hatte. Ein abgelehnter Schreibzugriff steht ebenfalls da, mit dem, was er vorhatte.
Vorher und nachher, pro Feld
Der frühere Wert stammt aus einem Call, der ihn gelesen hat, nicht aus einer Annahme. Bestätigt ein späterer Lesezugriff den neuen, steht das am Feld.
Abgelehnte Schreibzugriffe bleiben sichtbar
Ein gescheiterter Versuch gehört zu dem, was passiert ist. Er behält seinen Platz in der Sequenz, statt aus der Bilanz zu verschwinden.
- +13,4scrm.deals.update500erneut versucht +1,5s
- +14,9scrm.deals.update
- dealstage
- "contractsent""closedwon"später bestätigt
- amount
- 6200078000später bestätigt
- +16,0scrm.associations.create
deal_5561 ↔ company_7734
Ein Datensatz aus dem Lauf, mit jedem Feld, das der Agent angefasst hat.Diese Ansicht öffnen
Schick den Lauf, nicht den Screenshot
Jeder Lauf hat einen Lese-Link. Wer ihn öffnet, sieht den vollen Trace, jeden Call, jedes Argument, jeden injizierten Fehler, ohne Account und ohne Installation. Er bleibt einen Tag nach Ende des Laufs abrufbar, danach sind Lauf und Link zusammen weg.
- Kein Account für den, der ihn öffnet
- Der ganze Trace, kein zugeschnittener Screenshot
- Weg mit dem Lauf: einen Tag nach dessen Ende
- crm.contacts.search84msok
- crm.deals.create196msok
- crm.notes.create12ms429
- crm.notes.create141msok
Sieh den ersten Trace deines Agenten
Richte deinen Agenten auf einen Mockd-Endpoint und beobachte jeden Tool-Call in Echtzeit.
- crm.pipelines.list78 ms
- crm.owners.list65 ms
- crm.companies.search231 ms
- crm.companies.get91 ms
- crm.contacts.search287 ms
- crm.contacts.get84 ms
- crm.contacts.get79 ms
- crm.deals.search408