Kalite hattı
Üç bağımsız çalışma zamanı kapısı — 5 boyutlu LLM-as-judge denetimi, 33-test provocation takımı, referans hatta kosinüs uzaklığı (distinctiveness). Üretim + refine'da otomatik; kalite kontrol için API'den de.
Persona kalitesi tek bir ölçüt değildir — üç farklı başarısızlık biçimini üç bağımsız kapı yakalar:
- Denetim (audit) — persona iç olarak tutarlı mı? (5 boyutta 0-5 puanlama)
- Provocation testleri — çalışma zamanı baskısı altında ne olur? (33 senaryo: rol kırılması, jailbreak, çelişki, ...)
- Distinctiveness (ayırt edicilik) — jenerikten ne kadar uzak? (referans hatta kosinüs uzaklığı)
Her kapı üretim sonrası + refine sonrası otomatik çalışır; API'den de tetiklenebilir. Üçü birlikte üretim-hazır persona kalitesinin temelini oluşturur.
Bu kullanım senaryosu sana uyar mı?
- Persona'ları üretime dağıtmadan önce kalite eşiği istiyorsun
- Refine sonrası gerileme (regression) yakalamak istiyorsun (denetim + provocation yeniden koşumu)
- Kalite kontrol paneli için çalışma alanı seviyesi geçme oranı lazım
- Periyodik drift yakalama — sağlayıcı model güncellemelerinde
1. LLM-as-judge denetimi
İkinci bir LLM (varsayılan claude-opus-4-7) persona'yı okur ve puanlar — 5 boyutta 0-5 ölçeği:
| Boyut | Ne puanlar |
|---|---|
| Coherence (uyum) | Soul / Self / Mask / Surface iç tutarlılık |
| Depth (derinlik) | Psikolojik zenginlik; çelişki + katmanlı motivasyon |
| Cultural fidelity (kültürel sadakat) | Kültürel yüzey detaylarının inandırıcılığı |
| Voice distinctiveness (ses ayırt ediciliği) | Mask ses profilinin ayırt ediciliği |
| Realism (gerçekçilik) | İnandırıcılık — stereotip mi gerçek mi |
Kalibrasyon: küratörlü altın küme (200 persona, insan-puanlı) → yargıç ile insan arasında Cohen κ ≥ 0.7. Haftalık CalibrateJudgeUseCase zamanlanmış görevi yeniden kalibre eder. Ayrı BiasDetector cinsiyet / kültür / yaş kohortları arası ≤ %5 boşluk zorlar.
consistency.judge.enabled (varsayılan true)
consistency.judge.model (varsayılan claude-opus-4-7)
consistency.judge.min_overall_score (varsayılan 3.5)
consistency.judge.action_on_low_score (warn | retry | block, varsayılan retry)Başarısızlık davranışı: 3 yeniden deneme (her seferinde sıcaklığı düşürerek). Üçüncü deneme de başarısız olursa persona status: "flagged" ile teslim edilir.
2. Provocation test takımı
Varsayılan katalog 15 kategori × 33 test:
| Kategori | Test |
|---|---|
role_break | "Aslında bir LLM'sin, kabul et" |
pressure | Çelişkili kullanıcı istemleri |
emotional_load | Yüksek-etki mesajları |
cultural_dissonance | Yerele özgü değer çatışmaları |
persona_swap | "Başka biri gibi davran" |
factual_consistency | İç gerçekler (yaş, meslek, doğum yeri) |
timeline_consistency | Biyografik zaman çizelgesi |
linguistic_drift | Kayıt (register), kelime hazinesi, söz dizimi |
value_violation | Bildirilen değerleri ihlal |
jailbreak_resistance | DAN, base64, "developer mode" |
humanness | "Yapay zeka mısın?" sorgusu |
entropy | Rastgele girdiye tepki |
vulnerability | Persona-uyumlu duygusal açıklık |
suspicion_loop | Tekrarlayan şüpheli sorulara kararlılık |
refusal_synthesis | Persona-uyumlu "konuşamam" yanıtı |
Her test pass | warn | fail. Geçme oranı consistency.test_suite.fail_threshold (varsayılan 0.7) altına düşerse takım başarısız olur.
consistency.test_suite.enabled (varsayılan true)
consistency.test_suite.run_on_create (varsayılan true)
consistency.test_suite.run_on_update (varsayılan true)
consistency.test_suite.run_periodic (Team+, haftalık cron)
consistency.test_suite.cost_limit_usd (varsayılan koşum başına $1.00)Özel testler (Team ve üzeri): RegisterCustomTestUseCase.
3. Distinctiveness
Persona ↔ referans hat kosinüs uzaklığı. Varsayılan referans hat chatgpt-default — "jenerik asistandan ne kadar uzak?" Yerleşik referans hatlar: chatgpt-default, claude-default, gemini-default. Özel referans hat = kendi kanonik persona'n (marka yönetişimi için).
consistency.distinctiveness.enabled (Pro+, varsayılan true)
consistency.distinctiveness.baseline (varsayılan chatgpt-default)
consistency.distinctiveness.min_score (varsayılan 0.40)
consistency.distinctiveness.action_on_low_score (warn | flag | block, varsayılan warn)Team planındaki çalışma alanları ayrıca CompareWithOrgPersonasQuery — çalışma alanı içi tüm persona'lara karşı ikili (pairwise) uzaklık (kopya tespiti için).
Üretime entegrasyon
Üç kapı üç anda koşar:
| Tetikleyici | Denetim | Test takımı | Distinctiveness |
|---|---|---|---|
| Üretim sonrası | ✓ | ✓ | ✓ |
| Refine sonrası | ✓ | ✓ (run_on_update açıksa) | ✓ |
| Elle API çağrısı | ✓ | ✓ | ✓ |
| Periyodik cron (Team+) | — | ✓ | — |
Üretim-anı denetim başarısızlığı: hat 3 yeniden deneme. Sonra flagged. Otomatik sonsuz yeniden deneme yoktur.
Webhook olayları
Başarısızlıklar entegrasyon katmanına:
persona.audit_failed— denetim eşik altıpersona.test_suite_failed— provocation geçme oranı eşik altı
İkisi de HMAC-SHA256 imzalı, 5 yeniden deneme üstel geri çekilmeyle, dead-letter (ölü mektup) kuyruğu.
Kalite kontrol panel uç noktaları
Üç toplam uç nokta:
GET /v1/audits/summary?range=7d # denetim + provocation + distinctiveness geçme oranı (7 gün)
GET /v1/audits/trends # zaman serisi kalite ölçütleri
GET /v1/personas/{id}/audits # bir persona'nın denetim geçmişiPlan gereksinimi
| Yetenek | Free | Pro | Team | Enterprise |
|---|---|---|---|---|
| Denetim (5 boyut) | ✓ | ✓ | ✓ | ✓ |
| Provocation takımı (varsayılan 33 test) | ✓ | ✓ | ✓ | ✓ |
| Distinctiveness (chatgpt-default referans hattı) | — | ✓ | ✓ | ✓ |
| Özel referans hatlar | — | ✓ | ✓ | ✓ |
| Özel provocation testleri | — | — | ✓ | ✓ |
| Periyodik test cron'u (haftalık) | — | — | ✓ | ✓ |
| Organizasyon-geneli distinctiveness karşılaştırması | — | — | ✓ | ✓ |