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-Eventpersona.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 ein409 Conflictmit 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_failedfeuert 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.