Papers › Can LLM Agents Stick to the Script? A Benchmark for Long-Horizon Consistency in...
Can LLM Agents Stick to the Script? A Benchmark for Long-Horizon Consistency in Interactive Narratives
Yingpeng Ma, Jianhao Yan, Bei Shi, Ka Hou Kam, Runnan Wang, Xuebo Liu, Yulong Chen, Yue Zhang, Derek F. Wong
Title, abstract, authors and date from arXiv's metadata (CC0); this paper is not in the Papers with Code archive (frozen 2025-07-28).
The rapid advancement of Large Language Models (LLMs) is revolutionizing AI for Games by enabling open-ended and fluid interactive storytelling. However, existing research has largely overlooked the critical challenge of maintaining long-horizon logical consistency and narrative integrity against unconstrained user interventions. To address this, we formulate this challenge as Narrative Commitment Preservation (NCP), and take interactive narrative as our testbed. We introduce NCP-Bench, a benchmark of 100 narrative environments derived from movie synopses. Each environment includes a structured narrative specification (trajectory, commitments, and initial facts) that we can automatically check throughout the interaction between the player agent and the narrator agent. Experiments across state-of-the-art LLMs reveal a substantial long-horizon consistency gap: high linguistic quality does not guarantee commitment preservation; even strong models frequently generate logically conflicting content under adversarial interventions, with the best-performing model (GPT-5.2) achieving only 42% survival rate after 20 turns and fact conflict rates ranging from 40% to 68% across models, and only isolated runs satisfying all achievement commitments within the 100-turn limit.
In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.
For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2608.08160")
Code
Syntology Ran 72 of 90 code samples harvested from 1 repository linked to this paper; 18 have no recorded run. Of those that ran: 3 ran · honoured contract; 1 ran · violated contract; 45 ran · our draft was wrong; 23 ran with no contract checked.
By repository: found in paper text by Syntology: 90 samples from 1 repository, 72 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.
Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.
Code Syntology ran Syntology
90 samples harvested; 72 ran; 3 honoured the contract we drafted; 18 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.
Licence: 0 of the 90 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.
Harvested from yingpengma/NCP-Bench. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.
Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.
Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.
6baefa8c03c8073b · report
477d617508a01ed1 · report
225c1e1d6aa8ef52 · report
9275d276c18d1265 · report
7e4e25bf99b30656 · report
403039263cff2dee · report
26e59d268abd3a42 · report
d0aa116f6e67740f · report
a4d578af7dc4366a · report
cf5ff3d591cc004d · report
a397eb49bee1be3b · report
0b6ddc7118f4a20c · report
cf34436e377a3111 · report
dc74c41ca23b2db8 · report
5c2ee2ba5d267cdf · report
ef12c1f61aaa23e9 · report
d9d593f13f3d399f · report
48a18311c6707329 · report
3c29c0dff5302cdc · report
05547bdfc564737a · report
a4a0ea3a436605c0 · report
ae6e086b9871bf9c · report
96ded29e4b2b6edb · report
87a83c6c64d04d33 · report
881b3ff52990ad4f · report
03e084c6b85cff45 · report
3d68030ecaab9187 · report
0b571550ec2f8bd1 · report
e78fa6a936db28b3 · report
bb147fbdb564ab08 · report
f48d2b516188201f · report
4699f523e541d887 · report
77812a1aa0267b64 · report
39b6c97dcbe721ff · report
ddbf1846483032a8 · report
031f59d0efdc193a · report
308388e14916159e · report
ad2949a66ba46899 · report
9d6c46c34b72e542 · report
8ac58d2d21e6dd5f · report
4eabff48b3f6c214 · report
ab51c15d8e068455 · report
a496e6b2203db33d · report
6374f68069f53487 · report
b9cc93c37c18d98c · report
bd7ac87f8e14dbfc · report
f4dc8710f789a065 · report
e7de95262c944927 · report
35093190a7dd3b9b · report
48d4ada89ebbfef0 · report
a9f899432b8e62db · report
676a716e20a2dbf6 · report
800e659cf94b9784 · report
f83b8661a7ad2296 · report
936423ca29b5af3b · report
daee147005f7e47a · report
91130ae0675a62a6 · report
b631a97caeadc467 · report
48b4c9e809d45ecd · report
cc56c9f0cdcf1c00 · report
fdd1c66fde7c0117 · report
00f6e69066ce946e · report
21f2de0b99d91a74 · report
166c401d938d993b · report
ee27fb0345c48b9e · report
680abdbff4c5f360 · report
8cd4a00832b05c68 · report
51f2305ee1b5ff12 · report
4efbd7e33da0c1a6 · report
5e5fa92d8ea0338b · report
f938f6e8359bf88e · report
4dac9b8189adc047 · report
eac5519024e14bb5 · report
12af0219d50bab23 · report
9b7d37cf3b082cce · report
d8072777741ab0c2 · report
5e5e2bef2c3fb7bd · report
59b2101d4d593b4f · report
85bb618d6063baf6 · report
db95fd949e2fe427 · report
65670dfb60b8bed3 · report
c65c208c583165f6 · report
9b8e90476ed709e8 · report
fa59174576ea3ade · report
fda2bd9500e337b2 · report
49bf002b2ae80821 · report
b3a5232b359f120d · report
4b6ef600389c3d83 · report
38f0bcdf3fb430c4 · report
e37b77125d144e74 · report
Results from the paper
The Papers with Code archive ends with its 2025-07-28 snapshot. This paper's arXiv identifier, 2608.08160, was issued in August 2026, after that date, so the archive has no leaderboard rows for it.
Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections