Uygulamayı aç
Moonborn — Developers

Voice fingerprint

Uzun sohbetler veya model takasları altında bir personanın kaymasını önleyen voice fingerprint, drift detection ve toparlanma stratejileri.

Fingerprint nedir

Voice fingerprint, bir personanın Mask'inin — kaydının, ritminin, kelime dağarcığının ve imza ifadelerinin — sayısal bir embedding'idir. Persona üretim anında, persona üzerinde elli kısa senaryo tamamlaması çalıştırılarak yakalanır. Sonuç, chat runtime'ın her yanıtı karşı puanlayabileceği bir "ses DNA'sıdır".

Fingerprint üretim sırasında bir kez hesaplanır, refine'da yeniden hesaplanır ve persona ile birlikte saklanır. Kullanıcıya gösterilen bir içerik değildir; savunma amaçlı bir temel referanstır.

Drift skoru

Her sohbet yanıtı aynı model ile embed edilir ve cosine distance üzerinden fingerprint ile karşılaştırılır. Sonuç 0 ile 1 arasında bir sayıdır — 0'a yakın yanıtın sesinde olduğunu, 1'e yakın ise kaymış olduğunu gösterir.

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

Eşiğin altında yanıt normal şekilde gönderilir. Eşiğin üstünde bir uyarı tetiklenir (log'lanır, webhook'la yayılır, opsiyonel olarak zorlanır).

Drift'e ne sebep olur

  • Uzun bağlam. Sohbet geçmişi büyüdükçe sistem prompt'unun otoritesi zayıflar.
  • Konu dışı yönlendirme. Kullanıcılar personayı üretildiği bölgenin dışına iter.
  • Provider model takası. Claude Opus'tan Sonnet'e (veya tersi) geçmek, aynı prompt'larla bile ses yüzeyini değiştirir.
  • Yüksek sıcaklık. Persona "hâlâ kendisi" olsa bile varyans drift gibi okunur.
  • Çapraz tool çağrıları. Tool yanıtları, yanıt tonuna sızan sistem-benzeri metin enjekte eder.

Toparlanma stratejileri

Kaymış bir yanıt kullanıcıya ulaşmadan önce birkaç savunma katmanı çalışır:

  • Otomatik toparlanma. Fingerprint referansıyla küçük bir yeniden-prompt'lama, personayı çoğunlukla eşik içine geri çeker.
  • Oturum sıfırlama. Sohbet geçmişini sistem prompt'u + son N tur olacak şekilde kısalt.
  • Manuel fingerprint tazeleme. Bilinçli bir Mask refine'ı sonrası temel referansı yeniden hesapla.
  • Fallback model. Etkilenen adım için pipeline config'inde daha katı bir modele düş.

Dördü de engine.pipeline.drift_detection.* üzerinden tek tek yapılandırılabilir.

Eşik ayarı

Varsayılan eşik (0.30) workspace'te kullanım senaryosuna göre yapılandırılabilir:

  • Müşteri desteği, regüle içerik0.20. Katı. QA inceleyebilsin diye erken tetiklenir.
  • Açık uçlu sohbet, yaratıcı oyun0.45. Gevşek. Personanın nefes almasına izin verir.
  • A/B marka varyantları → persona başına ayarla, workspace varsayılanını override et.

Config anahtarı engine.pipeline.drift_detection.threshold; persona-başı override'lar personanın runtime kontratı üzerinden gelir.

Telemetri

Her sohbet yanıtı driftScore, driftThreshold ve driftAlert taşır. Eşik üstü yanıtlar conversation.drift_detected webhook event'ini yayar (HMAC-SHA256 imzalı, exponential backoff ile beş kez yeniden denenir). Bunu destek QA kuyruğunuza bağlayın ki drift olayları sürpriz değil, bir metrik olsun.

{
 "type": "conversation.drift_detected",
 "data": {
 "sessionId": "sess_...",
 "messageId": "msg_...",
 "personaId": "persona_...",
 "driftScore": 0.41,
 "driftThreshold": 0.30
 }
}

Sohbet oturumu temelleri için Hızlı başlangıç sayfasına dön veya üzerindeki Chat API referansını oku.