App öffnen
Moonborn — Developers

Drift-Threshold-Tuning

Wähle einen Workspace-Default, override pro Persona, sanity-check mit einem gelabelten Sample. Konkrete Zahlen für Support-, Brand-, Creative-Oberflächen.

Der Default engine.pipeline.drift_detection.threshold = 0.30 ist ein kalibrierter Mittelweg. Verenge oder lockere pro Oberfläche.

Empfohlene Defaults

OberflächeSchwelle
Customer-Support, regulierte Stimme, Healthcare0.20
General-Product-Chat, brand-adjacent0.30
Creative-Play, NPCs in Low-Stakes-Szenen0.45

Workspace-Default

await client.config.setItem({
  key: 'engine.pipeline.drift_detection.threshold',
  value: 0.20,
  scope: 'workspace',
  scopeId: 'ws_...',
});

Per-Persona-Override

Der Runtime-Contract jeder Persona akzeptiert ein driftDetection.threshold-Feld — überschreibt den Workspace-Default nur für diese Persona.

Vor Rollout validieren

Lasse einen gelabelten Sample durch deine Kandidat-Schwelle laufen:

const replies = await fetchReplyCorpus(50); // deine letzten 50 prod replies
let truePositive = 0, falsePositive = 0;
for (const r of replies) {
  const drift = await client.consistency.scoreReply({
    personaId: r.personaId,
    reply: r.content,
  });
  const flagged = drift.score >= 0.25; // dein Kandidat
  if (flagged && r.humanLabel === 'off-voice') truePositive++;
  if (flagged && r.humanLabel === 'in-voice') falsePositive++;
}

Targets: TP ≥ 80 %, FP ≤ 10 %. Ziehe Schwelle nach oben, wenn FP hoch ist, nach unten, wenn TP niedrig ist.

Häufiger Fehler

Die Schwelle ohne action_on_alert = auto_recover zu verengen — du spammst nur deine QA-Queue. Paare jede Absenkung mit dem Recovery- Pfad oder akzeptiere das Alert-Volumen.

Verwandt