App öffnen
Moonborn — Developers

Drift-Detection

Jede Chat-Antwort wird gegen den Voice Fingerprint der Persona bewertet. Unter der Schwelle versendet; darüber alarmiert die Runtime (und erzwingt optional Recovery).

Eine Persona bleibt durch Messung "in der Stimme". Jede Chat-Antwort wird mit demselben Modell embedded, das den Voice Fingerprint gebaut hat, und die Cosine-Distance zwischen den beiden ergibt eine Drift-Bewertung zwischen 0 und 1.

Was du pro Antwort bekommst

{
  "driftScore": 0.12,
  "driftThreshold": 0.30,
  "driftAlert": false
}

driftScore ist die Cosine-Distance. driftThreshold ist der Workspace-Wert von engine.pipeline.drift_detection.threshold (Standard 0.30). driftAlert ist der Boolean — nützlich für Downstream-Konsumenten.

Was Drift verursacht

  • Langer Kontext. Die Autorität des System-Prompts klingt ab, je länger die Konversations-Historie wird.
  • Off-topic Steering. Nutzer schieben die Persona in ein Gebiet, für das sie nicht generiert wurde.
  • Provider-Model-Swap. Wechsel von Claude Opus zu Sonnet ändert die Stimm-Oberfläche, auch mit identischen Prompts.
  • Cross-Tool-Calls. Tool-Antworten injizieren systemähnlichen Text, der in den Antwort-Ton zurückblutet.
  • Hohe Temperatur. Die Varianz liest sich als Drift, selbst wenn die Persona "immer noch sie selbst" ist.

Recovery-Aktionen

engine.pipeline.drift_detection.action_on_alert steuert, was bei Schwelle passiert:

  • warn (Standard) — Antwort wird versendet, der Alarm wird geloggt, das Webhook-Event persona.audit_failed (Drift-Variante) feuert.
  • auto_recover — Moonborn führt eine einzelne Low-Temperature- Regenerierung mit dem re-injizierten Fingerprint-Referenz aus.
  • block — die Antwort wird nicht zurückgegeben; der Caller bekommt ein 409 Conflict mit dem Drift-Envelope.

Schwellen-Tuning

Der Standard 0.30 ist eine ausgewogene Mitte. Für markenkritische Oberflächen verengen:

  • Customer Support, regulierter Content → 0.20.
  • Allgemeiner Produkt-Chat → 0.30.
  • Open-ended Chat, Creative Play → 0.45.

Per-Persona-Override über den Runtime-Contract der Persona. Siehe den Drift-Threshold-Tuning-Workshop.

API

  • Jede Chat-Antwort (POST /v1/chat/sessions/{id}/messages) trägt Drift-Felder in ihrem Response.
  • Webhook-Event persona.audit_failed feuert beim Alert (HMAC-SHA256 signiert, fünf Retries).

Ehrlicher Scope

Drift-Detection misst, wie nah die Antwort an der Stimme der Persona ist. Sie misst keine faktische Genauigkeit oder Content- Safety — das ist die Aufgabe der Moderations-Pipeline. Eine faktisch falsche Antwort mit perfekter Stimme scort trotzdem 0.05.