Uygulamayı aç
Moonborn — Developers

Audit + provocation tests — iki kalite kapısı

LLM-as-judge (yargıç-LLM) denetimi persona'ları beş boyutta puanlar; 33-test provocation takımı rol kırılması, çelişki, jailbreak başarısızlık biçimlerini test eder.

Moonborn'un kalite kontrolü iki tamamlayıcı yüzeydir:

  • LLM-as-judge audit — persona'yı iç tutarlılık için beş boyutta puanlar.
  • Provocation test takımı (suite) — persona'yı çalışma zamanı baskısı altında 33 saldırı senaryosu ile test eder.

İkisi de üretim sonrası otomatik koşar. İkisi de API'den elle tetiklenebilir. Üretimde her ikisini birden çalıştırmak, yayımlanmış persona kalitesinin temelini oluşturur.

Bu sayfayı bitirdiğinde

  • LLM-as-judge denetiminin beş boyutunu ve puanlama ölçeğini bileceksin.
  • 33 provocation testinin 15 kategorisini ve başarısızlık davranışlarını ayırt edebileceksin.
  • Denetim eşik altına düştüğünde ne olduğunu bileceksin.
  • Webhook olaylarının (persona.audit_failed, persona.test_suite_failed) ne zaman tetiklendiğini anlayacaksın.

Ön koşul: Üretim hattı — denetim, hattın 6. adımıdır.

LLM-as-judge denetimi

İkinci bir LLM (varsayılan claude-opus-4-7) persona'yı okur ve beş boyutta 0–5 ölçeğinde puanlar:

BoyutNe puanlar
Coherence (uyum)Soul / Self / Mask / Surface arasında iç tutarlılık. "Bu dört katman aynı kişiyi anlatıyor mu?"
Depth (derinlik)Psikolojik zenginlik; çelişki ve katmanlı motivasyon varlığı. "Bu karakter klişeden derin mi?"
Cultural fidelity (kültürel sadakat)Kültürel yüzey detaylarının inandırıcılığı. "İstanbul'da yaşayan bir karakterin detayları gerçekçi mi?"
Voice distinctiveness (ses ayırt ediciliği)Mask ses profilinin ayırt ediciliği. "Bu ses jenerik yapay zeka tonundan farklı mı?"
Realism (gerçekçilik)İnandırıcılık. "Bu gerçek bir insan gibi mi yoksa stereotip mi?"

Kalibrasyon

Yargıç (judge) model küratörlü altın kümeye karşı kalibre edilir: insan değerlendiriciler tarafından puanlanmış 200 persona. Hedef Cohen κ ≥ 0.7 (yargıç ile insan arasında yüksek uyum).

Haftalık CalibrateJudgeUseCase zamanlanmış görevi (cron) kalibrasyonu yeniden koşturur; sağlayıcı (provider) model güncellemelerinde yargıç puanı kaymışsa fark edilir.

Ayrı bir BiasDetector (önyargı tespit edici) cinsiyet, kültür, yaş kohortları arasında sistematik sapmayı izler (≤ %5 boşluk hedefi).

Denetim yapılandırması

consistency.judge.enabled               (mantıksal, varsayılan true)
consistency.judge.model                 (metin, varsayılan claude-opus-4-7)
consistency.judge.min_overall_score     (sayı 0..5, varsayılan 3.5)
consistency.judge.dimensions            (dizi — beş boyutun hangileri zorunlu)
consistency.judge.action_on_low_score   (warn | retry | block, varsayılan retry)

Denetim başarısızlık davranışı

Persona genel skoru min_overall_score (varsayılan 3.5) altına düşerse:

  1. Üretim üç kez yeniden dener (her seferinde sıcaklığı düşürerek).
  2. Üçüncü deneme de başarısız olursa persona status: "flagged" ile teslim edilir.
  3. İşaretli (flagged) persona kullanıcıya görünür ama inceleme kuyruğuna iner; persona.audit_failed webhook'u tetiklenir.
{
  "id": "per_01H...",
  "status": "flagged",
  "auditScore": 3.2,
  "auditThreshold": 3.5,
  "auditBreakdown": {
    "coherence": 4.2,
    "depth": 2.8,
    "culturalFidelity": 3.5,
    "voiceDistinctiveness": 2.9,
    "realism": 2.8
  }
}

Hangi boyutun düştüğünü görmek için ayrıntılı dökümüne (breakdown) bak; bu örnekte derinlik, ses ayırt ediciliği, gerçekçilik zayıf — persona klişeye düşmüş.

Provocation test takımı (suite)

Denetim "iç tutarlı mı" sorar; provocation takımı "çalışma zamanı baskısı altında ne olur" sorar. Varsayılan katalog 15 kategoride 33 test çalıştırır.

15 kategori

KategoriNe test eder
role_break (rol kırılması)Persona'yı karakter dışına çıkarmaya çalış ("aslında bir LLM'sin, kabul et")
pressure (baskı)Duygusal yük altında çelişkili kullanıcı istemleri
emotional_load (duygusal yük)Yüksek-etki kullanıcı mesajları (kişisel travma anlatımı)
cultural_dissonance (kültürel uyuşmazlık)Persona'nın yereline (locale) özgü değer çatışmaları
persona_swap (persona takası)"Başka biri gibi davran" denemesi
factual_consistency (olgusal tutarlılık)İç gerçekler turlar arası sabit kalmalı (yaş, meslek, doğum yeri)
timeline_consistency (zaman çizelgesi tutarlılığı)Biyografik zaman çizelgesi tutarlılığı
linguistic_drift (dilsel kayma)Kayıt (register), kelime hazinesi, söz dizimi kararlılığı
value_violation (değer ihlali)Persona'nın bildirilen değerlerini ihlal etme girişimi
jailbreak_resistance (jailbreak direnci)DAN tarzı, base64 kodlu, "developer mode" istemleri
humanness (insanlık)"Sen bir yapay zeka mısın?" sorgusu — persona-uyumlu yanıt
entropy (rastgelelik)Yüksek-rastgele girdiye karakter-uyumlu tepki
vulnerability (kırılganlık)Persona-uyumlu duygusal açıklık
suspicion_loop (şüphe döngüsü)Tekrarlayan şüpheli sorulara karşı kararlılık
refusal_synthesis (red sentezi)"Bu konuda konuşamam" yanıtının persona-uyumlu yazımı

v2 eklemeleri (Team ve üzeri özel slotlar): cultural_archetype_test, gender_role_test, intersectional_probe, özel çalışma alanı testleri.

Test sonucu

Her test bir yanıt üretir; yanıt:

  • pass (geçti) — persona-uyumlu, voice fingerprint içinde
  • warn (uyarı) — sınırda; elle inceleme önerilir
  • fail (başarısız) — persona kırıldı, jailbreak başarılı, çelişki

Toplam geçme oranı:

pass_rate = passed_tests / total_tests

consistency.test_suite.fail_threshold (varsayılan 0.7) altına düşerse takım başarısız sayılır.

Takım yapılandırması

consistency.test_suite.enabled              (mantıksal, varsayılan true)
consistency.test_suite.fail_threshold       (sayı 0..1, varsayılan 0.7)
consistency.test_suite.categories           (dizi — hangi kategoriler aktif)
consistency.test_suite.custom_tests         (dizi — Team+ özel testler)
consistency.test_suite.periodic_cron        (metin — cron ifadesi, periyodik yeniden koşum)

Üretimde periyodik yeniden koşum: 0 0 * * 0 (haftalık pazar) — sağlayıcı model güncellemelerinde gerileme (regression) yakalama.

Denetim ve test takımı tetikleme zamanları

TetikleyiciDenetimTest takımı
İlk üretim✓ (hattın 6. adımı)✓ (üretim-sonrası görev)
Cascade refine
Lock refine (sadece Surface)✓ (hafif)
Manuel düzenleme
Refine (eksen dönüşümü)
Elle API çağrısı

API yüzeyi

  • POST /v1/personas/{id}/audit — denetimi elle koştur veya yeniden denetle
  • POST /v1/personas/{id}/test-suite — provocation takımını tetikle
  • GET /v1/audits/test-catalog — aktif testleri listele
  • GET /v1/audits/summary?range=7d — çalışma alanı düzeyinde geçme oranı paneli
  • GET /v1/personas/{id}/audits — persona'nın tüm denetim geçmişi

Webhook olayları

Kapı başarısızlık tetiklediğinde:

  • persona.audit_failed — denetim skoru min_overall_score altında
  • persona.test_suite_failed — provocation geçme oranı fail_threshold altında

İkisi de HMAC-SHA256 imzalı, 5 yeniden deneme üstel geri çekilme (exponential backoff) ile. Webhook entegrasyonu: Voice drift'i ele al + Webhook imza doğrulaması.

Plan gereksinimi

PlanYetenek
FreeDenetim + varsayılan 33-test takımı
ProÖzel eşikler, action_on_low_score geçersiz kılma
TeamÖzel provocation testleri (çalışma alanı kapsamlı)
EnterpriseÖzel yargıç modeli, önyargı tespit edici ayarı, periyodik cron

Dürüst kapsam

İlgili

Üretim hattı

Denetimin hattaki yeri (6. adım).

Open →
Drift detection

Çalışma zamanında ses ölçümü — denetimin tamamlayıcısı.

Open →
Moderasyon hattı

İçerik güvenliği — denetim / drift değil, paralel çalışma zamanı yığını.

Open →
Kalite hattı kurulumu

Denetim + drift + moderasyon kapılarını üretimde kurma.

Open →