跳转至

迷失于故事:LLM 长篇故事生成中的一致性缺陷

原题:Lost in Stories: Consistency Bugs in Long Story Generation by LLMs
作者:Junjie Li(李俊杰)、Xinrui Guo、Yuhao Wu、Roy Ka-Wei Lee、Hongzhi Li、Yutao Xie
机构:Microsoft(北京);Singapore University of Technology and Design(新加坡科技设计大学)
arXiv:2603.05890v1,2026-03-06,cs.CL
中文翻译依据:arXiv v1 LaTeX 源码;PDF 共 28 页。公式、表格、图注与附录均按源码翻译。文中 [键名] 对应 source/custom.bib 中的 BibTeX 条目。

摘要

当一个讲故事的人忘记了自己的故事,会发生什么?大型语言模型(LLM)如今能够生成长达数万词的叙事,但它们往往无法自始至终保持一致。在生成长篇叙事时,这些模型可能与自己已经确立的事实、人物特征和世界规则相矛盾。现有故事生成基准主要关注情节质量与流畅性,一致性错误则基本未被探索。

为弥补这一空白,我们提出 ConStory-Bench:一个用于评估长篇故事生成中叙事一致性的基准。它包含四种任务场景下的 2,000 个提示,并定义了由五类错误、19 个细分子类型组成的分类体系。我们还开发了 ConStory-Checker,这是一条自动化流水线,能够检测矛盾,并用明确的原文证据支撑每一项判断。

我们围绕五个研究问题评估了多种 LLM,发现一致性错误呈现出清晰规律:事实维度与时间维度的错误最常见;错误倾向于出现在叙事中部;包含错误的文本片段具有更高的 token 级熵;某些错误类型还倾向于共同出现。这些发现可以为未来改善长篇叙事生成的一致性提供依据。项目主页:https://picrew.github.io/constory-bench.github.io/

1 引言

长篇叙事生成已成为 LLM 的关键能力之一,支撑内容创作、故事写作和教育内容编写等多种应用。随着上下文窗口扩大,模型不仅要生成局部流畅的文本,还必须在数千 token 范围内准确跟踪实体与事件、保留世界规则、维持连贯的文体约定,从而保持整体一致性。近期研究推进了长上下文理解与长文本生成,但尚未系统隔离跨上下文矛盾,也没有提供可大规模复现的评估机制 [bai2024longbench,bai2025longbench,an2024eval,wu2024longgenbench,que2024hellobench]

在叙事生成中,已有基于规划的方法 [zhou2023recurrentgpt,wang2023improving,xie2024creating,gurung2024chiron,wen2023grove] 和创意写作评估 [ismayilzada2024evaluating,xie2023next,wang2024weaver] 主要关注情节连贯性与流畅度,全局一致性仍研究不足。此外,尽管 LLM-as-a-judge 协议在自动评估上很有前景,现有方法通常缺少明确的文本证据与可解释理由 [lee2024checkeval,pereira2024check,tan2024proxyqa,chen2024humans,zheng2023judging]

为此,我们提出 ConStory-Bench,并开发 ConStory-Checker。前者包含四种叙事任务场景中的 2,000 个提示,后者检测矛盾,并以精确引文为每个判断提供证据。错误分类体系包含五个维度和 19 个子类型。

图 1:ConStory-Bench 总览

图 1:ConStory-Bench 总览。 框架由三部分组成:(a)面向长篇故事生成的 2,000 条提示,目标长度为 8,000–10,000 词;(b)ConStory-Checker,它通过多阶段流程提取五类错误、配对矛盾并建立证据链;(c)使用一致性错误密度(CED)和组内相对排名(GRR)进行标准化评分。原论文图注称其为“三阶段流水线”,正文第 3.3 节则明确拆分为四个阶段。

本文围绕以下五个研究问题展开:

  1. 当前 LLM 在超长文本生成中能在多大程度上维持叙事连贯?不同模型的一致性错误类型分布是否相似?
  2. 对不同 LLM 架构而言,一致性错误如何随输出长度增长?
  3. 哪些底层因素促成一致性错误?是否存在能够可靠预测错误的信号?
  4. 不同一致性错误会系统性地共同出现,还是彼此独立?
  5. 一致性错误在长篇生成叙事的不同位置如何分布?

本文贡献如下:

  • 提出 ConStory-Bench,以四种任务场景和包含五大类、19 个子类型的分类体系评估长篇故事生成的一致性。
  • 开发 ConStory-Checker,自动检测矛盾,并为每项判断提供精确的文本证据。
  • 评估广泛的文本生成系统,包括闭源模型、开源模型、能力增强模型和智能体式生成系统,并围绕五个研究问题进行系统分析。

2 ConStory-Bench

ConStory-Bench 使用 LLM-as-a-judge 流水线检测一致性错误,并把它们归入细粒度类别。

图 2:真实模型输出中的代表性一致性错误

图 2:真实 LLM 生成故事中的代表性一致性错误。 高亮文本分别展示了时间线与情节逻辑、人物塑造、世界构建与设定、事实与细节一致性、叙事与文体五类矛盾。

2.1 数据集构建

来源与筛选

作者从七个公开语料库收集种子故事:LongBench [bai2024longbench]、LongBench_Write [bai2024longwriter]、LongLamp [kumar2024longlamp]、TellMeAStory [akoury2020storium]、WritingBench [wu2025writingbench]、WritingPrompts [fan2018hierarchical] 与 WikiPlots [riedl-2017-wikiplots],同时提取创意写作查询和完整长篇叙事。

使用 LLM 改写提示

作者把收集到的故事转换成面向具体任务的提示。先根据叙事结构和内容为每个故事分配四种任务之一:

  • 生成(Generation):仅给出最简情节设定,自由生成叙事。
  • 续写(Continuation):把开头的故事片段扩展为完整、连贯的叙事。
  • 扩写(Expansion):基于简洁但相对完整的情节大纲,通过补充隐含细节与事件写成长篇故事。
  • 补全(Completion):给定开头和结尾,以少量中间情节指引写出完整故事。

随后使用 o4-mini 把每个故事改写成适配任务类型的提示。提示以源故事中的真实叙事要素为基础,并把目标生成长度约束为 8,000–10,000 词。质量控制包括:(i)以 MinHash 去除近重复提示;(ii)通过人工检查与自动启发式规则过滤低质量或过于简单的样本。最终获得 2,000 条高质量提示。

表 1:四种任务类型的统计。

任务类型 数量 占比
生成 751 37.5%
续写 432 21.6%
扩写 422 21.1%
补全 395 19.8%
合计 2,000 100%

2.2 一致性错误分类体系

作者以叙事理论和故事理解研究 [ismayilzada2024evaluating,xie2023next] 为基础,建立了五个顶层类别和 19 种细粒度错误,覆盖时间逻辑、人物记忆、世界规则、事实细节与叙事风格中的矛盾。

表 2:ConStory-Bench 的一致性错误分类体系。

顶层类别 子类型
时间线与情节逻辑 绝对时间矛盾;持续时长矛盾;同时性矛盾;无因之果;因果逻辑违反;被遗弃的情节要素
人物塑造 记忆矛盾;知识矛盾;技能波动;被遗忘的能力
世界构建与设定 核心规则违反;社会规范违反;地理矛盾
事实与细节一致性 外观不匹配;命名混乱;数量不匹配
叙事与文体 视角混乱;语调不一致;文体突变

2.3 自动错误检测流水线

ConStory-Checker 是一条可扩展、可审计的 LLM-as-a-judge 流水线,共四个阶段 [zheng2023judging]

  1. 按类别引导的提取。 使用面向五个维度的专用提示扫描叙事,提取容易产生矛盾的文本片段。
  2. 矛盾配对。 对提取片段进行两两比较,并依据 CheckEval [lee2024checkeval] 与 ProxyQA [tan2024proxyqa] 的方法判为“一致”或“矛盾”,从而减少误报并隔离真正的不一致。
  3. 证据链。 对每处矛盾记录推理理由、带位置的原文证据以及错误类型结论 [pereira2024check]
  4. JSON 报告。 标准化 JSON 输出保存引文、位置、配对关系、错误类别和解释;所有判断都锚定到精确的字符偏移。

评估模型使用 o4-mini,以平衡准确性与成本。近期研究表明 LLM 在结构化判断任务中表现较强 [chen2024humans]

3 评估

作者使用 ConStory-Bench 与 ConStory-Checker 评估四类系统:闭源模型、开源模型、能力增强模型以及智能体式写作系统。

3.1 实验设置

闭源模型来自 OpenAI [gpt5]、Google [comanici2025gemini]、Anthropic [anthropic2025claude45]、xAI [xai2025grok4] 等;开源模型覆盖 Qwen [qwen3]、DeepSeek [deepseekr1]、GLM [glm]、Kimi [kimik2] 等。实验还包括为长篇故事生成微调的能力增强模型 [wu2025longwriter,pham2024suri,bai2024longalign],以及使用多步骤生成流水线的智能体增强系统 [wu2025superwriter,wang2025generating]。每个模型在可比设置下,为四种场景的全部 2,000 个提示生成输出。

3.2 结果与分析

RQ1:当前 LLM 能在多大程度上维持超长叙事连贯性?

直接按每篇故事的错误数比较会不公平地惩罚长输出:一篇 10,000 词故事自然比一篇 2,000 词故事拥有更多出错机会。为消除长度偏差,作者提出一致性错误密度(Consistency Error Density,CED),即模型 \(m\) 在故事 \(i\) 上每一万词的错误数:

\[ \mathrm{CED}_{m,i}=\frac{e_{m,i}}{w_{m,i}/10000}, \]

其中 \(e_{m,i}\) 是错误数,\(w_{m,i}\) 是词数。模型级分数为所有故事的平均:

\[ \overline{\mathrm{CED}}_m=\frac{1}{N}\sum_{i=1}^{N}\mathrm{CED}_{m,i}. \]

CED 越低越好,但仍不能控制提示难度。作者因此提出组内相对排名(Group Relative Rank,GRR)。对故事 \(i\) 的每个候选输出,先定义兼顾长度的质量分:

\[ Q_{m,i}=\frac{w_{m,i}}{1+e_{m,i}}, \]

然后按 \(Q_{m,i}\) 在同一故事的所有模型间排名,并计算:

\[ \mathrm{GRR}_m=\frac{1}{N_m}\sum_{i\in I_m}\operatorname{rank}_i(Q_{m,i}). \]

GRR 同样越低越好。

结果。 模型间差异显著。GPT-5-Reasoning 的 CED 最低(0.113),Gemini-2.5-Pro 为 0.305,Claude-Sonnet-4.5 为 0.520。开源模型 GLM-4.6 与 Qwen3-32B 的 CED 为 0.528–0.537,接近闭源模型;LongWriter-Zero(0.669)和 SuperWriter(0.674)虽然生成策略不同,表现也接近。多数模型仍难以维持长篇叙事一致性,事实与细节错误、时间线与情节逻辑错误是主要失败类型,说明实体跟踪和时间推理仍是核心挑战。开放式的“生成”任务通常比续写、扩写和补全任务有更高 CED。

源码内数值差异。 RQ1 正文称 GPT-5-Reasoning / Claude-Sonnet-4.5 的 GRR 分别为 2.80 / 4.54,但同一版源码的主表列出 3.05 / 4.90。Gemini-2.5-Pro 在主表中的总体 CED / 平均词数为 0.305 / 5,584,附录按任务拆分表则为 0.302 / 5,091;附录长度分布表同样给出 5,091。各表均按原值翻译,未擅自挑选或统一。

表 3:ConStory-Bench 综合表现。 CED 为每一万词的错误数;类别列为 CED 分解;GRR、CED 均越低越好;Words 为平均输出词数,Errors 为每篇平均错误数,Total 为完成故事数。原表用蓝、绿、黄标出每列前三名;Total 低于 2,000 表示部分提示因安全过滤被拒绝。

模型 总 CED 人物 事实 叙事 时间 世界 GRR 词数 错误 总数
GPT-5-Reasoning 0.113 0.005 0.061 0.003 0.024 0.003 3.05 9050 0.09 1990
Gemini-2.5-Pro 0.305 0.009 0.132 0.015 0.108 0.029 7.79 5584 0.16 1996
Claude-Sonnet-4.5 0.520 0.017 0.224 0.004 0.128 0.043 4.90 8929 0.37 1998
Grok-4 0.670 0.033 0.307 0.065 0.222 0.076 13.38 2765 0.19 2000
GPT-4o-1120 0.711 0.036 0.163 0.018 0.440 0.104 17.59 1241 0.09 1774
Doubao-1.6-Thinking-2507 1.217 0.070 0.407 0.035 0.355 0.160 11.90 3713 0.41 2000
Mistral-Medium-3.1 1.355 0.067 0.435 0.010 0.474 0.155 14.67 2447 0.28 2000
GLM-4.6 0.528 0.015 0.184 0.007 0.102 0.051 8.45 4949 0.18 2000
Qwen3-32B 0.537 0.009 0.120 0.068 0.191 0.047 6.39 6237 0.27 2000
Ring-1T 0.539 0.012 0.249 0.015 0.111 0.048 8.08 5264 0.23 1999
DeepSeek-V3.2-Exp 0.541 0.011 0.201 0.012 0.129 0.044 10.89 3724 0.15 2000
Qwen3-235B-A22B-Thinking 0.559 0.013 0.269 0.010 0.136 0.069 7.89 5424 0.27 2000
Step3 0.845 0.017 0.330 0.116 0.189 0.061 11.45 3793 0.27 1916
Kimi-K2-2509 1.300 0.016 0.630 0.007 0.311 0.099 13.32 3227 0.34 1792
Nvidia-llama-3.1-Ultra 1.833 0.045 0.376 0.045 0.793 0.151 17.82 1224 0.17 1998
MiniMax-M1-80k 3.447 0.133 1.079 0.004 1.050 0.376 18.07 1442 0.38 1716
LongWriter-Zero 0.669 0.027 0.097 0.054 0.178 0.039 5.45 13393 0.53 1857
Suri-i-ORPO 2.445 0.129 0.225 0.236 0.689 0.122 12.76 4279 0.60 2000
LongAlign-13B-64k 3.664 0.099 1.720 0.002 0.751 0.123 18.88 1624 0.20 2000
SuperWriter 0.674 0.025 0.255 0.070 0.245 0.030 7.97 6036 0.38 2000
DOME 1.033 0.037 0.591 0.018 0.288 0.068 6.94 8399 0.84 1969

RQ2:一致性错误如何随输出长度增长?

偏好短输出的模型可能显得更一致,但故事没有写完;偏好长输出的模型更可能完成叙事,却会累积更多矛盾。因此作者分析输出长度分布,以及错误数如何随叙事长度增加。

图 3:代表性模型的输出长度分布

图 3:代表性模型的输出长度分布。 堆叠柱显示 0–3K、3K–6K 与 6K+ 词输出的占比。

GPT-5-Reasoning 与 Claude-Sonnet-4.5 的 6K+ 词输出分别占 90.6% 和 90.7%;Grok-4 与 GPT-4o-1120 则大多生成 0–3K 词文本,比例分别为 70.2% 和 100%。开源模型的偏好也不同:Qwen3-32B 有 92.0% 输出超过 3K 词,DeepSeek-V3.2-Exp 的长度更均衡。

图 4:不同故事长度下的一致性错误增长

图 4:两个模型在不同故事长度区间中的一致性错误增长。 折线表示每篇故事的平均错误数,柱形表示对应区间的样本数。

错误数在各模型中都随输出长度近似线性增加。Claude-Sonnet-4.5 的长度—错误相关性中等(\(r=0.478\)),DeepSeek-V3.2-Exp 的相关性更强(\(r=0.973\))。因此,错误随长度线性积累,但模型的长度偏好差异很大,由此形成不同的长度—一致性模式。

RQ3:什么因素促成一致性错误?是否存在可预测信号?

作者检验出错内容与正确内容中的模型不确定性是否不同,并使用 Shannon 熵量化 token 级不确定性 [wang2025beyond,khalid2025ergo,krishnan2024enhancing,lee2025uncertainty]。实验选择可复现、错误样本充分且长上下文计算成本可控的 Qwen3-4B-Instruct-2507 与 Qwen3-30B-A3B-Instruct-2507。

对生成序列的位置 \(t\),令 \(P_t=\{p_1,p_2,\ldots,p_K\}\) 为 top-\(K\) 候选 token 的下一 token 分布:

\[ H(P_t)=-\sum_{i=1}^{K}p_i\log_2p_i. \]

熵越高,分布越分散、模型越不确定。对包含 \(N\) 个 token 的文本片段 \(S\)

\[ H(S)=\frac{1}{N}\sum_{t=1}^{N}H(P_t). \]

解码配置为 Temperature = 0.7、Top-\(k\) = 20、Top-\(p\) = 0.95。作者分别计算错误片段与全文基线的平均熵。

表 4:全文与错误片段的平均熵。

指标 Qwen3-30B-A3B-Instruct-2507 Qwen3-4B-Instruct-2507
全文平均熵 1.1438 1.0734
错误片段平均熵 1.2814 1.2799
错误相对全文 +12.03% +19.24%

两个模型的错误片段都具有显著更高的熵。这说明模型更常在高度不确定时做出错误选择。熵可以成为可操作的预警信号:局部熵超过稳定阈值时,系统可以触发验证或自检流程,提前遏制一致性失败。

RQ4:不同一致性错误会共同出现吗?

作者在全部模型输出上,计算五类错误两两之间的 Pearson 相关系数。

图 5:全部模型输出上各错误类别的相关矩阵

图 5:错误类别相关矩阵。 数值越高、蓝色越深,表示两类错误共同出现得越多。

事实与细节一致性是相关网络的中心,与人物塑造(\(r=0.304\))、世界构建与设定(\(r=0.255\))、时间线与情节逻辑(\(r=0.176\))的相关性最强。一致性失败并非均匀发生,而是沿特定依赖链成簇出现。 叙事与文体错误和其他类别几乎零相关,说明其产生机制不同于事实或逻辑错误。

RQ5:错误在长篇叙事中的位置如何分布?

作者为每个错误记录三个归一化位置:(1)原始事实第一次确立的位置;(2)矛盾出现的位置;(3)两者距离。平均间隔为:

\[ \mathrm{Avg\ Gap}=\frac{1}{n}\sum_{i=1}^{n}|\mathrm{contra}_i-\mathrm{fact}_i|. \]

设计上,较早出现的叙事内容作为“事实基准”,随后内容据此判断逻辑一致性。

表 5:七种代表性错误子类型的位置分布,位置按故事长度归一化为 0–100%。

指标 绝对时间 核心规则 数量 地理 命名 记忆 视角
平均事实位置 22.6% 23.7% 23.4% 20.4% 21.6% 21.8% 13.7%
平均矛盾位置 48.9% 39.4% 40.6% 39.2% 34.4% 38.2% 12.2%
平均间隔 29.7% 23.4% 23.8% 31.0% 23.3% 25.4% 4.7%

地理矛盾的平均位置间隔最大(31.0%),其次为绝对时间矛盾(29.7%);视角混乱的间隔最小(4.7%),说明它更接近局部上下文失败,而非远距离一致性失败。

图 6:四个代表性模型的错误位置哑铃图

图 6:错误位置分布。 每行是一种子类型;蓝点表示事实首次确立的位置,红点表示矛盾位置,连线表示间隔;列对应四个代表性模型。

事实位置通常集中在叙事前部到中部(15%–30%),矛盾位置则延伸到更后的段落,并主要聚集在 40%–60%。GPT-5-Reasoning 的绝对时间矛盾间隔最宽,Qwen3-235B-A22B-Thinking 总体间隔更紧凑;视角混乱在所有模型上的间隔都很小。时间和地理错误需要强健的长程记忆机制,文体错误则可能通过局部一致性检查处理。

4 相关工作

故事生成

叙事生成检验模型能否在情节、人物与时间线上保持连贯。迭代规划 [xie2024creating]、节奏控制 [wang2023improving]、层次大纲 [wang2025generating] 与循环机制 [zhou2023recurrentgpt] 可以改善结构;CHIRON [gurung2024chiron] 发现人物不一致。多智能体协作 [huot2024agents] 和检索增强生成 [wen2023grove] 改善内容依据。长度扩展方法 [bai2024longwriter,pham2024suri,wu2025superwriter,tu2025longwriter] 能生成更长输出,但连贯性会随长度退化 [que2024hellobench,wu2024longgenbench]

长文本生成基准

早期工作使用困惑度 [beltagy2020longformer,roy2021efficient,press2021train],但它与真实使用场景的相关性较差。LongBench [bai2024longbench,bai2025longbench] 覆盖 8K–2M token 的长上下文评估,HelloBench [que2024hellobench] 与 WritingBench [wu2025writingbench] 关注生成质量;模型在 16K–32K token 时仍面临困难 [wu2024longgenbench]。ROUGE、BLEU、METEOR 等经典指标与人工判断的相关性较弱 [que2024hellobench],近期工作因此加入检查清单 [que2024hellobench,lee2024checkeval,pereira2024check]、动态标准 [wu2025writingbench] 与代理评估 [tan2024proxyqa]。但许多基准依赖固定模板 [paech2023eq,que2024hellobench,bai2025longbench],限制了细粒度错误检测;故事评估仍主要关注整体质量 [ismayilzada2024evaluating,wang2024weaver,xie2023next],而非系统地检测矛盾。

5 结论

本文提出用于评估长篇故事生成叙事一致性的 ConStory-Bench 基准与 ConStory-Checker 流水线。实验表明,当前 LLM 仍会系统性地产生一致性错误,尤其是在事实跟踪与时间推理上;这些错误并非随机发生,而是聚集在可预测的叙事区域。作者计划提供交互式门户,让社区发现并提交新的一致性错误和检查技术。

6 局限

第一,基准聚焦遵循西方叙事惯例的英语小说。不同文化对故事叙述有不同期待,作者尚未评估 ConStory-Bench 对其他文化或语言背景叙事的适用性。

第二,本文把一致性建模为二元判断:内容要么一致,要么矛盾。然而,有些表面矛盾可能服务于反转结局、策略性延迟信息等有意设计;当前方法不能把它们与真正错误区分开。

第三,本文聚焦小说和故事写作;技术文档、学术写作和剧本等领域同样需要长文本一致性,但各有自己的规范。

未来可以把基准扩展到多语言、跨文化情境,开发识别有意模糊的方法,并把框架适配到其他长文本体裁。


附录 A:基准构建

本节详细说明 ConStory-Bench 的构建方法,包括任务类型设计依据、ConStory-Checker 评估流水线和额外实验配置。

A.1 任务类型设计依据

四种任务旨在覆盖长篇生成中常见的一致性挑战:

  • 生成:从最小情节设定自由写作;模型必须在没有先验上下文时创建一致的人物、规则和因果链。
  • 续写:把开头片段扩展为完整故事,同时保留已确立的事实、时间线和人物状态,使新事件与给定上下文在因果上兼容 [zhou2023recurrentgpt]
  • 扩写:从简洁但相对完整的情节大纲发展长篇故事,在叙事复杂度上升时补全隐含细节与事件并维持全局一致性。
  • 补全:给定开头与结尾,填充中间情节,写出连贯、因果合理的故事,模拟协作写作流程。

图 A1 中的完整示例提示(文字转写与翻译)

所有任务共享的系统提示:

你是一位讲故事大师和创意写作专家。你的任务是根据给定提示生成高质量、引人入胜的故事。

请创作具有以下特点的叙事:丰富的人物发展;生动的描写与场景;吸引人的情节推进;与提示相符的语调与风格;结构良好的叙事;严格遵守提示中规定的字数或长度要求。

生成完整、精心打磨的故事,以创造力和文学技巧让提示变得鲜活。仔细留意提示中关于长度、字数或格式的具体要求,并确保故事精确满足这些规格。

任务 1:生成。 写一个新故事:一只狗一直靠餐桌残羹过着好日子,却因慢性胰腺炎不得不改吃严格饮食。深入探讨牺牲、同理心以及宠物与主人之间的纽带;加入兽医诊所、进餐时刻和一次紧张的深夜危机等令人难忘的场景。故事发生在温馨的小镇,并展示主人如何适应低蛋白日常。目标约 8,000–10,000 词。

任务 2:续写。 写一个故事:两个网友诱使一个拿狙击步枪蹲点的队友误杀其中一人,害他被踢出服务器,随后又执迷地在多个服务器追踪他。故事从 Urban Terror 的一场紧张对局开始,地图上有热狗车;描写他们的飞刀恶作剧和假意道歉,直到对方终于失控。探索两人的动机、跨服务器追逐的兴奋感,以及这场恶作剧如何考验他们的友谊与同理心。约 8,000–10,000 词。

任务 3:扩写。 把这个疯狂的送餐故事扩展为 8,000–10,000 词:阿拉斯加乡村一家 Papa John's 的值班经理,在司机请病假后顶替深夜送披萨,却在感应泛光灯下迎面遇见一头公驼鹿和一对失散的母子驼鹿。充实经理的背景和恐惧,以生动的感官细节描绘阿拉斯加之夜,并在他应对遭遇时逐步增强紧张感。加入他的内心独白,或他与留在店里的助理经理之间的对话;结尾写他对死里逃生以及最终没拿到小费的情绪反思。

任务 4:补全。 写一个故事:一个二十出头的男生曾和大学朋友圈里的一名女生交往,分手不久便眼看她和自己最好的朋友走到一起。开篇是在热闹的春日派对,他遇到同一朋友圈中的另一个女生,而她完全不知道过去的纠葛。结尾是他站在月光下的校园方庭,已经决定是否向新女友坦白自己和前任的历史。加入自我反省、与前任紧张碰面以及星空下真诚交谈的场景,探讨诚实、信任与宽恕。约 8,000–10,000 词。

A.2 ConStory-Checker:实现细节

五个错误维度分别使用结构化提取指南,并输出统一 JSON 字段:fact_quote(事实引文)、location(位置)、contradiction_pair(矛盾引文)、contradiction_location(矛盾位置)、error_element(具体错误要素)、error_category(错误类别)与 context(解释)。这种结构支持跨文档比较和汇总。

验证方法

作者在真实叙事上下文中系统注入错误,构造诊断集。使用 Qwen3-235B-A22B-Thinking 生成 200 篇故事,在五个维度各植入 200 个错误,共 1,000 个。两名职业网文作者独立标注,每篇报酬 1 美元,并在两天内完成 200 篇。标注者先学习五大类及子类型定义,再阅读全文;每个错误需要记录:(1)事实引文;(2)矛盾引文;(3)类别和子类型;(4)简要解释。植入错误作为真值,以精确率、召回率和 F1 评估 ConStory-Checker 的直接检测与人工检测。

结果

ConStory-Checker 的总体 F1 为 0.678、精确率 0.884、召回率 0.550;人物一致性 F1 为 0.742,事实准确性 F1 为 0.718。正文声称人工总体 F1 为 0.281、检测 171/1,000 个错误,并称各维度召回率范围为 4.5%–31.5%;但表 A1 的平均汇总值是 F1=0.229、真阳性 138.5、召回率 0.139,表内五类召回率实际为 6.8%–24.2%。下表保留源码表格原值,这一版论文内部存在未解释的不一致。

表 A1:ConStory-Checker 与人工专家在诊断集上的表现。 GT 为每类植入错误数;Pred 为预测数,TP 为真阳性,Rec. 为召回率,Prec. 为精确率。

类别 GT 直接 Pred 直接 TP Rec. Prec. F1 专家 Pred 专家 TP Rec. Prec. F1
人物一致性 200 126 121 0.605 0.960 0.742 53.5 48.5 0.242 0.891 0.379
事实准确性 200 148 125 0.625 0.845 0.718 16.5 13.5 0.068 0.841 0.124
叙事连贯性 200 76 70 0.350 0.921 0.507 29.5 18.0 0.090 0.586 0.153
时间逻辑 200 147 120 0.600 0.816 0.692 84.0 40.5 0.203 0.463 0.281
世界一致性 200 125 114 0.570 0.912 0.702 26.5 18.0 0.090 0.686 0.159
合计 1000 622 550 0.550 0.884 0.678 210.0 138.5 0.139 0.660 0.229

图 A2:ConStory-Checker 与人工专家的检测表现

图 A2:ConStory-Checker 与人工专家在五类一致性错误上的表现。 包括召回率、精确率、F1 与雷达图。原图注称自动方法达到“可与人工竞争”的表现。

五类评审提示的完整语义内容

下面把原附录五个大文本框中的提取类别、判定要点和输出格式完整转写为可读中文。省略号仅出现在原论文给出的 JSON 示例占位符中。

A.2.1 时间线与情节逻辑

  1. 绝对时间矛盾:提取同一事件中日历信息(日期、星期、季节、天象)冲突的句子。检查同一事件的日期冲突、短期内季节描写冲突、天文信息互相矛盾、天气或气候与时间段不符。
  2. 持续时长/时间线矛盾:提取同一事件或旅程的时间长度冲突。检查相同旅程的不同耗时、相互矛盾的旅行时间、年龄增长与时间流逝不符、事件序列在时间上不可能。
  3. 同时性矛盾:提取人物或物体同时出现在不同地点的句子。检查同一人物或物体的同时异地出现、对话或动作暗示不可能的同时存在、时间线重叠造成的空间悖论。
  4. 无因之果:提取没有铺垫便出现的重大结果、技能或资源。检查人物突然拥有未解释能力、重要物品凭空出现、知识或技能未经学习便出现、缺少因果基础的情节发展。
  5. 因果逻辑违反:提取原因与结果违背既定故事规则或逻辑的句子。检查结果与原因严重不成比例、因果链违反世界物理或规则、人物反应不符合既定性格、行动—后果关系与世界设定矛盾。
  6. 被遗弃的情节要素:提取引入后再未解决或提及的重要情节元素。检查消失的重要物品或谜团、未解决便消失的人物目标或动机、未兑现的揭示或对峙、从叙事中消失的重要关系或冲突。
{
  "absolute_time_contradictions": [{
    "fact_quote": "那是一个炎热的七月午后……",
    "location": "第3章第2段",
    "contradiction_pair": "大雪开始猛烈落下……",
    "contradiction_location": "第3章第5段",
    "error_element": "季节性天气时间",
    "error_category": "absolute_time_error",
    "context": "同一天既被描述为盛夏……"
  }],
  "duration_contradictions": [{"...": "..."}],
  "simultaneity_contradictions": [{"...": "..."}],
  "causeless_effects": [{"...": "..."}],
  "causal_logic_violations": [{"...": "..."}],
  "abandoned_plot_elements": [{"...": "..."}]
}

A.2.2 人物塑造

  1. 记忆矛盾:人物忘记关键个人细节,或记起不存在的事件。检查忘记已确立的关系、经历或承诺;记起从未出现的事件、人物或地点;个人历史、家庭或往事记忆不一致;明明互动过却像从未见过。
  2. 知识矛盾:人物展示超出既定背景的知识、词汇或技能。检查术语、概念或语言与教育背景不符;中世纪人物使用现代概念;未受教育者展示高级技术知识;知道无从获取的信息;现代俚语出现在历史设定等文化或时代错位。
  3. 技能/力量波动:人物能力或胜任程度无解释地剧烈改变。检查突然获得或失去能力、场景间战力剧变、胜任程度无理由地大幅波动、表现远超或远低于既定能力、身体/心智/魔法能力无解释变化。
  4. 被遗忘的能力:人物在既定能力显然能解决冲突时没有使用。检查早期提及的能力在后续冲突中被忽略、人物被自己已有能力可轻易解决的问题困住、特殊力量在最有用时消失、人物“忘记”自己拥有技能或知识。
{
  "memory_contradictions": [{
    "fact_quote": "我从没见过这个女人……",
    "location": "第5章第3段",
    "contradiction_pair": "莎拉和我一起度过了……",
    "contradiction_location": "第2章第8段",
    "error_element": "人物关系记忆",
    "error_category": "memory_contradiction",
    "context": "人物声称不认识此前互动过的人……"
  }],
  "knowledge_contradictions": [{"...": "..."}],
  "skill_power_fluctuations": [{"...": "..."}],
  "forgotten_abilities": [{"...": "..."}]
}

A.2.3 世界构建与设定

  1. 核心规则违反:动作直接违反作者明确陈述的世界基本法则或物理规律。检查在既定物理中不可能的行为、魔法系统违反自身规则、技术超出既定限制、自然法则无解释地被打破、世界机制与参数不一致、为了情节方便忽略既定限制。
  2. 社会规范违反:人物违反既定社会体系,却没有相应后果。检查违法而不受后果、无真实反应地忽略社会等级、打破文化禁忌而社会毫无反应、违背宗教或意识形态体系却无反弹、经济系统与设定不一致、人物无解释地脱离既定社会角色。
  3. 地理矛盾:地理实体的属性或相对位置不一致。检查城市、山川位置改变;地点间距离无解释地大幅变化;地貌大小、外观或特征改变;气候地形与先前描写冲突;旅行时间与既定距离不符;地图或方向互相矛盾。
{
  "core_rules_violations": [{
    "fact_quote": "莎拉轻松连续施放了三个高阶……",
    "location": "第8章第4段",
    "contradiction_pair": "哪怕一个大型法术也会耗尽……",
    "contradiction_location": "第2章第15段",
    "error_element": "魔法系统能量限制",
    "error_category": "core_rules_violation",
    "context": "人物违反了既定魔法系统……"
  }],
  "social_norms_violations": [{
    "fact_quote": "农家男孩公开侮辱国王……",
    "location": "第5章第12段",
    "contradiction_pair": "在我国,任何对王室的侮辱……",
    "contradiction_location": "第1章第8段",
    "error_element": "王权与惩罚制度",
    "error_category": "social_norms_violation",
    "context": "人物违反既定社会等级……"
  }],
  "geographical_contradictions": [{"...": "..."}]
}

A.2.4 事实与细节一致性

  1. 外观不匹配:同一人物或物体的外观描写不一致。检查发色、瞳色、身高、体型改变;显著标记或伤疤出现/消失;物体颜色、尺寸、形状、材质变化;同一地点描写剧变;服装装备冲突;外观年龄变化与时间推进不符。
  2. 命名混乱:人物、地点、物体的名称使用错误或不一致。检查拼写或名字改变、人物被叫错名字/头衔、地名变化、物品名/品牌/专名不一致、同一亲属使用冲突姓名、同一人物的职衔或军衔不一致。
  3. 数量不匹配:数值信息在数学上不一致。检查年龄与时间推进不符、事件日期次序不可能、同一群体/数量/测量值改变、距离与度量冲突、货币/价格/经济数字冲突、人口/军队规模/统计数据冲突。
{
  "appearance_mismatches": [{
    "fact_quote": "埃琳娜醒目的翡翠绿眼睛……",
    "location": "第4章第2段",
    "contradiction_pair": "她深棕色的眼睛映出……",
    "contradiction_location": "第8章第15段",
    "error_element": "人物瞳色",
    "error_category": "appearance_mismatch",
    "context": "同一人物被描述为不同瞳色……"
  }],
  "nomenclature_confusions": [{
    "fact_quote": "理查森上尉率领部队……",
    "location": "第6章第8段",
    "contradiction_pair": "罗宾逊上尉大声下令……",
    "contradiction_location": "第6章第12段",
    "error_element": "人物姓氏",
    "error_category": "nomenclature_confusion",
    "context": "同一军事领袖被冠以两个不同姓氏……"
  }],
  "quantitative_mismatches": [{"...": "..."}]
}

A.2.5 叙事与文体

  1. 视角混乱:第一人称、第三人称或其他视角发生不恰当切换。检查场景内从“我”突然变为“他/她”、同一段或章节视角不一致、中途无理由换视角、多个冲突视角同时出现、全知叙述突然受限或反之、无解释地时而能读人物思想时而不能。
  2. 语调不一致:语调无叙事理由地不恰当变化。检查严肃时刻被不合时宜的幽默打断、正式语言与口语不当混用、恐怖场景突然出现喜剧等类型语调违反、人物声音不一致、相邻句段发生情绪“急转”、闲聊中使用学术腔等语域错配。
  3. 文体突变:写作风格无情节必要性地剧变。检查词汇复杂度突变、句法模式突然由复杂变简单或反之、描写方法无理由改变、写作质量或能力显著波动、文学手法使用不一致、章节间仿佛更换作者声音。
{
  "perspective_confusions": [{
    "fact_quote": "我能看见莎拉眼中的恐惧……",
    "location": "第3章第4段",
    "contradiction_pair": "他想知道莎拉在想什么……",
    "contradiction_location": "第3章第4段(同一段)",
    "error_element": "视角切换",
    "error_category": "perspective_confusion",
    "context": "叙事视角从第一人称切换……"
  }],
  "tone_inconsistencies": [{
    "fact_quote": "葬礼庄严肃穆……",
    "location": "第5章第2段",
    "contradiction_pair": "突然,鲍勃踩到香蕉皮滑倒……",
    "contradiction_location": "第5章第3段",
    "error_element": "戏剧语调突变",
    "error_category": "tone_inconsistency",
    "context": "严肃葬礼后立刻出现闹剧……"
  }],
  "style_shifts": [{"...": "..."}]
}

以上五种提示均要求:对每个矛盾输出完整原句、章节/段落/行位置、冲突句及其位置、具体错误要素、宽泛错误类别与简短解释。

ConStory-Checker 的五个代表性检测案例

  1. 时间线与情节逻辑。 错误要素:捐赠日期;类别:absolute_time_error。事实引文:“箱子……贴着祖母圆润笔迹写成的标签:捐赠——1983。”(第一章第 2 段);矛盾引文:“你祖母在我上中学时把它们捐了。”(第一章第 14 段)。解释:箱子明确标为 1983 年捐赠,但 Caroline 又回忆祖母在她 1970 年代末上中学时便捐出了书。
  2. 人物塑造。 错误要素:搭便车时长;类别:memory_contradiction。事实引文:“我从二十一岁起就在这个辽阔国家搭便车,那是千禧年前整整十年。”(第 1 章第 1 段);矛盾引文:“大约六年。”我说。(第 2 章第 11 段)。解释:叙述者先称搭便车十年,后又说约六年。
  3. 世界构建与设定。 错误要素:歌剧院状态;类别:geographical_contradiction。事实引文:“在我地下巢穴的寂静中——它凿在一座被遗忘歌剧院的残垣之下——我演奏着。”(第 2 段);矛盾引文:“事情发生在歌剧院因期待而生机勃勃的一个夜晚。”(第 11 段)。解释:歌剧院先被称为遗忘的废墟,后又活跃而充满生气。
  4. 事实与细节一致性。 错误要素:瞳色;类别:appearance_mismatch。事实引文:“Dorian 咬紧下颚,蓝眼睛因勉强压住的怒火而燃烧。”(第 6 段);矛盾引文:“Kael 迎上双胞胎兄弟的目光,两双相同的翡翠色眼睛在无声的意志较量中相锁。”(第 17 段)。解释:Dorian 的眼睛先为蓝色,后变为翡翠色。
  5. 叙事与文体。 错误要素:视角切换;类别:perspective_confusion。事实引文:“我僵立着,自己的呼吸哽在喉咙,看着那个我曾称为挚友的男人在我背负许久的真相之下崩塌。”(“真相之重”第 1 段);矛盾引文:“木屋在 Froshi 悲痛的重压下颤抖。”(同段)。解释:论文称同一段在第三人称描写木屋与 Froshi 的悲痛后,无过渡地转为第一人称。

附录 B:更多评估结果

B.1 模型表现排行榜

作者将 GRR 转换为适合柱状图展示的分数:

\[ \mathrm{score}=\max(\mathrm{GRR})-\mathrm{GRR}_{\mathrm{current}}+1. \]

由于 GRR 越低越好,该变换会让更小的 GRR 得到更高分和更长的柱形。每个模型家族内部,颜色越深代表表现越高。

图 B1:基于 GRR 的模型一致性排行榜

图 B1:基于 GRR 的模型一致性排行榜。 柱越长表示一致性越好;颜色深浅表示各模型家族内部的相对分数。

图 B2:模型 CED 与平均输出词数的关系

图 B2:模型一致性表现(CED)与平均输出词数。

表 B1 按提示任务类型进一步拆分 CED。论文附录此表的任务数量为生成 748、续写 429、扩写 419、补全 394,与数据构建表的 751/432/422/395 不同;前者合计 1,990,但同一表中许多模型的 Total 又是 2,000。源码没有解释过滤过程或这 10 条样本的差额。此外,表 B1 图注把 Expansion 解释为“扩写特定片段”、Completion 解释为“填补被删除片段”,与数据构建节的“从相对完整大纲扩写”及“给定开头和结尾补全中间故事”也不完全一致。多数模型的开放式生成任务 CED 更高,说明没有既有上下文的自由创作最难保持一致。

表 B1:按任务类型拆分的一致性错误密度。 CED 为每一万词的错误数,越低越好;粗体标记原表中每个模型四类任务里最高的值,此处用 表示。

模型 总体 生成 续写 扩写 补全 平均词数 总数
GPT-5-Reasoning 0.113 0.110 0.093 0.070 0.188↑ 9050 1990
Gemini-2.5-Pro 0.302 0.379↑ 0.233 0.277 0.257 5091 1996
Gemini-2.5-Flash 0.305 0.334 0.243 0.254 0.373↑ 5504 1996
Claude-Sonnet-4.5 0.520 0.670↑ 0.387 0.498 0.402 8929 1998
Grok-4 0.670 0.765↑ 0.638 0.552 0.649 2765 2000
GPT-4o-1120 0.711 0.776 0.389 0.912↑ 0.708 1241 1774
Doubao-1.6-Thinking-2507 1.217 1.415↑ 1.154 1.084 1.054 3713 2000
Mistral-Medium-3.1 1.355 1.376 0.931 2.020↑ 1.069 2447 2000
GLM-4.6 0.528 0.785↑ 0.311 0.381 0.437 4949 2000
Qwen3-32B 0.537 0.694↑ 0.381 0.425 0.530 6237 2000
Ring-1T 0.539 0.641↑ 0.484 0.489 0.461 5264 1999
DeepSeek-V3.2-Exp 0.541 0.795↑ 0.325 0.382 0.465 3724 2000
Qwen3-235B-A22B-Thinking 0.559 0.605↑ 0.440 0.575 0.586 5424 2000
GLM-4.5 0.595 0.584 0.522 0.653↑ 0.635 5421 2000
Ling-1T 0.699 0.720 0.597 0.613 0.862↑ 5088 2000
Step3 0.845 0.706 0.760 0.979 1.054↑ 3793 1916
Qwen3-Next-80B-Thinking 0.959 1.150↑ 0.913 0.778 0.846 4820 1973
Kimi-K2-2509 1.300 1.686↑ 0.926 1.162 1.112 3227 1792
Kimi-K2-2507 1.330 1.775↑ 0.933 1.109 1.152 3046 2000
Qwen3-235B-A22B 1.447 1.570 1.152 1.587↑ 1.389 3246 2000
Qwen3-Next-80B 1.603 1.849↑ 1.271 1.612 1.486 4013 2000
Qwen3-4B-Instruct-2507 1.685 1.637 1.668 1.885↑ 1.584 4919 1997
Nvidia-llama-3.1-Ultra 1.833 2.932↑ 1.135 1.227 1.161 1224 1998
Qwen3-30B-A3B-Instruct-2507 2.130 2.580↑ 1.800 2.103 1.666 2968 2000
DeepSeek-V3 2.422 3.180↑ 2.102 2.001 1.781 670 2000
QwenLong-L1-32B 3.413 4.029↑ 2.122 3.621 3.430 1234 2000
DeepSeek-R1 3.419 3.007 3.829↑ 3.737 3.415 680 1952
MiniMax-M1-80k 3.447 3.440 3.411 4.072↑ 2.832 1442 1716
LongWriter-Zero-32B 0.669 0.805↑ 0.484 0.778 0.507 13393 1857
Suri-i-ORPO 2.445 2.768↑ 2.117 2.355 2.284 4279 2000
LongAlign-13B 3.664 4.984↑ 2.277 3.105 3.268 1624 2000
SuperWriter 0.674 0.750↑ 0.632 0.673 0.576 6036 2000
DOME 1.033 1.108 0.912 0.940 1.122↑ 8399 1969

B.2 输出长度分布统计

表 B2 给出五个长度区间中的故事数量及占比。GPT-5-Reasoning 与 Claude-Sonnet-4.5 偏好长输出,8K+ 占 66.4% 和 66.8%;GPT-4o-1120 与 Nvidia-llama-3.1-Ultra 则主要输出 3K 以下文本。结合 CED 可见,不同模型在生成长度与一致性之间有不同取舍。

表 B2:模型输出长度分布。 单元格为“数量(占比)”,按平均词数从高到低排列。

模型 0–1K 1K–3K 3K–5K 5K–8K 8K+ 均词数 总数
GPT-5-Reasoning 24 (1.2%) 48 (2.0%) 58 (2.5%) 554 (27.8%) 1322 (66.4%) 9050 1990
Claude-Sonnet-4.5 54 (2.7%) 40 (2.0%) 39 (2.0%) 531 (26.6%) 1334 (66.8%) 8929 1998
Gemini-2.5-Flash 48 (2.4%) 75 (3.8%) 830 (41.6%) 838 (42.0%) 205 (10.3%) 5504 1996
Gemini-2.5-Pro 43 (2.2%) 43 (2.2%) 845 (42.3%) 1024 (51.3%) 41 (2.1%) 5091 1996
Doubao-1.6-Thinking-2507 40 (2.0%) 548 (27.4%) 1129 (56.5%) 255 (12.8%) 28 (1.4%) 3713 2000
Grok-4 78 (3.9%) 1326 (66.3%) 542 (27.1%) 53 (2.6%) 1 (0.1%) 2765 2000
Mistral-Medium-3.1 73 (3.6%) 1524 (76.2%) 380 (19.0%) 18 (0.9%) 5 (0.2%) 2447 2000
GPT-4o-1120 196 (11.0%) 1578 (85.0%) 0 0 0 1241 1774
Qwen3-32B 48 (2.4%) 59 (2.9%) 21 (1.1%) 1872 (93.6%) 0 6237 2000
Qwen3-235B-A22B-Thinking 60 (3.0%) 45 (2.2%) 174 (8.7%) 1721 (86.1%) 0 5424 2000
GLM-4.5 56 (2.8%) 177 (8.8%) 776 (38.8%) 698 (34.9%) 293 (14.6%) 5421 2000
Ring-1T 46 (2.3%) 48 (2.4%) 784 (39.2%) 1022 (51.1%) 99 (5.0%) 5264 1999
Ling-1T 45 (2.2%) 176 (8.8%) 892 (44.6%) 710 (35.5%) 177 (8.8%) 5088 2000
GLM-4.6 49 (2.5%) 72 (3.6%) 953 (47.6%) 866 (43.3%) 60 (3.0%) 4949 2000
Qwen3-4B-Instruct-2507 66 (3.3%) 35 (1.8%) 1188 (59.5%) 662 (33.1%) 46 (2.3%) 4919 1997
Qwen3-Next-80B-Thinking 80 (4.1%) 478 (24.2%) 951 (48.2%) 242 (12.3%) 222 (11.3%) 4828 1973
Qwen3-Next-80B 59 (2.9%) 114 (5.7%) 1632 (81.6%) 182 (9.1%) 13 (0.7%) 4013 2000
Step3 45 (2.3%) 458 (23.9%) 1115 (58.2%) 272 (14.2%) 26 (1.4%) 3793 1916
DeepSeek-V3.2-Exp 50 (2.5%) 487 (24.3%) 1311 (65.5%) 227 (11.3%) 5 (0.2%) 3724 2000
Qwen3-235B-A22B 68 (3.4%) 353 (17.6%) 1576 (78.8%) 3 (0.1%) 0 3246 2000
Kimi-K2-2509 153 (8.5%) 771 (43.0%) 663 (37.0%) 138 (7.7%) 67 (3.7%) 3227 1792
Kimi-K2-2507 69 (3.5%) 928 (46.4%) 948 (47.4%) 55 (2.8%) 0 3046 2000
Qwen3-30B-A3B-Instruct-2507 55 (2.8%) 948 (47.4%) 991 (49.5%) 1 (0.1%) 5 (0.2%) 2968 2000
MiniMax-M1-80k 694 (40.4%) 935 (54.5%) 11 (0.6%) 44 (2.6%) 32 (1.9%) 1442 1716
DeepSeek-R1 108 (5.1%) 1852 (94.9%) 0 0 0 1391 1952
QwenLong-L1-32B 792 (39.6%) 1188 (59.4%) 25 (1.2%) 2 (0.1%) 1 (0.1%) 1234 2000
Nvidia-llama-3.1-Ultra 317 (15.9%) 1681 (84.1%) 0 0 0 1224 1998
DeepSeek-V3 1971 (98.6%) 29 (1.5%) 0 0 0 678 2000
LongWriter-Zero-32B 58 (2.9%) 312 (15.7%) 188 (9.5%) 79 (4.0%) 1350 (67.9%) 13241 1987
Suri-i-ORPO 170 (8.5%) 840 (42.0%) 418 (20.9%) 228 (11.4%) 344 (17.2%) 4279 2000
LongAlign-13B 1812 (90.6%) 69 (3.5%) 0 1 (0.1%) 118 (5.9%) 1624 2000
DOME 2 (0.1%) 4 (0.2%) 81 (4.1%) 536 (27.2%) 1346 (68.4%) 8399 1969
SuperWriter 59 (2.9%) 144 (7.2%) 378 (18.9%) 1069 (53.4%) 350 (17.5%) 6036 2000

附录表间差异: LongWriter-Zero-32B 在主表和表 B1 中是平均 13,393 词、总数 1,857,而表 B2 是平均 13,241 词、总数 1,987。DeepSeek-R1 在表 B1 / B2 的平均词数分别为 680 / 1,391;Qwen3-Next-80B-Thinking 分别为 4,820 / 4,828;DeepSeek-V3 分别为 670 / 678。表 B2 内部还有四行的长度区间计数之和不等于 Total:GPT-5-Reasoning 为 2,006 对 1,990,DeepSeek-V3.2-Exp 为 2,080 对 2,000,DeepSeek-R1 为 1,960 对 1,952,QwenLong-L1-32B 为 2,008 对 2,000。源码未说明这些差异来自版本、过滤还是笔误,译文逐表保留原值。

B.3 Token 级不确定性指标

除 Shannon 熵外,作者还计算 token 概率与困惑度。位置 \(t\) 被选 token \(w_t\) 的概率为:

\[ p_t=\exp\big(\log p(w_t\mid w_{<t})\big). \]

概率越高,模型对所选 token 越有信心。片段 \(S\) 的困惑度为:

\[ \mathrm{PPL}(S)=\exp\left(-\frac{1}{N}\sum_{t=1}^{N}\log p(w_t\mid w_{<t})\right). \]

困惑度越低,序列越可预测。片段级均值为:

\[ \bar p(S)=\frac{1}{N}\sum_{t=1}^{N}p_t, \qquad \overline{\mathrm{PPL}}(S)=\frac{1}{N}\sum_{t=1}^{N}\frac{1}{p_t}. \]

源码指标定义差异: 前一公式把片段困惑度定义为 \(\exp(-\frac1N\sum_t\log p_t)\),后一公式又把“平均 PPL”定义为 \(\frac1N\sum_t 1/p_t\)。两者一般不相等;源码没有说明表 B3 使用哪一种聚合,译文因此同时保留两式而不将它们视为同一指标。

表 B3:三项 token 级不确定性指标的完整比较。 正差值表示错误片段高于全文,负差值表示低于全文。

模型 指标 全文 错误片段 相对差异
Qwen3-30B-A3B-Instruct-2507 熵(bit) 1.1438 1.2814 +12.03%
Qwen3-4B-Instruct-2507 熵(bit) 1.0734 1.2799 +19.24%
Qwen3-30B-A3B-Instruct-2507 概率 0.6895 0.6522 −5.41%
Qwen3-4B-Instruct-2507 概率 0.7097 0.6530 −7.99%
Qwen3-30B-A3B-Instruct-2507 困惑度 1.8875 1.9354 +2.54%
Qwen3-4B-Instruct-2507 困惑度 1.8566 1.9596 +5.55%

三项指标一致表明,错误片段的不确定性更高、置信度更低。Qwen3-4B 的差异又比 30B 模型更明显。作者据此认为,生成时的 token 级不确定性可以作为叙事不一致的早期预警信号。

B.4 模型级错误相关性

图 B3:八个代表性模型各自的错误相关矩阵

图 B3:八个代表性模型各自的错误相关矩阵。 颜色越深表示错误类别之间的正相关越强。

GPT-5-Reasoning 与 Gemini-2.5-Pro 的矩阵较稀疏,跨类别依赖较弱;Claude-Sonnet-4.5 的事实—世界相关性为 \(r=0.387\),叙事—事实为 \(r=0.429\)。开源模型中,GLM-4.6 与 Kimi-K2-2509 的人物—事实相关性最强,分别为 \(r=0.533\)\(r=0.556\)

B.5 扩展位置分析

八个代表性模型再次显示:事实位置集中于叙事前部到中部(15%–30%),矛盾位置延伸到较后部分(40%–60%)。原表以蓝色标出每种错误子类型最大的间隔,下表用 标记。

表 B4:八个模型上七种代表性错误的位置分布。 Fact 为事实位置,Contra 为矛盾位置,Gap 为两者平均绝对距离;均按故事长度归一化为 0–100%。

模型 指标 绝对时间 核心规则 数量 地理 命名 记忆 视角
GPT-5-Reasoning Fact 48.4% 21.8% 20.0% 7.7% 20.2% 21.4% 13.3%
Contra 90.6% 21.1% 32.2% 30.2% 38.1% 40.5% 4.3%
Gap 47.7%★ 0.8% 12.7% 22.6% 24.2% 19.1% 15.8%★
Claude-Sonnet-4.5 Fact 23.1% 19.1% 25.7% 12.2% 18.6% 16.3% 35.7%
Contra 41.5% 43.1% 43.4% 32.0% 37.7% 34.5% 35.9%
Gap 33.3% 28.1% 25.0% 21.3% 29.1%★ 19.7% 1.0%
Gemini-2.5-Pro Fact 19.3% 12.9% 21.1% 14.4% 17.7% 28.7% 0.2%
Contra 38.3% 39.8% 44.5% 41.9% 30.1% 29.5% 1.7%
Gap 19.0% 27.0% 28.6%★ 28.2% 18.8% 1.9% 1.5%
GPT-4o-1120 Fact 13.7% 42.9% 33.9% 31.7% 11.0% 13.7% 23.9%
Contra 52.9% 55.8% 41.0% 51.2% 30.2% 46.3% 15.5%
Gap 39.2% 37.6%★ 26.8% 44.5%★ 19.2% 32.5% 11.4%
Qwen3-235B-A22B-Thinking Fact 16.4% 24.6% 18.5% 19.2% 19.4% 12.5% 28.4%
Contra 36.6% 37.0% 35.6% 34.9% 37.3% 32.0% 27.4%
Gap 20.2% 23.5% 21.7% 19.4% 23.5% 26.3% 3.3%
GLM-4.6 Fact 17.7% 16.6% 21.0% 24.9% 22.3% 29.4% 0.1%
Contra 45.7% 36.8% 40.6% 45.3% 32.8% 33.7% 1.3%
Gap 28.0% 26.6% 25.5% 41.7% 27.0% 22.2% 1.2%
DeepSeek-V3.2-Exp Fact 15.1% 25.0% 23.8% 30.7% 25.3% 29.3% 0.4%
Contra 36.3% 42.5% 41.3% 31.7% 31.1% 46.6% 1.7%
Gap 21.8% 17.5% 23.7% 37.4% 21.4% 56.4%★ 1.4%
Kimi-K2-2509 Fact 26.8% 26.6% 23.5% 22.3% 38.1% 23.1% 7.4%
Contra 49.3% 38.7% 46.3% 46.1% 38.4% 42.4% 9.6%
Gap 28.3% 26.5% 26.6% 33.2% 23.5% 25.0% 2.4%

附录 C:指标说明

C.1 CED 示例计算

设某模型生成五篇故事:

故事 词数 错误数
1 8,000 2
2 10,000 3
3 6,000 1
4 8,000 0
5 800 0
合计 32,800 6

总体 CED 按总词数归一化:

\[ \mathrm{CED}_{\mathrm{overall}}=\frac{6}{32800/10000}=\frac{6}{3.28}=1.83. \]

如果六个错误中人物类 1 个、事实类 1 个、叙事类 1 个、时间类 2 个、世界类 1 个,则:

\[ \mathrm{CED}_{\mathrm{Time}}=\frac{2}{3.28}=0.61, \qquad \mathrm{CED}_{\mathrm{Char}}=\frac{1}{3.28}=0.30. \]

故事 4 和故事 5 都没有错误,因此 CED 都是 0;但前者有 8,000 词,后者只有 800 词,完成度相差十倍,CED 无法区分。

C.2 GRR 示例计算

GRR 使用前文的质量分在同一故事内为模型排序。对故事 4 和故事 5:

\[ Q_4=\frac{8000}{1+0}=8000, \qquad Q_5=\frac{800}{1+0}=800. \]

尽管两者 CED 相同,故事 4 排名第一、故事 5 排名第二。GRR 再按前文公式对所有故事的名次取平均,越低表示表现越好。

因此,在主表中,CED 报告每一万词的绝对错误密度;GRR 同时考虑一致性和完成度,弥补 CED 在错误密度相同的情况下无法区分模型的缺陷。

参考文献

参考文献的题名、作者、年份与出版信息保持原文,不作翻译,以免破坏可追溯性。完整 BibTeX 位于 source/custom.bib;PDF 的参考文献从第 9 页开始,到第 11 页结束,附录从第 12 页开始。