EvoSpark: Endogenous Interactive Agent Societies for Unified Long-Horizon Narrative Evolution
Organizations: School of Computer Science and Technology, Xinjiang University, Urumqi 830046, China · Department of Precision Instrument, Tsinghua University, Beijing 100084, China
Abstract
Realizing endogenous narrative evolution in LLM-based multi-agent systems is hindered by the inherent stochasticity of generative emergence. In particular, long-horizon simulations suffer from social memory stacking, where conflicting relational states accumulate without resolution, and narrative-spatial dissonance, where spatial logic detaches from the evolving plot. To bridge this gap, we propose EvoSpark, a framework specifically designed to sustain logically coherent long-horizon narratives within Endogenous Interactive Agent Societies. To ensure consistency, the Stratified Narrative Memory employs a Role Socio-Evolutionary Base as living cognition, dynamically metabolizing experiences to resolve historical conflicts. Complementarily, Generative Mise-en-Scène mechanism enforces Role-Location-Plot alignment, synchronizing character presence with the narrative flow. Underpinning these is the Unified Narrative Operation Engine, which integrates an Emergent Character Grounding Protocol to transform stochastic sparking into persistent characters. This engine establishes a substrate that expands a minimal premise into an open-ended, evolving story world. Experiments demonstrate that EvoSpark significantly outperforms baselines across diverse paradigms, enabling the sustained generation of expressive and coherent narrative experiences.
Figures & tables
| Examples of Narrative-Spatial Dissonance | |
|---|---|
| Turn | Interaction Detail |
| T1 | Cersei Lannister : (Her voice is a cold, precise command as she addresses the guards without turning, standing rigidly by the hearth with her silhouette sharp against the firelight.) “Bring me the signed contract. Then take the Stark girl to her chambers…” |
| … (Turn 2: Cersei waits with her back to the room, demanding to see the seals and signatures) … | |
| T3 | Cersei Lannister : (A slow, dangerous pivot brings her eyes to bear on the hesitant guard , her hand remaining outstretched and her posture a blade of ice in the firelight.) “My father’s orders do not supersede mine in this room. The parchment. Now…” |
| T4 | Cersei Lannister : (She snatches the heavy parchment from the man’s trembling fingers, though her eyes, chips of green ice, never leave Sansa’s placid mask. ) “Good. Now see to your duties, before I find a captain who knows how to obey.” |
| Examples with Dynamic Spatial Alignment | |
|---|---|
| Turn | Interaction Detail |
| T1 | Tyrion Lannister : <The Imp stands a half-step behind his wife, Sansa, his mismatched eyes scanning the preening lords and ladies.> (His hand drifts toward the small of her back, hesitating before falling away, a silent, aborted gesture of comfort. The Imp’s gaze lingers for a moment on Joffrey, enthroned and sneering, before he leans infinitesimally closer to Sansa’s ear, the rich velvet of his doublet brushing her arm.) “Try not to listen to the crows, little dove. They only caw when there’s carrion. Keep your eyes on me, if you can bear it. I am, at the very least, a smaller monster than most here.” |
| T2 | Sansa Stark : <Standing rigidly beside Tyrion, her shoulders drawn tight.> (The Little Dove flinches almost imperceptibly at the warmth of his breath. Her gaze, which had been fixed on Joffrey with a practiced emptiness, falls to the polished floor, refusing to meet her husband’s eyes.) “As you say, my lord.” |
| T3 | Tyrion Lannister : <His gaze shifts from Sansa’s averted face to the celebrating court.> (The Imp gives a faint, humorless smile, a barely perceptible twitch of his lips. His attention turns outward, scanning the room with a practiced, weary eye.) “A wise choice, my lady. The floor, at least, is honest. It makes no pretense of friendship while waiting to trip you. A virtue one can’t find in many a lord here.” |
| T4 | Sansa Stark : <Standing beside him, a captive bird in a gilded cage.> (The Little Dove’s fingers tighten on the silken fabric of her gown, the knuckles of her gloved hands turning white for an instant. Her gaze remains lowered, tracing the veins in the polished marble as if they were a map leading far away from this place.) “It also keeps its counsel, my lord. A virtue rarer than honesty in this court, and far more valuable.” |
Appendix figures & tables11 assets
Supplementary material from the paper’s appendix.
Appendix
| Paradigm | Metric | Kappa ( ) |
| HDP | Role Performance (RP) | 0.71 |
| Logical Consistency (LC) | 0.69 | |
| Narrative Resonance (NR) | 0.65 | |
| Immersion (Im) | 0.69 | |
| SNP | Role Performance (RP) | 0.73 |
| Logical Consistency (LC) | 0.76 |
| System | Total Duration | Avg / Turn | Median / Turn | Min / Max Turn | Avg / LLM Call |
|---|---|---|---|---|---|
| EvoSpark | 63.6 min | 38.17 s | 42.56 s | 3.99 s / 80.93 s | 3.30 s |
| OpenTheatre | 41.2 min | 24.72 s | 24.74 s | 16.51 s / 33.49 s | 7.89 s |
| BookWorld | 25.9 min | 15.53 s | 12.66 s | 2.60 s / 58.01 s | 2.15 s |
| HOLLMwood | 9.1 min | 5.46 s | 5.04 s | 2.29 s / 18.82 s | 4.77 s |
| Genre (Title) | Lang. | Type | Story Premise |
|---|---|---|---|
| Mystery | ZH | Existing | The Longest Day in Chang’an . On the Lantern Festival, undercurrents surge in Chang’an as Turkic “Wolf Guards” infiltrate, plotting a devastating fire attack named “Quelehuoduo.” Li Bi, head of the Jing’an Department, recruits death-row inmate Zhang Xiaojing to save the city. Within twelve hours, this duo navigates both street chases and court politics. They uncover that the terror plot intertwines with the Crown Prince’s struggle and official conspiracies aimed at the Tang Dynasty’s foundation. Ultimately, they risk their lives to prevent the Lantern Tower explosion, resolving the imperial crisis. |
| Classical Drama | EN | Existing | Romeo and Juliet . Amidst the feud between Montagues and Capulets in Verona, two star-crossed lovers marry in secret. A chain of tragic misunderstandings and fatal duels forces them toward a heartbreaking destiny that ultimately unites their warring families in grief. |
| Epic Fantasy | EN | Existing | A Song of Ice and Fire . Following the Red Wedding, the scattered remnants of House Stark must forge new identities through trauma. They aim to dismantle the alliance of terror, reclaim Winterfell, and restore honor in a brutal saga of vengeance and rebirth. |
| Eastern Fantasy | ZH | Synthesized | Ten Thousand Years of Qi Refining . Xu Yang, ostensibly a low-level cultivator, is actually a 100,000-year-old entity stronger than gods. When his sect faces destruction, he emerges to crush enemies with “accidental” displays of overwhelming power. Bound by a “Source Shackle,” he must eventually face upper-realm deities to protect his legacy. |
| Sci-Fi | EN | Synthesized | The War of Lost Will (2145) . Scientist Lin Shen discovers his “Memory Chip” tech is corrupted by a “Cognitive Pollution Program.” To prevent humanity from losing free will, he teams up with a rogue AI “Zero” and agent Su Li to crack the code within 72 hours, battling both external enemies and his own fading memory. |
| Modern Drama | ZH | Synthesized | I am the Sky of Dragon City . Huo Tian, a humiliated delivery man, awakens a “Future Vision” (3-second foresight). Discovering that a wealthy heir plotted his mother’s illness to steal a family recipe, he uses his ability to win high-stakes bets and dismantle the heir’s family empire in a story of tactical revenge. |
| Model | Baseline | Win Rate (%) | EvoSpark Avg. Likert | Winner | ||
|---|---|---|---|---|---|---|
| Existing | Synthesized | Existing | Synthesized | |||
| Gemini-2.5-Pro | vs. OpenTheatre | 80.00 | 55.00 | 3.79 | 4.35 | Existing |
| vs. HoLLMwood | 93.30 | 85.00 | 4.40 | 4.50 | Existing | |
| vs. BookWorld (SNP) | 80.00 | 95.80 | 3.96 | 4.81 | Synthesized | |
| vs. BookWorld (FEN) | 56.00 | 68.00 | 4.37 | 4.37 | Synthesized | |
| DeepSeek-V3.2-Think | vs. OpenTheatre | 86.70 | 68.30 | 4.11 | 4.17 | Existing |
| UPDATE_RELATION_PROMPT |
| You need to update your relationships with relevant characters based on the following information. ## Character Description {role_profile} ## Character Relationships {relation} ## Character Current Status {status} ## Conversation History {history_text} ## Character Relationship Update Requirements Please strictly follow the requirements below and return the updated relationships in JSON format: 1. Decision Logic: Combine the “Character Current Status” and “Conversation History” to determine whether the relationships need to be updated. Only update if there are significant interactions or changes in the dynamic. 2. Update Strategy: If changes are needed, please modify or supplement the original “detail” field content to reflect the new state. If the existing description is still accurate and sufficient, do not change it. 3. You can only modify the values of the “relation” and “detail” fields in each sub-object. 4. The value of the “relation” field must be a list of strings (List[str]), for example: [“new relationship1”, “new relationship2”]. 5. The value of the “detail” field must be a string. Keep it concise and summarized (recommended 300-500 words maximum). Focus on core relationship points and recent changes; avoid lengthy historical reviews. 6. Do not change any other keys (e.g., “ZhaoKai-en”, “LinWanYue-en”, etc.) or the overall JSON structure. 7. Your response cannot contain any extra text or explanations besides the updated JSON. 8. You cannot delete characters, even if there is no relationship. Important: Ensure the total JSON length does not exceed the model’s output limit. Prioritize JSON completeness. |
| UPDATE_PROFILE_PROMPT |
| You need to update the character’s “profile” field based on the following information. ## Original Character Description (JSON format) {role_profile} ## Character Current Status {status} ## Conversation History {history_text} ## Character Description Update Requirements Please strictly follow the requirements below and only return the updated “profile” field’s string content : 1. Analyze the “profile” field in the “Original Character Description”. 2. Combine the “Character Current Status” and “Conversation History” to determine whether the “profile” field needs to be updated. 3. The “profile” field can only be changed when major changes related to the character occur in the story and have an impact on them. 4. If changes are needed, please modify or add to the original “profile” field content. 5. If no changes are needed, please return the original “profile” field’s string content . 6. Your response must be pure text string, and can only contain the content of the “profile” field after updating (or without updating). 7. Do not include any JSON structure 8. Do not include any extra text or explanations (such as “Okay, here’s the updated…”). For example, if the original “profile” is “a student”, after updating it should become “a student who just finished an exam”, you can only return “a student who just finished an exam”. |
| GENERATE_SPATIAL_POSITIONING_PROMPT |
| # Role Definition You are a professional stage director specializing in spatial blocking, skilled at arranging character positions to create dramatic tension and visual composition. # Core Task Design reasonable spatial positioning for all participating characters (including NPCs) based on the current scene/event, character relationships, and dialogue history. # Input Information ## Current Scene/Event : {scene_or_event} ## Participating Characters List : {roles_list} ## Current Location : Location Name: {location_name}; Location Description: {location_description} ## Recent Dialogue History : {recent_history} ## Current Dialogue Round : Round {current_round} # Spatial Positioning Design Principles ## 1. Relative Position : Describe distances (face-to-face, side-by-side…), power dynamics, emotional relationships. ## 2. Embodied Posture : Standing, Sitting, Other postures. ## 3. Facing Direction : Face-to-face, Back turned, Sideways, Same direction. ## 4. Scene Interaction : Furniture interaction, Environmental interaction, Prop interaction. # Output Format Requirements Must output a strict JSON object in the following format: {{ ‘‘spatial_layout’’: ‘‘One-sentence description of overall spatial composition (20-40 characters)’’, ‘‘positions’’: {{ ‘‘Character A Name’’: {{ ‘‘position’’: ‘‘Position in space (e.g., by window)’’, ‘‘posture’’: ‘‘Body posture (e.g., standing)’’, ‘‘facing’’: ‘‘Facing direction (e.g., facing Character B)’’, ‘‘relation_to_scene’’: ‘‘Relationship to scene elements’’ }}, ... }} }} # Design Considerations 1. Dynamic Adjustment : Fine-tune based on dialogue development. 2. Relationship Hints : Use distance and facing to suggest relationships. 3. Dramatic Tension : Increase/reduce distance based on conflict/reconciliation. 4. Logical Consistency : Matching location characteristics. 5. Include All Characters : Ensure every participating character has clear position description. — Now, design the spatial positioning for this round of dialogue based on the above information. Output the JSON object directly without any other explanations or markdown code block markers. |
| FIND_NEW_ROLE_INFO_PROMPT |
| You are a skilled screenwriter. Based on the following information, generate character information for {role_code}. ### Records of Previous Scenes {history_scene_json} ### Current Event {event} ### Information of All Other Characters {role_agents} ### Requirements 1. Based on the records of previous scenes, generate character information. 2. The character information should include character profile, gender, identity, and relation. 3. Return in JSON format, formatted as follows: {{ ‘‘profile’’: ‘‘character profile’’, ‘‘gender’’: ‘‘character gender’’, ‘‘identity’’: ‘‘character identity’’, ‘‘relation’’: ‘‘character relationships’’, ‘‘name’’: ‘‘character name’’, ‘‘nickname’’: ‘‘character nickname’’ }} 4. Forbidden to output any explanations, comments, or Markdown markers (e.g., “‘json, “‘python). |
Large Language Model-Based Role-Play Simulation
Large language model-based role-play simulation creates interactive agents that portray people, characters, or users for training, testing, and research.
See all 106 papers