App öffnen
Moonborn — Developers

Ensemble-Beziehungs-Graphen

Deklariere typisierte Kanten zwischen Personas — rival, ex-lover, mentor — und lass Multi-Persona-Prompts den Kontext aufnehmen.

Eine Besetzung ohne Beziehungen ist eine Liste von Monologen. Moonborns Ensemble-Graph kodiert, wer was über wen weiß.

Edge-Typen

Häufige Typen (per Workspace konfigurierbar; das ist das eingebaute Set):

  • family — parent / sibling / child / spouse / ex-spouse
  • romantic — partner / ex-lover / unrequited / one-night
  • mentor — mentor / protégé / former-mentor
  • peer — colleague / collaborator / rival
  • power — employer / employee / patron / client
  • social — friend / acquaintance / enemy / nemesis

Eine Kante deklarieren

await client.personas.createRelationship({
  personaId: mert.id,
  with: leyla.id,
  type: 'ex-lover',
  note: 'Co-Gründer, die im selben Quartal ein Unternehmen und eine Partnerschaft getrennt haben.',
});

Kanten sind per Default bidirektional — beide Personas sehen die Beziehung in Multi-Persona-Sessions.

Den Graph abfragen

const rels = await client.personas.listRelationships({ id: mert.id });
for (const r of rels) {
  console.log(`${r.type}${r.with.name}: ${r.note}`);
}

Wie Prompts den Graph nutzen

Wenn Persona B der Sprecher in einer Session ist, die Persona A einschließt:

  • Die Runtime holt die A↔B-Kante (falls vorhanden).
  • Der Edge-Typ + Note werden in B's System-Prompt injiziert.
  • B's Antwort reflektiert die Beziehung — ohne dass du sie neu formulierst.

Asymmetrische Kanten

Für Beziehungen, in denen jede Seite die andere unterschiedlich sieht:

// Mert sieht Leyla als ex-lover.
await client.personas.createRelationship({
  personaId: mert.id,
  with: leyla.id,
  type: 'ex-lover',
  note: 'Ich respektiere sie immer noch.',
  bidirectional: false,
});
 
// Leyla sieht Mert als rival.
await client.personas.createRelationship({
  personaId: leyla.id,
  with: mert.id,
  type: 'rival',
  note: 'Hat meine Idee übernommen, sich nie entschuldigt.',
  bidirectional: false,
});

Das produziert eine Szene, in der ihre Interpretationen derselben geteilten Vergangenheit divergieren — nützliche narrative Spannung.

Limits

  • Max 50 Kanten pro Persona (engine.ensemble.max_edges, konfigurierbar).
  • Zyklen erlaubt; die Runtime löst Edge-Lookup pro Turn, sodass keine unendliche Expansion.

Tarif

Pro und höher.

Verwandt