Staying In Character: Perspective-Bounded Memory For Book-Based Role-Playing Agents

Xushuo Tang, Junhe Zhang, Zihan Yang, Yifu Tang, Sichao Li +2 more
6/24/2026
cs.CLcs.AI

No confident code implementation found for this paper.

Abstract

Recent LLM role-playing systems build character agents from novels by extracting characters, scenes, and relations. Yet long-narrative role-playing suffers from two failures: Factual Overreach, where shared retrieval or parametric memory lets a character use facts outside its perspective, and Stylistic Monotony, where profile descriptions flatten a character into a fixed voice. To address these failures, we propose REVERIEMEM, a three-layer memory architecture for book-based character agents. The episodic layer stores first-person scene memories; the semantic layer stores visibility-tagged facts; and the personality layer stores situation-dependent speech and behaviour patterns. For evaluation, we construct KBF-QA, a 4,386-question benchmark over eight novels for testing knowledge boundaries. REVERIEMEM improves Knowledge Boundary Fidelity by 34.6 percentage points over the strongest prior method. On BOOKWORLD's five-dimension pairwise narrative protocol, REVERIEMEM achieves a ~ 79% win rate, suggesting that perspective-bounded memory improves both boundary fidelity and character-grounded narrative generation.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{tang2026staying,
  title  = {Staying In Character: Perspective-Bounded Memory For Book-Based Role-Playing Agents},
  author = {Xushuo Tang and Junhe Zhang and Zihan Yang and Yifu Tang and Sichao Li and Longbin Lai and Zhengyi Yang},
  year   = {2026},
  eprint = {2606.25632},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2606.25632v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2606.25632.svg)](https://codeofpaper.com/paper/2606.25632)

Discussion