Lost in Stories:LLM 长篇故事生成中的一致性错误¶
笔记时间:2026-07-28 评分:4 领域:narrative 子领域:evaluation 方法:benchmark, llm-as-judge, consistency-analysis 类型:benchmark
元信息¶
- arXiv:2603.05890v1
- 日期:2026-03-06
- 作者:Junjie Li、Xinrui Guo、Yuhao Wu、Roy Ka-Wei Lee、Hongzhi Li、Yutao Xie
- 机构:Microsoft Beijing;Singapore University of Technology and Design
- 本地 PDF:
paper.pdf(28 页) - 英文全文:
main_en.md - 中文译文:
main_zh.md - 可追溯源码:
source/acl_latex.tex及source/sec/
定位¶
这篇论文研究一个比“单次回答是否正确”更接近长篇写作实际质量的问题:LLM 写出的故事越长,人物、事实、世界设定和时间线是否还能前后一致?作者构建 ConStory-Bench,让模型在四类任务上生成长篇故事,再用 ConStory-Checker 检测并归类跨长距离的一致性错误。
它的核心贡献不是提出新的故事生成模型,而是把长篇故事的一致性拆成可分析的错误类型、检测流程和长度归一化指标,从而回答:哪些模型更稳定、错误如何随篇幅增长、不同错误之间怎样相互诱发。

图 1(论文总览)。 Benchmark 从 2,000 个 prompt 出发,覆盖四种长篇叙事任务;模型完成生成后,ConStory-Checker 抽取实体和事件、寻找潜在矛盾、构造证据链,并输出结构化错误报告。
动机¶
传统生成评测在这里有三处不足:
- BLEU、ROUGE 等表面相似度不能判断跨数千词的事实矛盾。
- 单一“是否连贯”分数无法说明错误属于人物、世界设定、时间还是因果关系,也难以指导改进。
- 直接统计错误数会偏向惩罚更长的故事;只看平均分又会掩盖错误随长度累积的规律。
因此作者同时需要一个受控的长篇生成集合、一套细粒度 taxonomy,以及能比较不同输出长度和不同模型的指标。
方法¶
1. ConStory-Bench¶
Benchmark 含 2,000 个 prompt,覆盖四种任务。作者把一致性问题划分为五个大类、19 个子类型;五大类围绕人物、事实、世界设定、时间逻辑与因果关系展开。这个设计让评估不止给出一个总分,还能定位模型具体在哪里“忘了自己之前写过什么”。
2. ConStory-Checker¶
检测流程不是让 judge 直接凭印象打分,而是逐步收缩问题:
- 从故事中抽取人物、事实、时间、世界设定和因果关系等候选项。
- 在候选项之间寻找可能矛盾的配对。
- 回到原文提取支持矛盾判断的证据链。
- 按预定义 taxonomy 输出结构化 JSON 报告。
这个流程的价值在于保留证据,使错误能够回溯到原文片段;但它仍依赖 LLM judge,不能把检测结果视为完全无噪声的金标准。
3. 长度归一化指标¶
对模型 \(m\) 的第 \(i\) 篇故事,令错误数为 \(e_{m,i}\)、词数为 \(w_{m,i}\)。每万词一致性错误密度定义为:
同时把长度与错误数合成单篇质量:
再对每个 prompt 内的模型质量排名取平均,得到:
CED 和 GRR 都是 越低越好。CED 衡量单位长度的错误密度;GRR 则奖励在较少错误下生成更长文本,避免模型靠极短输出取得低错误数。
实验¶
1. 模型差距明显,但最强模型也未解决问题¶
论文 Table 3 的 CED 主结果为:GPT-5-Reasoning 0.113、Gemini-2.5-Pro 0.305、Claude-Sonnet-4.5 0.520、GLM-4.6 0.528、Qwen3-32B 0.537。GPT-5-Reasoning 明显领先,但所有模型仍会产生可检测的一致性错误。
需要保留一个版本内差异:RQ1 正文写 GPT-5-Reasoning 与 Claude-Sonnet-4.5 的 GRR 为 2.80 / 4.54,同一版本 Table 3 则为 3.05 / 4.90。这里不擅自统一;引用主表时采用 3.05 / 4.90,并把正文数值视为论文源码内部不一致。
2. 错误会随故事增长而积累¶

图 2(错误—长度关系)。 错误数总体随文本长度近似线性增长。Claude-Sonnet-4.5 的相关系数为 \(r=0.478\),DeepSeek-V3.2-Exp 为 \(r=0.973\)。这说明更长的 context window 并不自动带来更可靠的长期状态维护。
错误片段的信息熵也高于全文平均水平:Qwen3-30B 高 12.03%,Qwen3-4B 高 19.24%。作者据此认为,模型更容易在局部不确定性高、候选走向更多的位置写出矛盾。矛盾尤其集中在故事进度的 40%–60%,即设定已经累积、情节开始快速展开的中段。
3. 事实错误像错误传播网络的中心¶

图 3(错误关系网络)。 事实错误与人物错误的相关系数为 0.304,与世界设定错误为 0.255,与时间逻辑错误为 0.176。它更像一个上游枢纽:一项基础事实一旦写错,后续人物行为、时间线和设定都可能继续建立在错误状态上。
这里应谨慎使用“因果”一词:图中首先展示的是统计相关性。它支持“错误可能级联”的解释,但不能单凭相关系数证明某类错误必然导致另一类错误。
局限¶
论文在 Limitations 中明确指出:
- 数据只覆盖英语和以西方文化为主的叙事,结论不能直接外推到其他语言和叙事传统。
- 一致性被建模为二元矛盾判断,难以区分真正错误与作者有意安排的反转、误导或延迟揭示。
- 当前任务只覆盖小说,没有检验技术文档、学术写作、剧本等其他长文体裁。
另外,ConStory-Checker 本身是 LLM 驱动的评估器。即使采用证据链和结构化输出,它的漏检、误检和模型偏好仍会传导到 leaderboard 与错误分布分析中。
关系¶
- Finding Flawed Fictions 从人类故事出发,可控注入一个已知 continuity error,测试模型能否检测并定位矛盾;它更像受控诊断题。
- Lost in Stories 让模型真正生成长篇故事,再统计自然产生的多类一致性错误;它更接近生成系统的质量审计。
- LiteReason 把 Flawed Fictions 的二元子任务用作 RLVR 环境,研究的是专项训练能否学会任务并压缩显式推理,不应把其分数直接当作这两套 benchmark 的通用 leaderboard 结果。
结论¶
这篇论文最值得保留的判断是:长上下文能力不等于长篇状态管理能力。一致性错误会随篇幅增长,并可能从基础事实向人物、设定和时间线级联。ConStory-Bench 的意义在于把“故事写崩了”变成有类型、有证据、按长度归一化的可分析现象;但在使用其结果时,仍要把 LLM judge 的不确定性和论文内部数值差异计入可信度判断。