Get Started
Home
Topics
Search
Library
Agents · Reasoning · Jul 19, 2026

EvolvingWorld: An Open-Schema Framework for Co-Evolving Role-Play Agents and World Model in Interactive Literary World

Source: research paper via Hugging Face Daily Papers
Long-horizon role-play drifts because personas are fixed cards and worlds are passive backdrops. EvolvingWorld couples a character agent and world model with per-book open schemas plus a hidden-tracker buffer that only promotes slow signals on evidence — ablating it drops profile fidelity 12.6 points and halts length-wise degradation.
TL;DR
EvolvingWorld runs long-horizon role-play by pairing a Character Agent that evolves each character’s Open-schema profile (with a Hidden Tracker for sub-threshold signals) and an LLM World Model that maintains global and per-location state, decomposed into 7 supervised tasks trained on 57 books.
Why It Matters
Imagine you’re shipping an interactive fiction product, an NPC layer for a game, or a long-running agent that has to stay in character across hundreds of turns. Today most role-play stacks treat the character as a fixed persona card plus dialogue history. After 20 scenes, the character has forgotten grudges, the tavern that burned down is intact again, and side characters drift into generic assistant tone. The dominant academic baseline for book-grounded simulation, BookWorld, updates a handful of predefined fields (goals, one global event) and leaves everything else static. This paper argues the missing piece is co-evolution: character state and world state have to update together, and the schema of what to track has to come from the book itself.
How It Works
The simulator starts from a snapshot extracted from a book: initial character profiles, a global world state, and per-location states (with nested sub-locations and non-character entities like “Christmas tree by the window”). Both profiles and world state are Open-schema: the extraction LLM picks whichever dimensions matter for that book, so a detective gets “investigative habits” while a Victorian orphan gets “social position.”
Each scene is produced by two coupled modules cycling through seven tasks. The World Model plans who’s in the scene, where it happens, picks the next speaker each turn, and after each interaction decides whether the global or location state needs a persistent update. The Character Agent generates each character’s turn (thoughts in [...], speech in plain text, actions in (...)), sets a per-scene motivation, and after the scene revises the character’s profile.
The key trick on the character side is the Hidden Tracker. Profile dimensions evolve at different speeds. Mood shifts quickly, personality only after accumulated evidence. So weak or emerging signals go into a private tracker; only when they cross a threshold do they get promoted into the actual profile. This prevents both premature rewrites and missed slow-burn changes.
for t in range(max_scenes): cast = world_model.scene_cast(global_state, chars) loc, scenario = world_model.location_scenario(cast, locations) for i in cast: motivation[i] = char_agent.motivate(chars[i], scenario) history = [] for k in range(max_turns): actor = world_model.next_character(history, scenario) if actor == "END": break turn = char_agent.interact(chars[actor], history, motivation) history.append(turn) loc_state = world_model.world_update(loc_state, turn) for i in cast: chars[i] = char_agent.char_update(chars[i], history, loc_state)
Training data is built by running an extraction LLM (Gemini-2.5-Pro) over 57 chronologically-narrated public-domain books, using later scenes as look-ahead evidence for state changes. This yields 138,596 supervised examples and 222 test snapshots. Fine-tuning uses LoRA on top of Qwen and Llama backbones, mixed 1:1 with Tulu 3 general instruction data.
Core Insight
The prevailing approach treats a role-play character as a fixed persona card and the world as a passive backdrop, with dialogue history as the only memory. This paper argues the opposite. Long-horizon coherence comes from letting the schema of the character and the world be inferred per-book, then explicitly evolving both together, with a separate slow-signal buffer so profile updates don’t thrash on every scene. The load-bearing evidence isn’t the headline leaderboard, it’s the length-wise degradation curves and the schema/tracker ablations that isolate why fixed-slot baselines drift.
What They Found
The most load-bearing result is the length-wise comparison against BookWorld. On Profile Evolution Smoothness and Scene Continuity, BookWorld’s scores degrade as simulations get longer, while EvolvingWorld holds steady and PES actually improves over longer trajectories. This is the ablation that proves the thesis: structured co-evolving state is what stops long-horizon drift.
Secondary evidence:
•
Component ablations. Removing the hidden tracker (keeping profile updates) drops Profile Update Fidelity by 12.6 points on GPT-5.3-Chat. Replacing open-schema with a fixed 5-slot schema costs another ~1.3 points on both character and world sides. Removing character state updates entirely tanks Character Agent scores from 85.5 to 66.8 on GPT-5.3-Chat and from 32.5 to 12.9 on Llama-3.1-8B.
•
Training transfer. Fine-tuned small open models beat much larger untrained ones on this benchmark. Qwen-32B trained on EvolvingWorld hits a World Model average of 59.87, ahead of Claude-4.6-Sonnet (57.54) and Gemini-2.5-Flash (59.76). The framework’s structured state tracking is underrepresented in generic pretraining, so targeted supervision pays off disproportionately.
•
Headline numbers. Claude-4.6-Opus tops both leaderboards (Character 94.97, World 77.76) with no fine-tuning. Prior role-play-only baselines CoSER and Crab score in the high teens to mid-20s at the 7B/8B scale, well below EvolvingWorld-trained backbones at the same size (~45).
•
Judge robustness. Top-6 rankings agree across Claude-4.6-Sonnet, Gemini-2.5-Pro, and GPT-5.1-Chat judges. Human annotators on 60 sampled trajectories agree with the Claude judge on 85\u2013100% of pairwise comparisons.
What’s Useful
Reach for this design when you’re building anything that needs a character to remember and evolve over dozens of scenes: NPC systems for games, long-running companion bots, interactive fiction, or narrative simulation for training data generation. The concrete transferable pieces are the hidden-tracker pattern (buffer sub-threshold signals separately from the committed profile) and the split between a Character Agent and a World Model with explicit per-location entity state, not just a global memory blob. If you’re currently doing persona-card plus RAG-over-dialogue, adding these two structures is the cheapest upgrade path.
The authors release the framework, the 138,596-sample training set, the 222-snapshot benchmark, and the 20-metric LLM-as-Judge evaluation. Books come from Project Gutenberg (public domain, research-use only, no commercial deployment). The paper also demos feeding structured scenes into a video model to produce short films from evolved storylines, which is a plausible downstream use if you’re in that space.
Takeaway
Persistent characters need two memories, not one: a committed profile that only changes on real evidence, and a separate buffer where slow signals accumulate until they earn a promotion. Bolting a single unified memory onto a persona card is why long-horizon role-play drifts. Split the timescales, let the schema come from the source material, and evolve the world alongside the character rather than treating it as a fixed sandbox.
Caveats
•
The world is modeled as a single objective state shared by all characters. Real fiction turns on differing perceptions and unreliable memory (one character thinks the object is on the table, another swears it’s on the chair). The authors flag this and don’t attempt it.
•
Books are all public-domain classics from Project Gutenberg. No modern novels, no games, no user-generated worlds. Out-of-distribution results within the classic-lit corpus look fine, but cross-domain (e.g. sci-fi game lore, contemporary fanfic) is untested.
•
The evaluation is entirely LLM-as-Judge with Claude-4.6-Sonnet as the main judge. Cross-judge and human agreement are strong on top-rank ordering, but absolute scores and mid-pack rankings should be read as directional, not calibrated.
Topics
Don't miss new content
Log in to follow topics and personalize your feed.
By content type
Research Paper171 episodes
AI171 episodes