Synthetic-User-Panel
Baue ein Forschungs-Panel aus diversen Personas, fahre ein strukturiertes Interview gegen das Panel und aggregiere die Ergebnisse, ohne dass deine Personas konvergieren.
UX-Forschung mit synthetischen Nutzern ist einer von Moonborns natürlichen Fits: deterministische Personas, Drift-Detection und Ensemble-Distinctiveness halten ein Panel davon ab, in eine einzelne Durchschnittsstimme zu kollabieren. Dieses Tutorial geht durch den Bau eines 5-Persona-Panels, das Fahren eines strukturierten Interviews und das Speichern der Ergebnisse.
1. Dein Panel definieren
Skizziere die demografische + psychografische Streuung, die du willst. Für eine SaaS-Produktevaluation könnte das sein:
- Ein Senior-IC-Engineer, der AI-Tools skeptisch sieht.
- Ein Mid-Level-Manager, der nach Social Proof kauft.
- Ein Gründer, der preisorientiert einkauft.
- Ein Research-Lead, der alles testet.
- Ein Neueinstellter, der Team-Konsens folgt.
Fünf Personas fangen die meiste Diversität ein; zehn ist die praktische Obergrenze, bevor Management-Overhead das Signal überholt.
2. Die Personas generieren
const briefs = [
'Ein 38-jähriger Senior-Backend-Engineer in einem mittelgroßen SaaS. Skeptisch gegen AI-Tooling. Zweimal durch Vendor-Lock-in verbrannt.',
'Ein 34-jähriger Engineering-Manager. Kauft Tools basierend auf Team-Sentiment in Slack. Liest HN-Kommentare vor Vertragsabschluss.',
// ... drei weitere
];
const panel = await Promise.all(
briefs.map((intent) =>
client.personas.createPersona({ intent, workspaceId: 'ws_...' }),
),
);3. Die Streuung auditieren
Vor dem Interview prüfen, dass die Personas wirklich voneinander distinkt sind:
for (let i = 0; i < panel.length; i++) {
for (let j = i + 1; j < panel.length; j++) {
const cmp = await client.consistency.compare({
fromPersonaId: panel[i].id,
toPersonaId: panel[j].id,
});
if (cmp.value < 0.30) {
console.warn(`Personas ${i} und ${j} zu ähnlich — regenerieren`);
}
}
}Ein Panel, bei dem zwei Personas gegeneinander < 0.30 scoren, produziert duplicate-feeling Responses. Refine oder regeneriere die Near-Duplicates mit schärferen Briefs.
4. Das Interview scripten
Definiere das Fragen-Set im Vorfeld. Offene Fragen schlagen Multiple-Choice für qualitative Arbeit:
const questions = [
'Wenn du ein neues Developer-Tool evaluierst, was lässt dich ihm vertrauen?',
'Erzähl mir vom letzten Mal, dass du ein Tool aufgegeben hast, für das du gezahlt hast. Was hat dich gehen lassen?',
'Wie sieht "gute Dokumentation" für dich aus? Sei konkret.',
];5. Das Interview gegen jede Persona laufen
const transcripts: Record<string, string[]> = {};
for (const persona of panel) {
const session = await client.chat.createSession({ personaId: persona.id });
transcripts[persona.id] = [];
for (const question of questions) {
const reply = await client.chat.sendMessage({
sessionId: session.id,
content: question,
});
transcripts[persona.id].push(reply.content);
if (reply.driftAlert) {
console.warn(`Drift auf ${persona.id}: ${reply.driftScore}`);
}
}
await client.chat.endSession({ sessionId: session.id });
}Jede Persona bekommt eine frische Session — kein Cross-Talk. Drift- Scores sind logenswert; eine driftete Antwort heißt, die Persona ist aus dem Charakter gerutscht, was die qualitative Lesung biasen kann.
6. Aggregieren und analysieren
for (const [personaId, answers] of Object.entries(transcripts)) {
console.log(`\n=== ${personaId} ===`);
questions.forEach((q, i) => {
console.log(`Q: ${q}`);
console.log(`A: ${answers[i]}\n`);
});
}Für thematische Analyse pipe die Transcripts in dein eigenes Coding- Tool (Dovetail, Reframer, ein Notebook). Moonborns Job endet beim Produzieren der Responses; Clustering und Themen-Auswertung sind downstream.
7. Das Panel für Re-Runs bewahren
Speichere die Persona-IDs als „Panel"-Objekt in deinem Research-Tool. Dasselbe Panel kann Wochen später gegen neue Fragen erneut gefahren werden — die Personas + ihre Voice-Fingerprints persistieren, also ist longitudinale Konsistenz real.
Ehrlicher Scope
Synthetische Nutzer ergänzen echte Nutzerforschung; sie ersetzen sie nicht. Das Panel deckt Hypothesen schneller und billiger auf, aber echte Kaufentscheidungen, emotionale Reaktionen und Edge-Case- Verhalten brauchen weiterhin echte Teilnehmer. Behandle synthetische Panels als Weg, echte Forschungsfragen zu schärfen, nicht als Ersatz.
Tarif
Pro und höher (für Distinctiveness-Vergleich + persistente Fingerprints).
Weiter
- Das Use-Case-Framing: Synthetic user research.
- Ensemble-Setup: Multi-character scenes.