Uygulamayı aç
Moonborn — Developers

Çok dilli marka persona'sı iş akışını kur

Kanonik karakteri kilitle, distinctiveness referans hattını (baseline) sabitle, dil-bölge (locale) fork'larını çıkar, isteğe bağlı ton varyantı ekle ve sürekli izleme (monitoring) akışını bağla.

Çok dilli marka persona'sı kullanım senaryosu neden sorusunu yanıtlar — bu rehber nasıl sorusunu anlatır: hafta hafta sahiplikler, denetim (audit) kapıları, distinctiveness eşikleri, izleme akışı.

Tipik bir EN kanonik + DE/FR/ES/PT dil-bölge varyantı kurulumu beş haftalık bir süreç olarak organize edilebilir. Her hafta tek bir sahibi (owner) vardır — kararı kimin verdiği belli olur, yönetişim (governance) izi denetim kaydına (audit log) düşer.

Bu rehberi bitirdiğinde

  • Hafta 1: Kanonik persona'yı yazıp ≥ 4.5 denetim skorunda kilitleyebileceksin.
  • Hafta 2: Distinctiveness özel referans hattını (custom baseline) kanonik persona'ya sabitleyebileceksin.
  • Hafta 3: Dil-bölge fork'larını Soul/Self/Mask kilitli, Surface çevirili olarak çıkarabileceksin.
  • Hafta 4: İsteğe bağlı ton varyantlarını dil-bölge başına refine'ler ile ekleyebileceksin.
  • Hafta 5+: Webhook + periyodik tarama (sweep) ile izleme akışını canlı tutabileceksin.
  • Yaygın karşı örüntüleri (anti-pattern) — Soul refine, kanoniği atlamak, izleme eksikliği — önleyebileceksin.

Ön koşul: Team veya üstü plan, marka çalışma alanı (workspace), kanonik dilde net bir marka brief'i. Fork mekaniği yeni bir konuysa önce Marka varyantlarını fork'la.

Hafta 1 — Kanonik persona'yı yaz ve kilitle

Sahip: marka direktörü.

Kanonik karakter, bütün dil-bölge varyantlarının dayandığı marka DNA'sıdır. Soul + Self burada yazılır ve sonsuza kadar kilitli kalır.

Brief

Brief 200–300 kelime olmalı, üç bölüm içermeli:

  1. Markanın vaadi — bu markanın kullanıcılarına ne söz verdiği (1 paragraf).
  2. Karşı örüntüler (anti-patterns) — bu markanın olmadığı şeyler (örn. "agresif satış lafı, geveze, sahte samimi").
  3. Üç imza ifade (signature phrase) — markanın doğal olarak söylediği üç tipik cümle.
const canonical = await client.personas.create({
  intent: BRAND_BRIEF_TEXT, // yukarıdaki üç bölümün birleştirilmiş hali
  workspaceId: 'ws_...',
});
 
console.log(canonical.id, canonical.audit.score);

Denetim kapısı

Persona denetim skoru ≥ 4.5/5 almalı. Daha düşük skor brief'in net olmadığını gösterir — varyantlara geçmeden refine et.

while (canonical.audit.score < 4.5) {
  canonical = await client.personas.refine({
    id: canonical.id,
    note: 'Sıkılaştırılmış intent — anti-pattern bölümünü ekledim',
    intent: REFINED_BRIEF_TEXT,
  });
}

Kilit politikası

Kanonik karakter bir kez denetim yeşil aldıysa arşivleme düzenlemeden tercih edilir. Üzerinde refine yapmak yerine yeni bir sürüm yaratıp eskisini arşivle — soy ağacı (lineage tree) bozulmadan kalır, aşağı yöndeki (downstream) varyantlar kırık referans almaz.

Hafta 2 — Distinctiveness referans hattını sabitle

Sahip: marka direktörü + operasyon (ops).

Distinctiveness skoru varsayılanda "genel (generic) ChatGPT tonu"na karşı ölçer. Marka için bu yanlış referans hattıdır — sen varyantlarının kanonik markaya karşı ne kadar yakın kaldığını ölçmek istiyorsun.

await client.config.setItem({
  key: 'consistency.distinctiveness.custom_baseline_persona_id',
  value: canonical.id,
  scope: 'workspace',
  scopeId: 'ws_...',
});
 
await client.config.setItem({
  key: 'consistency.distinctiveness.min_score',
  value: 0.65,
  scope: 'workspace',
  scopeId: 'ws_...',
});

Artık her varyant kanonik karaktere karşı skorlanır. Varsayılan min_score: 0.65 markanın kontrolünden çıkmış varyantı işaretler (flag).

Hafta 3 — Dil-bölge fork'larını üret

Sahip: bölgesel marka lideri (regional brand lead).

Her dil-bölge (DE, FR, ES, PT, IT, JA, ...) için bir fork çıkar. Soul + Self + Mask kilitli, sadece Surface çevrilir.

const de = await client.personas.fork({
  id: canonical.id,
  refine: {
    mode: 'lock',
    lockLayers: ['soul', 'self', 'mask'],
    edits: {
      'surface.language': 'de',
      'surface.location': 'Berlin, Germany',
    },
  },
  note: 'DE locale variant',
});
 
const fr = await client.personas.fork({
  id: canonical.id,
  refine: {
    mode: 'lock',
    lockLayers: ['soul', 'self', 'mask'],
    edits: {
      'surface.language': 'fr',
      'surface.location': 'Paris, France',
    },
  },
  note: 'FR locale variant',
});

Dil-bölge denetim + distinctiveness kapıları

Her dil-bölge varyantı için iki kontrol:

KontrolHedefAnlamı
Denetim skoru≥ 4.0/5Varyant kendi içinde tutarlı
Distinctiveness (kanoniğe karşı)0.20 – 0.40Varyant ne çeviri kopyası ne markadan kaçmış
Mask kilitli olduğu için doğal aralıkta olabilir,
ama "marka sesinin tam çevirisi" istediğin
şeyse bunu kabul et.

Hafta 4 — Ton varyantları (isteğe bağlı)

Sahip: dil-bölge başına pazarlama.

Bir dil-bölgenin altında kayıt (register) varyantları açabilirsin — resmi (formal, B2B satış), sıradan (casual, topluluk), destek (support, müşteri desteği), satış (sales, kampanya). Bunlar dil-bölge fork'undan fork'lanır, kanonikten değil.

const deFormal = await client.personas.fork({
  id: de.id,
  refine: {
    mode: 'refine',
    layer: 'mask',
    axis: 'more-authoritative',
    amount: 0.4,
  },
  note: 'DE formal — B2B sales',
});
 
const deCasual = await client.personas.fork({
  id: de.id,
  refine: {
    mode: 'refine',
    layer: 'mask',
    axis: 'warmer',
    amount: 0.45,
  },
  note: 'DE casual — community',
});

Soy ağacı iki seviyeli olur:

Canonical (EN)
├── DE locale
│   ├── DE formal
│   └── DE casual
├── FR locale
│   └── FR sales
└── ES locale

Hafta 5+ — İzleme akışını canlı tut

Sahip: marka operasyon (brand ops).

Varyantlar yayında — ama drift zamanla olur. Üç katmanlı izleme:

1. persona.audit_failed webhook'una abone ol

await client.webhooks.create({
  url: 'https://your-app.com/webhooks/moonborn/brand-qa',
  events: ['persona.audit_failed'],
  description: 'Brand variant audit failures',
});

Her varyant denetimi otomatik başarısız olursa marka kalite kontrol (QA) kuyruğuna iner. Webhook imza doğrulama deseni için Voice drift'i ele al rehberini gör.

2. Periyodik tahrik testi (provocation suite) takımı (Team ve üzeri)

await client.config.setItem({
  key: 'consistency.test_suite.run_periodic',
  value: true,
  scope: 'workspace',
  scopeId: 'ws_...',
});

Varsayılan haftalıktır. Her varyant tekrar test edilir, geri kalma olduğunda yakalanır.

3. Çeyrek bazlı distinctiveness taraması

const variants = await client.personas.list({ workspaceId: 'ws_...', parent: canonical.id });
 
for (const v of variants.data) {
  const cmp = await client.consistency.compare({
    fromPersonaId: canonical.id,
    toPersonaId: v.id,
  });
  if (cmp.value > 0.40) {
    console.warn(`Drift: ${v.note}${cmp.value.toFixed(2)}`);
  }
}

Çeyrek bazında tüm varyantları kanoniğe karşı yeniden skorla. 0.40'ı geçen varyant inceleme kuyruğuna girer — drift olmuştur; refine veya emekliye ayırma (retire) kararı için marka direktörü gözden geçirir.

Yaygın karşı örüntüler

Plan gereksinimi

  • Dil-bölge fork'ları + denetim + soy: Pro ve üstü.
  • Özel referans hattı + distinctiveness kapıları: Team ve üstü.
  • Periyodik test takımı + özel testler: Team ve üstü.

İlgili

Çok dilli marka persona'sı kullanım senaryosu

Bu iş akışının arkasındaki "neden" ve ekip kazanımları.

Open →
Marka varyantlarını fork'la

Fork mekaniğinin adım adım eğitimi.

Open →
Varyant yönetimi kılavuzu

Refine eksen kataloğu ve distinctiveness eşik bantları.

Open →
Karakter ses varyantları

Dil-bölgenin altında ton-tabanlı Mask varyantları nasıl organize edilir.

Open →