A four-sweep web literature review — academic role-play fidelity · shipping companion apps (C.ai, Replika, 星野, 猫箱, Talkie, 筑梦岛) · HCI perception studies · drift-and-convergence engineering — synthesized into a ranked shelf for a consumer app that cares about user-perceived liveliness. Trigger: room c3d8's verdict (Banksy too mild, two artists converging). Written 2026-08-31. Status: research — the shelf is ranked, nothing below is authorized until the owner picks.
| finding | strongest evidence | what it means for -ish |
|---|---|---|
| 1 · Verbatim exemplars beat descriptions for voice. Retrieved/quoted character speech as few-shot demos is the industry- and lab-validated voice anchor; models absorb register and form from demos even when the content is irrelevant (random demos beat retrieved ones; even corrupted demos helped). Transcripts of the person beat prose about them; affect tags on excerpts help. | RoleLLM (style score 41.3 vs 23.2 baseline) · RAGs-to-Riches (+35% reference-token pull under hostile prompts) · ICL study · C.ai Definition = example dialogs, greeting = the strongest single style sample | Profiles carry attested quotes as prose bullets and a corpus/ nobody reads at runtime — but no example-exchange block in dialog form, no affect tags, no group-interjection examples. The highest fidelity-per-token gap we have. |
| 2 · Convergence is the default state. Same-model outputs collapse to shared templates absent a forcing function; distinct personas converge worse over longer histories; per-persona fidelity and population diversity trade off; RLHF preference data actively rewards caving. Instruction drift is significant within ~8 turns — attention to the system prompt decays between turns. | Chameleon's Limit · Artificial Hivemind · persona-drift/COLM · Anthropic sycophancy | 「Two artists converge」is physics, not a profile bug. Fight it structurally, per seat, every turn — contrastive staging, per-seat register, opener bans — and meter it, because it regrows. |
| 3 · The context tail is the leverage slot. Re-injecting persona material before each turn (SPR) is a validated drift baseline; attention is U-shaped and the freshest tokens win; bounded per-turn steering deltas on a fixed base recover most stability (+62%) for little adaptivity cost (−17%). | split-softmax/SPR · Lost in the Middle · synchrony–stability frontier · C.ai pinned prefix | Our [STAGING] line already rides the tail every turn — a free, cache-safe carrier for a per-speaker voice re-anchor. The voice: card note (shipped) is the payload; appending it verbatim is one deterministic line. |
| 4 · Perception is cheap. What moves perceived humanness most is not model quality: bursty short bubbles beat one block (bigger effect than adding an avatar); human-plausible timing is the tell users hunt (and they still can't beat chance against a well-timed agent); a made-then-corrected typo was the strongest single humanness cue ever tested (N≈3,400); casual, topic-congruent register raises warmth and trust. | Chen 2022 (chunking) · HUMA (55.4% ≈ chance) · Imperfectly Human · dynamic delays | The turn split gives per-host bubbles; the within-host burst (1–3 short bubbles, staggered, WPM-plausible) and per-persona typing cadence are the missing half. UI-layer, model-free. |
| 5 · Relationship beats performance for retention. Memory callbacks are the top「it's alive」trigger in user reviews and block relationship formation when absent; bot self-disclosure reliably deepens engagement (replicated); relevance-gated proactive messages carry the strongest retention evidence of any mechanic — with a compounding annoyance boundary (ask, don't assume; never guilt). | Dialoging Resonance · companion-app re-engagement study · ComPeer · 星野 事件簿 · Replika diary | Mostly already built: memory row ③, threads, agenda ④⑤ (own-move, own news), ⑦ pings (dry on prod). The gap is visibility — personas rarely cite a specific remembered moment by name — and the ⑦ send switch. |
Models imitate the form of what they are shown, far more than the content of what they are told: quote-demos lift style scores where descriptions plateau (RoleLLM), verbatim transcripts beat wiki-derived prose at equal prompt budget with ~35% more reference-pull under hostile prompts (RAGs-to-Riches), and even random or corrupted demos help — evidence the model absorbs register, not facts (ICL study). Character.ai's whole Definition format is this finding productized (creator book). Affect tags on each excerpt help; the attested quote above is already in the profile — the lever is re-formatting into dialog form, not new material.
Ordered by perceived impact ÷ implementation cost. Status: new not built · part half exists · built exists, needs dialing.
| # | lever | what, concretely | lands in | |
|---|---|---|---|---|
| 1 | Example exchanges per persona | 3–6 verbatim in-voice exchanges per profile (mined from corpus/ for real figures), affect-tagged, including at least one group interjection and a distinct entrance line; a dedicated megaprompt slot renders them as dialog, not prose. Consensus finding 1 — the single strongest fidelity lever the field has. ⚠ Our own S-slot study found few-shot HURTS — but that was few-shot inside the FP craft directive; this is few-shot in the persona block, a different layer. Bench it with exam/tone_ab.py against its own before. | persona kit + megaprompt | new |
| 2 | Voice re-anchor at the tail | Code appends each speaking host's card voice: line to the staging block, every turn — SPR-lite, deterministic, no extra call, cache-append-only. Directly targets the 8-turn drift mechanism. | run_room (one line) | new |
| 3 | Fellow-panelist stances | Each persona knows what it makes of the other seated hosts (a card-invisible profile note or a seat-time pairing line): Banksy has an opinion of Koons and it shows unprompted. Fuels genuine contention (the flatness study's missing host↔host friction) and the agent↔agent life only a group room can show — 星野's hidden-depths mechanic, on our home turf. | persona kit + megaprompt | new |
| 4 | Kill the shared turn skeleton | The「Daven,/Dan,」opener on 100% of replies, the quote-grade-pivot-verdict shape the AI-tone page already named as the residue — a megaprompt rule that co-seated speakers must not share an opener or shape, plus per-persona structural signatures (Koons name-drops because his profile says so; Banksy must not). Structural convergence is the default (finding 2); this is its cheapest visible symptom. | megaprompt | new |
| 5 | Measure it: divergence meter + OOC battery | An exam/ metric for cross-host structural similarity per turn (Coverage/Uniformity-lite, per Chameleon's Limit) + a per-persona boundary-query battery (ERABAL-style counterfactual probes, OOC rate tracked). Guards every other lever — convergence regrows, so it needs a ruler, not a one-time fix. Judge caveat noted by CharacterEval: LLM judges drift from human perception — same stance as our own studies. | exam/ | new |
| # | lever | what, concretely | lands in | |
|---|---|---|---|---|
| 6 | Burst bubbles + typing cadence | A host's reply may arrive as 1–3 short bubbles, staggered at human-plausible pace, per-persona typing indicator between them. The turn split already made per-host bubbles; this is the within-host half. Chen 2022: bigger perceived effect than an avatar; every CN companion app treats it as table stakes. | harness + room-ui | part |
| 7 | Callbacks made visible | The memory store exists (row ③) — the megaprompt nudge is for a persona to occasionally reference a specific earlier moment by name. Boundary from the lit: precise recall of something sensitive reads as surveillance, not intimacy — the visibility/incognito rules already fence this. | megaprompt | built |
| 8 | Flip ⑦ pings live | The strongest retention evidence of any mechanic in the review — relevance-gated, phrased as asking not assuming, never guilt-tripping (the manipulative variants are documented and to be avoided). Built and running dry on prod; the send switch is the console's Initiate tab. | console switch | built |
| # | lever | note | |
|---|---|---|---|
| 9 | Persona diary — the dream made visible | Replika's single most-cited「why it feels real」feature is the companion-POV diary; our dream/reflection pipeline already writes the content — the build is a reading surface. | part |
| 10 | Occasional voice notes | A persona sends a voice note (not calls) — 猫箱 gates voice behind VIP, a revealed-preference signal; tts-providers.js exists. | new |
| 11 | Moments / off-screen life feed | 筑梦岛/SoulLink: the persona exists when you're not talking to it. New surface + scheduled generation; pairs with the weekly recent.md sweep. | new |
| 12 | Corrected-typo experiments | Strongest single humanness cue tested — but dosage-untested, register-risky in Chinese, and pattern-detectable at frequency. A/B-only curiosity, never a default. | new |
voice: notes is the working mitigation; the divergence meter is the watchdog.Academic role-play fidelity: RoleLLM · prompt-vs-exemplars ICL · RAGs to Riches · ChatHaruhi · Emotional RAG · CoSER · Ditto · ERABAL · CharacterEval · InCharacter · Chameleon's Limit · RMTBench. Drift & convergence: instruction (in)stability · linguistic convergence · synchrony–stability · Lost in the Middle · sycophancy · Artificial Hivemind · C.ai prompt design. HCI perception: dynamic delays · Imperfectly Human · multi-bubble replies · Dialoging Resonance · ComPeer · Inner Thoughts · HUMA · Multi-Agents are Social Groups · Generative Agents. Consumer practice: C.ai creator book · C.ai memory · 星野评测 · 星野对话设计 · 猫箱试用 · companion re-engagement study.
c3d8; the staging half of its fixes shipped the same day (floor producer #fw-register + #fw-voice). Sits beside AI tone (register), conversation quality (the flatness diagnosis), and many minds (the convergence endgame).