Uygulamayı aç
Moonborn — Developers

Üretim hattı

Bir `intent`'i dört katmanlı bir personaya dönüştüren altı adımlı hat — Intent parse → Soul draft → Self+Mask enrich → Surface ground → Audit → Fingerprint + Test.

POST /v1/personas'a bir intent ile çağrı yaptığında, Moonborn tek bir LLM'den karakter uydurmasını istemez. Her çıktısı personanın kalıcı durumu olan altı adımlı bir hat çalıştırır. Her adım yapılandırılabilir — model, sağlayıcı, sıcaklık, fallback zinciri — config ağacındaki engine.pipeline.<step>.* üzerinden.

Adımlar

#AdımAmaçVarsayılan model
1intent_parseBrief'i oku; tür, locale, eksen ipuçlarını çıkarclaude-sonnet-4-6
2soul_draftSoul yaz (istek, korku, yara, gelişim yayı)claude-opus-4-7
3self_enrichBig Five + arketip + değerler + bağlanmaclaude-sonnet-4-6
4mask_buildSes, ton, imza ifadeler, sosyal rolclaude-sonnet-4-6
5surface_groundİsim, yaş, lokasyon, meslek, görünüşclaude-sonnet-4-6
6auditKatmanlar arası tutarlılık + LLM-as-judgeclaude-opus-4-7

Not — bu varsayılanlar engine.pipeline.<step>.model config item'larından okunur. Yukarıdaki değerler sistem-scope varsayılan; org/workspace override'ları geçerlidir.

Altı görünür adım sonrasında runtime iki post-generation iş tetikler:

  • Voice fingerprint — elli kısa senaryo tamamlaması persona başına bir imzaya gömülür (Voice fingerprint).
  • Test suite — yapılandırılabilir provokasyon kataloğu yeni personaya karşı koşar (Audit + provokasyon testleri).

Neden içeriden dışarıya

Surface (isim, yaş, meslek) son adım — bilinçli olarak. Surface'i ilk yazsaydık, model demografik klişeye demir atar ve uyması için Soul'u geri-doldururdu. Soul → Self → Mask → Surface taslağı her katmanın sonrakini kısıtlamasını sağlar: kurucunun huzursuzluğu yarasından gelir, stok şablondan değil.

Streaming

POST /v1/personas'a stream: true geçir, response text/event-stream olur. Her olay şunlardan biri:

event: step.started      { step: "soul_draft" }
event: step.completed    { step: "soul_draft", durationMs: 4210 }
event: step.failed       { step: "audit", error: { code, message } }
event: pipeline.completed { id, status, pipelineRunId }

Son olayda dönen pipeline run ID, tam izi (sağlayıcı gecikmeleri, yeniden denemeler, maliyet dökümü) sonra getirmenize izin verir — bkz. API referansı audit log endpoint'leri.

Retry + fallback

Bir adım başarısız olursa (LLM sağlayıcı hatası, eşiğin altında audit), Moonborn engine.pipeline.<step>.max_retries (varsayılan 3) kez yeniden dener; varsayılan fallback zinciri: Anthropic → OpenAI → Google. Üst sınırdan sonra persona flagged durumda teslim edilir — kullanıcı görür, ama inceleme için işaretlenmiştir.

Dürüst kapsam

Bu sunucu-tarafı hat. İstemci-tarafı adım uygulaması yok; SDK'dan izole bir adım koşturamazsın. İstemci yüzeyi POST /v1/personas (tüm hat) ve POST /v1/personas/{id}/regenerate (seçilen adımdan yeniden koşum).