Charakterkonsistenter Support
drift-Detection, voice fingerprint und Langzeitgedächtnis — verdrahtet in einen Kundensupport-Agent, sodass die Markenstimme über tausende Sitzungen hält und QA gewarnt wird, wenn sie abrutscht.
Das Problem
Generische Chat-Agenten driften mitten im Gespräch. Der Ton verflacht, die Markenstimme leckt, der System-Prompt verliert unter Last an Autorität. Lange Sitzungen verstärken das. Das Ergebnis: markenriskante Nachrichten, Eskalationen und verloren gegangenes Kundenvertrauen.
Die Lösung ist kein besseres Prompting. Sie besteht darin, eine numerische Baseline der Persona-Stimme zu haben, jede Antwort dagegen zu bewerten und Fehler in QA zu routen, bevor sie den Kunden erreichen.
Wie Moonborn das löst
Drei Fähigkeiten, ein Ergebnis:
- voice fingerprint bei der Persona-Generierung eingebrannt — eine Embedding-Baseline aus fünfzig Szenarien der Support-Agent-Mask.
- drift-Detection bewertet jede Antwort gegen diesen fingerprint. Unterhalb der Schwelle wird ausgeliefert; oberhalb der Schwelle wird alarmiert (und optional auf ein strikteres Modell zurückgefallen).
- Langzeitgedächtnis mit Cold-Tier-Rotation hält Support-Konversationen geerdet — Hybrid-Retrieval aus semantisch + BM25 — ohne das Kontextfenster zu sprengen.
Der Chat-Runtime liefert das standardmäßig aus. Du konfigurierst Schwelle und Webhook-Ziel; der Rest ist an.
Minimale Integration
import Moonborn from '@moonborn/sdk';
const client = new Moonborn({ apiKey: process.env.MOONBORN_API_KEY });
// Created once via UI or API.
const SUPPORT_PERSONA_ID = 'persona_...';
// Per ticket.
const session = await client.chat.sessions.create({
personaId: SUPPORT_PERSONA_ID,
metadata: { ticketId },
});
// Per inbound message.
const reply = await client.chat.messages.create({
sessionId: session.id,
content: customerMessage,
});
if (reply.driftAlert) {
// Route to QA, don't auto-ship.
await qaQueue.push({ sessionId: session.id, messageId: reply.id, driftScore: reply.driftScore });
}Abonniere das Webhook-Event conversation.drift_detected, um Alerts ohne Polling in Slack, dein QA-Tool oder PagerDuty zu pushen.
Qualitäts-Gates
Bevor eine Support-Persona die Produktion erreicht, laufen zwei automatisierte Gates:
- Provokationstest-Suite — Rollenbrüche, Widersprüche, emotionale Last, kulturelle Dissonanz. Konfigurierbar, mit team-eigenen Custom-Tests ab Team+.
- LLM-as-judge audit — fünf Dimensionen (Kohärenz, Tiefe, kulturelle Treue, Voice-distinctiveness, Realismus) inklusive Bias-Detection. Cohens Kappa ≥ 0,7 gegenüber einer menschlichen Rater-Baseline.
Beide lassen sich in CI verdrahten: Jeder Persona-refine löst einen audit aus, und ein niedriger Score blockiert das Deploy.
Was das für Support-Ops freischaltet
- Konsistente Agentenstimme über tausende Sitzungen. drift-Alerts bringen Vorfälle hervor, nicht Kundenbeschwerden.
- A/B-Tests von Markenstimm-Varianten via lineage-forks — siehe Markenstimm-Varianten.
- Persona-Varianten pro Locale — jede Persona deklariert ein ISO-639-1-Sprachkürzel; drift-Detection läuft pro Sprache.
- Auditierbare Spur. Jede Antwort hat einen
driftScore, jedes Override einen audit-Log-Eintrag, jede Eskalation eine Session-ID.
Tarif
Pro-Tarif oder höher ist für drift-Detection und Memory-Retrieval erforderlich. Der Free-Tarif unterstützt Basis-Chat ohne drift-Gating. Siehe die Tarifmatrix für die Aufschlüsselung pro Feature.
Weiter
- Lies die Konzeptseite voice fingerprint für die Runtime-Details.
- Geh den Schnellstart für die Chat-Sitzungs-Grundlagen durch.
- Durchstöbere die vollständige Chat-API-Referenz.