Abstract
In June 2025 we published a system in which five personas named after Jungian archetypes (Shadow, Anima, Hero, Wise One, Trickster) discussed a user's dilemma through a local language model. The post called the dialogue "authentic" twenty times, said its speaking order followed "psychological truths" rather than "programmed rules", and attributed keyword lists to "thousands of hours of research". None of this was measured. The speaking order is a hand-set weight table, the "breakthrough detector" is ten substrings, and the "metaphor detector" counts every sentence containing "like" or "shadow". Our own screen recordings show three failure modes that matter to anyone using multi-persona deliberation for decisions: voices converge within a few turns, phrases from one scenario leak into the next, and personas copy each other verbatim. In one dialogue three consecutive turns are identical, and the system scored its "integration" at 1.00 out of 1. We withdraw the 2025 claims and propose a narrower study: on realistic decision cases, does a panel of personas write better decision memos than one well-prompted model, or than self-consistency sampling at the same token budget, as judged by blinded experienced raters and by recall of known risks? The answer decides whether red-team-versus-blue-team prompting earns its cost in pre-mortems and architecture reviews.
Zusammenfassung
Im Juni 2025 haben wir ein System veröffentlicht, in dem fünf Personas mit den Namen Jung’scher Archetypen (Schatten, Anima, Held, Weiser, Trickster) über ein lokales Sprachmodell das Dilemma einer Nutzerin oder eines Nutzers besprachen. Der Beitrag nannte den Dialog zwanzigmal „authentisch“, behauptete, die Reihenfolge der Sprecher folge „psychologischen Wahrheiten“ statt „programmierten Regeln“, und führte Schlagwortlisten auf „tausende Stunden Forschung“ zurück. Gemessen wurde nichts davon. Die Reihenfolge ergibt sich aus einer von Hand gesetzten Gewichtstabelle, der „Durchbruch-Detektor“ sucht nach zehn Zeichenketten, und der „Metaphern-Detektor“ zählt jeden Satz, der „like“ oder „shadow“ enthält. Unsere eigenen Bildschirmaufnahmen zeigen drei Fehlerbilder, die jeden betreffen, der Persona-Diskussionen für Entscheidungen einsetzt. Die Stimmen gleichen sich nach wenigen Beiträgen an, Formulierungen wandern von einem Szenario ins nächste, und Personas schreiben wörtlich voneinander ab. In einem Dialog sind drei Beiträge hintereinander identisch, und das System bewertete die „Integration“ trotzdem mit 1,00 von 1. Wir ziehen die Aussagen von 2025 zurück und schlagen eine engere Studie vor. Sie prüft an realistischen Entscheidungsfällen, ob ein Gremium aus Personas bessere Entscheidungsvorlagen schreibt als ein gut instruiertes Einzelmodell oder als Self-Consistency-Sampling mit gleichem Token-Budget. Die Vorlagen bewerten erfahrene Fachleute, die nicht wissen, aus welcher Bedingung eine Vorlage stammt, und zusätzlich zählen wir, wie viele bekannte Risiken sie nennt. Das Ergebnis zeigt, ob sich Prompting nach dem Muster „Red Team gegen Blue Team“ in Pre-Mortems und Architektur-Reviews lohnt.
1. Motivation
In a session recorded for our 2025 post, at 10:35:29, the Shadow persona told a user who was afraid to report wrongdoing at work: "You'd rather cling to the safety net of conformity than risk standing up for what you truly believe in, because at its heart, this dilemma is about a deep-seated fear of being ostracized or losing face." Three seconds later the Hero, whose instructions tell it to inspire courage, opened its turn with the same 36 words. By the end of the ten-turn conversation, "safety net of conformity" had appeared in four turns from three personas, and three turns warned that "perfectionism will forever remain a mirage on the horizon", although the user never mentioned perfectionism (Figure 1).
That transcript is a small picture of a question with money attached. Companies increasingly ask a language model to argue with itself: a red team against a blue team, a sceptical CFO against an eager product owner, a panel of personas running a pre-mortem before a project starts. Several viewpoints should surface more risks than one. But if the viewpoints collapse into one voice after two turns, the panel costs several times as much as a single answer and delivers the same answer in more words.
Our 2025 blog post presented the archetype system as a breakthrough in "authentic psychological dialogue". This paper does three things instead. It describes what the system was (Section 2) and what its code did (Section 3). It reports what our own recordings show (Section 4). And it designs the study that would tell us whether multi-persona deliberation adds anything measurable to decision-making (Section 6).
2. The system as built in June 2025
The application was a desktop program with tabs for simulation, advanced dialogue, scenarios, conversations, LLM logs and settings. Each persona was a Python class with a name, a dictionary of personality traits (key phrases, preferred metaphors, a "voice tone") and a system prompt. The Shadow's prompt, for example, instructs it to "reveal denied truths through haunting poetry and metaphor"; the Hero's tells it to "inspire the user to face their inner dragons". All personas called the same local model through Ollama. The recordings show an average response time of 1,347 milliseconds over nine calls, which points to a small model on local hardware; the post does not name the model.
A conversation ran as follows. A scenario was chosen from a library (eight basic scenarios such as "The Moral Compromise", "The Death Anxiety" and "The Inherited Trauma", plus longer "creative scenarios" such as "The Mirror Lake of Truth") or typed in by the user. Three or four personas were selected by theme. Each gave an opening statement, after which a dialogue engine picked the next speaker, the chosen persona answered with the transcript so far, and an analysis engine scored the result. Optional passes rewrote turns in a "creative mode" (narrative, poetic, metaphorical and others) and a further LLM call over the transcript produced "therapeutic insights" through a chosen framework, Jungian or CBT among them. Each persona kept a memory of recent interactions, trimmed to a configured maximum, and an LRU cache stored responses by prompt hash.
3. What the 2025 post claimed, and what the code does
3.1 "These aren't programmed rules"
The post said the personas' habits, such as the Shadow challenging the Hero, "aren't programmed rules - they're psychological truths encoded into probability matrices". This is the matrix and the selection function as printed in the post, shortened where marked:
def _initialize_conversation_patterns(self) -> Dict[str, Dict[str, float]]:
"""Initialize conversation patterns between archetypes"""
# Probability matrix: how likely each archetype is to respond to another
return {
"shadow": {
"anima": 0.8, # Shadow often challenges Anima's gentleness
"hero": 0.9, # Shadow loves to confront Hero's idealism
"wise_one": 0.6, # Shadow respects but questions wisdom
"trickster": 0.7 # Shadow appreciates Trickster's chaos
},
# ... patterns for each archetype pair
}
def _determine_next_speaker(self, session: ConversationSession) -> Optional[str]:
# ...
available_speakers = [p for p in session.participants if p != last_speaker]
weights = []
for candidate in available_speakers:
if last_speaker in self.conversation_patterns and candidate in self.conversation_patterns[last_speaker]:
weight = self.conversation_patterns[last_speaker][candidate]
else:
weight = 0.5 # default probability
# Boost weight if this archetype hasn't spoken recently
recent_speakers = [t.speaker for t in session.turns[-3:]]
if candidate not in recent_speakers:
weight *= 1.5
weights.append(weight)
# Weighted random selection ensures authentic but varied dialogue
return self._weighted_random_choice(available_speakers, weights)
We typed the numbers in by hand. Jung's writings on the archetypes contain no such table [2], and nothing in the project estimated one from data. They are also not probabilities. Rows do not sum to one, and the function multiplies them by 1.5 for anyone who has not spoken in the last three turns before drawing. With Shadow, Hero, Anima and Wise One present, and none of the three candidates among the last three speakers, the Hero follows the Shadow with probability 0.9 / 2.3, about 39%, not 90% (assuming the weighted choice normalises, as its name says). A hand-set weight table is a perfectly reasonable way to vary turn order. It is a programmed rule.
3.2 The breakthrough detector
def _identify_breakthrough_moments(self, session: ConversationSession) -> List[str]:
"""Identify breakthrough or insight moments in the conversation"""
breakthrough_keywords = [
"realize", "understand", "see now", "breakthrough", "insight",
"aha", "suddenly", "clarity", "makes sense", "get it"
]
breakthroughs = []
for turn in session.turns:
content_lower = turn.content.lower()
if any(keyword in content_lower for keyword in breakthrough_keywords):
# ... append the first sentence containing a keyword
return breakthroughs[:5] # Limit to top 5
Ten substrings, matched without word boundaries or negation. "I don't understand you" is a breakthrough. So is "forget it", which contains "get it". The post described this as "automatic detection of psychological breakthroughs".
3.3 Integration score and metaphor detection
def _calculate_integration_score(self, session: ConversationSession) -> float:
integration_indicators = [
"understand", "see your point", "both", "together", "balance",
"integrate", "wholeness", "accept", "embrace", "harmony"
]
# ...
for turn in session.turns:
content_lower = turn.content.lower()
if any(indicator in content_lower for indicator in integration_indicators):
integration_count += 1
base_score = integration_count / total_turns if total_turns > 0 else 0
consensus_bonus = len(session.consensus_points) * 0.1
conflict_penalty = len(session.conflict_points) * 0.05
return min(1.0, max(0.0, base_score + consensus_bonus - conflict_penalty))
def _detect_metaphors(self, content: str) -> List[str]:
metaphor_patterns = [
"like a", "as if", "reminds me of", "is like", "like",
"river", "mountain", "ocean", "storm", "sunshine",
"journey", "path", "bridge", "door", "window",
"garden", "seed", "flower", "tree", "forest",
"fire", "water", "earth", "air", "light", "shadow"
]
# ... returns up to three sentences containing any pattern
The integration score is the share of turns that contain at least one of ten words, plus 0.1 per "consensus point". A turn reading "you both refuse to accept anything" raises it. The post said of this function that it "represents thousands of hours of research into what psychological integration actually looks like in language" and that "we're not just looking for happy words". It looks for ten words.
The metaphor list is worse, because it matches substrings. "Likely" contains "like". "Empathy" and "pathological" contain "path". "Despair" contains "air". "Fired", in a scenario about losing one's job, contains "fire". And "shadow" is on the list, so every sentence that names the Shadow persona is catalogued as a metaphor. A separate function puts a turn into "metaphorical mode" whenever it contains "like" and none of a handful of narrative or poetic words. The post called this "one of our most sophisticated algorithms", one that "goes beyond simple keyword matching".
3.4 "Authentic", twenty times
The English post uses "authentic", "authentically" or "authenticity" twenty times, in phrases such as "authentic psychological dynamics" and "authenticity cannot be faked". No part of the system measured authenticity, and the post reports no evaluation of any kind. The word did the work that an evaluation should have done. We have removed it.
3.5 Therapeutic framing
The post described "healing potential assessment" and "comprehensive therapeutic reports", and the application produced a panel titled "Mental Health & Therapeutic Insights" with recommendations labelled "healing practice" and "journaling exercise" (Figure 4). The scenario library includes panic attacks about death and "childhood trauma leading to protective mechanisms". There was no disclaimer, no routing to help, and no clinical input. Software that offers healing practices to a person describing panic attacks is making a health claim. That is a different kind of product, with different obligations, and it is not one we build. The note at the top of this paper is the correction.
4. What our recordings show
The 2025 post included two screenshots of the application and four short screen recordings. They are what we chose to show at the time, not a sample. Read closely, they document three failure modes, which we report as observations from a handful of dialogues, not as rates.
4.1 The voices converge
In the ten turns of Figure 1, "safety net of conformity" appears in four turns spoken by three different personas, "rise up as the courageous leader you've always wanted to be" in four turns by two personas, and "cycle of self-doubt" in five. The Shadow's instructions ask for "haunting poetry"; the Hero's tell it to "challenge the user to face their fears"; the Anima's ask it to "gently reveal" emotional truths. Within sixteen seconds of generation, the three are interchangeable. Only the Wise One keeps a distinct register, and it does so by opening each of its three turns with a nature image.
4.2 Context leaks between conversations
The perfectionism in Figure 1 has a source. Two minutes earlier, the same application ran "The Creative Perfectionist" (Video 1). There the Anima twice opens with "The Shadow's words strike a resonant chord - for how long have we been trapped in this cycle of sabotage", and the Wise One warns that "perfectionism will forever remain a mirage on the horizon". In the whistle-blowing scenario the Anima opens with "The Shadow's words strike a resonant chord - for how long have we been trapped in this cycle of sabotaging ourselves?", goes on about the "myth that perfection is a prerequisite to success", and the mirage line returns three times.
Figure 2 shows the same leak in a scenario where it does harm: a user describing panic attacks about death is told by two personas about a creative project they never mentioned. The LLM log in Figure 3 suggests a route: the persona prompts carry a block headed "RECENT MEMORY: Previous interaction", filled from each persona's stored memory. If that memory survives from one scenario to the next, earlier dialogues travel into later ones. We have not verified this in code, because the full source is not archived, but it fits all three examples.
4.3 Personas copy each other, and the score goes up
Figure 3 is the clearest failure. Three consecutive persona calls, each with its own system prompt, return the same paragraph; the second and third even carry the previous speaker's name. Latencies of over two seconds suggest real model calls rather than cache hits, so the likeliest explanation is that the model, shown a transcript, continued the last speaker instead of playing its own role. The user sees the duplicated turns without comment.
For that dialogue, the system reported a perfect integration score (Figure 4). The repeated paragraphs contain indicator words such as "both" ("embracing both darkness and light") and "harmony" ("a comfortable illusion of unity and harmony"). If the displayed score is the function in Section 3.3, copying a turn copies its score, and a conversation in which every persona says the same thing scores as fully integrated. A metric that rewards the failure it should detect is worse than no metric.
6. Proposed study
6.1 Question and predictions
On realistic decision cases, does a deliberating panel of personas produce better decision memos than a single well-prompted model, or than self-consistency sampling at the same token budget? Our predictions, stated before any data:
- P1. The panel identifies more distinct, relevant risks than the single model.
- P2. At a matched token budget, the panel is not rated better than self-consistency on overall decision quality, in line with [5][6].
- P3. Without memory isolation, phrases from earlier cases appear in later ones, as in Section 4.2.
- P4. Functional roles (advocate, red team, operator, risk officer) are rated more actionable than the 2025 archetypes.
6.2 Cases
N written decision briefs of 400-800 words in three families: technology choices (build or buy, migration, vendor selection), project pre-mortems, and risk classification of planned AI use cases. Briefs are synthetic or taken from public sources; no client data is used. A subset of Nhist cases is built from public post-mortems with known outcomes. Both numbers are fixed before the first run. For those, two people independently list the documented causes of failure before any condition is run, and the merged list becomes the reference for risk recall.
6.3 Conditions
| Condition | Procedure |
|---|---|
| A. Single model | One call with a structured prompt that asks for risks, counter-arguments, assumptions and a recommendation. |
| B. Self-consistency | k samples of prompt A at temperature T; a fixed merge step keeps the majority recommendation and every risk named in at least two samples. |
| C. Role panel | Four personas (advocate, red team, operator, risk and compliance), R rounds, a moderator writes the memo. Memory is cleared per case; a turn that shares a run of x or more consecutive words with an earlier turn is regenerated once and flagged. |
| C-J. Archetype panel (exploratory) | As C, with the five 2025 archetype prompts. |
| C-0. Panel without guards (ablation) | As C, with shared memory across cases and no copy guard, run on a subset to measure P3. |
All conditions use one model, pinned by version and fixed before the first run. k and R are set in a pilot so that B and C generate the same number of tokens per case within 10%; T and x are fixed before the first run. A is the cheap reference and is reported with its cost.
6.4 Blinding and rating
Every condition ends in the same one-page memo template: recommendation, top five risks, key assumptions, and what evidence would change the decision. Persona names are removed and length is capped. Raters with at least five years in engineering or project leadership, who do not know the conditions, score each memo on a 1-7 scale for decision quality, risk coverage, actionability and calibration (are uncertainties stated, and stated honestly), and flag factual errors. The size of the rater pool is fixed before rating starts; each case is rated by three raters, who also give pairwise preferences between C and A and between C and B.
6.5 Measures
- Primary. Pairwise preference C against B. Risk recall against the reference list on the historical cases.
- Secondary. Rubric scores; number of distinct risks after two annotators merge duplicates; factual error rate; cost and latency per memo.
- Panel health. Convergence: mean pairwise embedding similarity between personas' turns, by round. Distinctiveness: how often blinded raters can tell which persona wrote an unlabelled turn. Copy rate: share of turns with a run of x or more words copied from an earlier turn. Leakage: share of turns mentioning entities from other cases.
None of the 2025 keyword scores is used.
6.6 Analysis
Rubric scores are analysed with a mixed-effects ordinal model with random effects for case and rater; pairwise preferences with a Bradley-Terry model; risk recall with a paired comparison across cases. Inter-rater agreement is reported as Krippendorff's alpha. Every memo, transcript and rating is published.
7. What this means for enterprises
Multi-persona prompting is now common in decision support: a red team and a blue team arguing over an architecture, a simulated board challenging a business case, a panel running a pre-mortem before kick-off. Our recordings are not evidence against the idea. They show that the default implementation fails quietly, and that the failure looks like success on a dashboard.
- Compare at equal cost. A four-persona, three-round panel makes at least twelve model calls, each with a longer context than a single answer. Test it against one strong prompt and against several samples of that prompt merged. If it cannot beat both, it is decoration [5][6].
- Watch for convergence. Personas are roles played by one model reading one transcript [3]. Measure how similar their turns are, round by round. Different names do not guarantee different evidence.
- Isolate memory per case. Persona memory that survives between sessions carries one client's problem into another's. In a regulated setting that is a confidentiality incident, not a quirk.
- Block verbatim copying. A cheap n-gram check catches the failure in Figure 3 before a user sees it.
- Never score quality with keyword lists. Ours awarded 1.00 to a conversation in which three participants said the same thing. Use blinded human ratings on a sample, and recall against known risks where outcomes are known.
- Keep health language out of decision tools. "Healing potential" in an HR or coaching product creates duty-of-care expectations that a prompt cannot meet.
A pre-mortem panel that works would be useful. The point of the study in Section 6 is to find out cheaply whether it does, before anyone builds a process around it.
8. Reproducibility
Archived with this paper: two screenshots and two of the four screen recordings from the 2025 post (Figures 1 and 2, Videos 1 and 2), plus two frames from Video 2 (Figures 3 and 4). Code excerpts are quoted from the 2025 post, shortened where marked. Quotations from dialogues are transcribed from the recordings.
Not archived: the full source code (a project folder named JUNG_LLM with packages for archetypes, simulation, GUI and utilities, visible in a screenshot in the 2025 post), the name and version of the language model, sampling settings, and the log files the application wrote. Senva's public repositories do not contain this project.
Planned for the study: a public repository with all prompts, the case briefs, the reference risk lists, the merge and copy-guard code, raw transcripts, anonymised ratings and analysis scripts.
References
- Hermans, H. J. M., Kempen, H. J. G., & van Loon, R. J. P. (1992). The dialogical self: Beyond individualism and rationalism. American Psychologist, 47(1), 23-33. doi:10.1037/0003-066X.47.1.23
- Jung, C. G. (1959). The Archetypes and the Collective Unconscious (Collected Works, Vol. 9, Part 1; R. F. C. Hull, Trans.). Bollingen Foundation; Princeton University Press (2nd ed. 1969). doi:10.1515/9781400850969
- Shanahan, M., McDonell, K., & Reynolds, L. (2023). Role play with large language models. Nature, 623(7987), 493-498. doi:10.1038/s41586-023-06647-8
- Du, Y., Li, S., Torralba, A., Tenenbaum, J. B., & Mordatch, I. (2024). Improving factuality and reasoning in language models through multiagent debate. In Proceedings of the 41st International Conference on Machine Learning, PMLR 235, 11733-11763. arXiv:2305.14325. arxiv.org/abs/2305.14325
- Smit, A., Duckworth, P., Grinsztajn, N., Barrett, T. D., & Pretorius, A. (2024). Should we be going MAD? A look at multi-agent debate strategies for LLMs. In Proceedings of the 41st International Conference on Machine Learning, PMLR 235, 45883-45905. proceedings.mlr.press/v235/smit24a.html
- Wang, Q., Wang, Z., Su, Y., Tong, H., & Song, Y. (2024). Rethinking the bounds of LLM reasoning: Are multi-agent discussions the key? In Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics. aclanthology.org/2024.acl-long.331
- Wang, X., Wei, J., Schuurmans, D., Le, Q., Chi, E., Narang, S., Chowdhery, A., & Zhou, D. (2022). Self-consistency improves chain of thought reasoning in language models. arXiv:2203.11171. Published at ICLR 2023. arxiv.org/abs/2203.11171
- Park, J. S., O'Brien, J. C., Cai, C. J., Morris, M. R., Liang, P., & Bernstein, M. S. (2023). Generative agents: Interactive simulacra of human behavior. In Proceedings of UIST '23, 1-22. doi:10.1145/3586183.3606763
- Klein, G. (2007). Performing a project premortem. Harvard Business Review, 85(9), 18-19. hbr.org/2007/09/performing-a-project-premortem
Changelog
- First version published on the Senva blog as "The Soul in Silicon: Building Bridges Between Jung and AI", in English, German and Vietnamese.
- Rewritten as a Labs paper. Withdrawn: "not programmed rules", "thousands of hours of research", the description of keyword lists as breakthrough and metaphor detection, and every claim of authenticity or healing value. Added: a not-a-therapeutic-tool notice, code excerpts that show how speaking order and scores were computed, three failure modes documented from our own recordings, and a design for a blinded comparison against single-model and self-consistency baselines. Removed: the philosophical closing section, the Jung quotations and the decorative illustrations.

