跳转至

寻找有缺陷的虚构故事:通过情节漏洞检测评价语言模型的复杂推理

原题:Finding Flawed Fictions: Evaluating Complex Reasoning in Language Models via Plot Hole Detection
arXiv:2504.11900,v3,2025-12-18;COLM 2025
作者:Kabir Ahuja、Melanie Sclar、Yulia Tsvetkov
机构:University of Washington,Paul G. Allen Center for Computer Science & Engineering
翻译依据:arXiv v3 PDF 与 LaTeX source。方法名、数据集名和指标名保留英文。

摘要

故事是人类经验的基本组成部分。深入理解故事并发现 plot hole(情节漏洞)——即破坏故事内部逻辑或虚构世界规则的不一致——需要细致的推理能力,包括跟踪实体、事件及其相互作用,抽象思考,语用层面的叙事理解,常识与社会推理,以及 theory of mind。

随着 LLM 越来越多地生成、解释和修改文本,严格评价它们的叙事一致性和深层语言理解能力变得十分重要,但既有 benchmark 主要关注表层理解。本文提出以故事中的 plot hole detection 作为评价 LLM 语言理解和推理能力的代理任务,并提出 FlawedFictionsMaker:一种能在人工创作故事中可控、谨慎地合成 plot hole 的算法。作者用该算法构造经过人工过滤、对数据污染更稳健的 benchmark FlawedFictions

实验发现,无论允许多少 reasoning effort,前沿 LLM 都难以准确解决 FlawedFictions;随着故事变长,表现显著下降。LLM 的故事摘要和故事生成也很容易引入 plot hole:与人类原作相比,检测率分别增加 50% 以上100% 以上

1. 引言

叙事是人类认知和意义建构的基本方式。人们阅读故事时,通常不会停留在字面上的“发生了什么”,而会在心中表示故事世界及人物,并做复杂推理。叙事理解因而反映更广泛的语言理解与推理能力。

本文提出把 LLM 的叙事理解量化为通用语言理解和推理的新试验场。MMLU 等 benchmark 虽评价多跳知识,却很少衡量叙事中的语用信息和隐含社会动态;另一些研究社会推理和 theory of mind 的数据集又多为极短或完全合成的故事,缺少完整叙事结构,难以规模化衡量 LLM。

作者选择 plot hole detection 作为“深层叙事理解”的代理。plot hole 是与故事情节已经建立的逻辑相冲突的不一致。检测它需要:

  • 长上下文中的 entity、event 和 world rule 状态跟踪;
  • 解释隐含世界知识和角色信念的常识与语用推理;
  • 推理人物信念、动机与欲望的 theory of mind。

能可靠发现 plot hole 的模型不仅是更好的评价对象,也可以帮助改善人类或机器生成文本的一致性。

FlawedFictionsMaker 示例

图 1: FlawedFictionsMaker 的示例(图中省略 filtering)。算法从第一幕抽取事实,在后续幕中对它取反,从而向原本没有 plot hole 的故事注入不一致。

FlawedFictionsMaker 自动向既有故事加入 plot hole。由它生成的数据再经过人工核验,形成 FlawedFictions。使用部分合成数据有两个好处:benchmark 可动态扩展;也能降低模型训练期间记住已有 plot hole 故事所造成的 contamination。

FlawedFictions 包含两个任务:

  1. 二分类:判断故事是否有 plot hole;
  2. 双向定位:同时找出引入错误的文本 span,以及包含被其否定信息的 span。

大多数 frontier model 和 reasoning model,包括 GPT-4o、o3-mini、Llama-3.3-70B,都难以完成该 benchmark。长度为 1,200–4,000 词的扩展 split FlawedFictionsLong 尤其困难,分类表现几乎都接近随机。

提高 reasoning budget 也没有稳定改善。o1 与 o3-mini 有时会随 budget 增大反而退化。最后,作者用最佳检测模型评价 LLM 生成故事:摘要任务的 plot hole 检测率相对原作增加超过 50%,现代改编任务增加超过 100%。

2. Plot hole 的定义:continuity error

常见 plot hole 类型包括:

  • continuity error:与已经建立的事实矛盾;
  • out-of-character behavior:人物行动与既有动机不符;
  • factual error:历史时代错置或现实事实错误;
  • impossible event:违反科学或逻辑;
  • unresolved storyline:情节线未完成。

本文聚焦 continuity error,因为它可以覆盖最一般的 plot hole:人物失常可视为违背既有人格设定,不可能事件可视为违背故事世界规则。论文不区分只承担象征功能的“无害”漏洞与真正破坏情节完整性的漏洞,而把它们纳入同一概念。

设虚构故事 \(f\) 包含在其虚构世界中为真的命题集合:

\[ \mathcal F=\{\phi_1,\ldots,\phi_n\}. \]

\(\operatorname{isTrue}(f,\phi)\) 表示命题 \(\phi\) 在故事 \(f\) 的虚构世界中为真,并定义:

\[ \operatorname{isTrue}(f,\mathcal F):= \operatorname{isTrue}(f,\phi_1)\wedge\cdots\wedge \operatorname{isTrue}(f,\phi_n). \]

若故事中的命题 \(\phi_e\) 满足:

\[ \operatorname{isTrue}(f,\mathcal F\setminus\{\phi_e\}) \implies \operatorname{isTrue}(f,\neg\phi_e), \]

\(\phi_e\) 关联一个 continuity error。换言之,如果除 \(\phi_e\) 外的其余故事命题能推出 \(\neg\phi_e\),那么 \(\phi_e\) 与故事其余部分逻辑不一致。

这个定义只显式使用故事中陈述的命题,但真实 plot hole 判断还依赖读者的隐含知识和信念。更完整的定义应把在故事世界中非空洞成立的读者共同信念加入推理。也就是说,plot hole detection 不是机械检查文本内的显式矛盾,而必然需要常识和世界知识。

3. 自动生成故事中的 plot hole

FlawedFictionsMaker 选择故事前部的一个命题,在后文中将其否定。自动 pipeline 有五个阶段,之后再做人工核验。

3.1 提取三幕结构

原故事 \(f\) 被 LLM 切成传统三幕:

  • 第一幕 \(A_1\):引入主要人物和背景;
  • 第二幕 \(A_2\):发展主要冲突;
  • 第三幕 \(A_3\):走向高潮并解决主要冲突。

记作:

\[ \{A_1,A_2,A_3\}\leftarrow\operatorname{ThreeActExtract}(f), \qquad f=A_1\cdot A_2\cdot A_3. \]

三幕划分让算法能控制原命题在何处建立,以及后续何时出现矛盾。

3.2 抽取并评分命题

通过 LLM 从第一幕抽取关于人物(foreground)和故事设定(background)的命题:

\[ \{\phi_1,\phi_2,\ldots\}\leftarrow\operatorname{PropExtract}(A_1). \]

只从第一幕取事实,是为了在较早位置建立信息、在后续幕中可控地否定。随后用 4 点 Likert scale 衡量命题 \(\phi\) 对第二、三幕情节的重要程度:

\[ s_\phi\leftarrow\operatorname{PropScore}(\phi;A_1,A_2,A_3). \]

只保留 \(s_\phi\in\{2,3\}\) 的中等重要命题:过于无关的命题被否定后故事几乎不变,过于核心的命题被否定则可能使故事整体变得荒谬。

3.3 生成反事实故事

用 LLM 重写三幕,并否定选中的命题 \(\phi\)

\[ A_1^{\neg\phi}\cdot A_2^{\neg\phi}\cdot A_3^{\neg\phi} \leftarrow \operatorname{Counterfact}(\phi,A_1,A_2,A_3). \]

否定 \(\phi\) 不只是替换一句话;为了保持反事实版本自身连贯,其他命题也可能随之修改。例如改变人物国籍后,名字也可能需要改变。

3.4 重建故事(patching)

原故事与反事实故事分别为:

\[ f=A_1\cdot A_2\cdot A_3, \qquad f^{\neg\phi}=A_1^{\neg\phi}\cdot A_2^{\neg\phi}\cdot A_3^{\neg\phi}. \]

算法保留原故事第一幕,却拼接反事实版本的第二、三幕:

\[ f^{\text{patch}}:=A_1\cdot A_2^{\neg\phi}\cdot A_3^{\neg\phi}. \]

于是第一幕仍建立 \(\phi\),后续幕则按 \(\neg\phi\) 演化,产生潜在 continuity error。

3.5 自动过滤

过滤阶段删除明显失败样本,例如 \(A_2=A_2^{\neg\phi}\)\(A_3=A_3^{\neg\phi}\),以及反事实版本修改超过 5 处的样本;修改越多,LLM 反事实推理出错的概率越高。

作者还设计一个强提示、低难度 judge:给 LLM 展示 \(f^{\text{patch}}\),明确标记 \(A_2^{\neg\phi}\)\(A_3^{\neg\phi}\) 中被修改的行,只要求判断这些行是否引入 continuity error。相比在所有句子组合中搜索矛盾,这个任务简单得多,可过滤“新命题其实仍与原命题兼容”的失败样本。

过滤采用 self-consistency:5 次 completion 中至少 4 次判定存在 continuity error 才保留。模型还要给出解释,供后续人工核验。除反事实故事生成使用 GPT-4-turbo 外,其余阶段使用 GPT-4o。

3.6 人工核验

每个自动过滤后的故事至少由 3 名 Prolific annotator 判断所提议的 continuity error 是否成立;只有多数人同意才进入 benchmark。作者明确承认自动 pipeline 中的 LLM 并不完美,尤其反事实推理可能失败,因此人工验证是高质量控制的必要组成部分。

4. FlawedFictions:任务、指标和数据统计

4.1 分类任务

模型判断故事是否存在 continuity error。正例来自 FlawedFictionsMaker 并经人工验证;负例使用未经修改的原始故事。

4.2 双向定位任务

单纯判断“有/没有”无法验证模型究竟发现了哪一处错误,因此作者设计双向定位作为开放解释的可计算代理。模型预测两个句子集合:

  • \(\mathcal S_{\text{Error}}\):包含错误、即蕴含 \(\neg\phi\) 的句子;
  • \(\mathcal S_{\text{Contr}}\):蕴含原命题 \(\phi\) 的句子。

指标 CEEval-Full 先检查有无错误的判断是否正确;若判断有错,再检查两个预测集合是否分别至少命中一个 ground-truth 句子。若第一步错误,得 0 分。该指标刻意不要求找全所有相关句子,因为重点是模型是否识别了正确矛盾。

4.3 数据组成

作者用 fairytalesshort stories 等关键词从 Project Gutenberg 抓取故事集。为降低 annotator 的认知负担,FlawedFictions 只保留少于 1,200 词的故事。约 300 个自动编辑并人工验证的故事中,有 207 个成为正例,接受率约 70%;再加入 207 个未修改原作作为负例,共 414 条。平均长度为 731 词,类型包括经典童话、神话、传说和历史虚构。

较长 split FlawedFictionsLong 使用 FairyTaleQA 中 1,200–4,000 词的故事。因长故事标注负担高,仅三分之一由 Prolific 用户标注,其余由论文第一作者标注。最终含 97 个正例与 103 个原作负例,共 200 条,平均 2,703 词,全部为童话。

5. Frontier LLM 的表现

5.1 实验设置

实验覆盖 OpenAI、Anthropic 的 proprietary model,以及 Llama-3、DeepSeek-R1-Distilled 和 Qwen2.5 等 open-weight model。o1 和 o3-mini 分别测试 low、medium、high reasoning effort;Claude 3.7 Sonnet 测试 extended thinking。

作者还采用 inference-time scaling:由 generator 先检测 plot hole,再由 Claude 3.5 Sonnet verifier 判断提议的 plot hole 是否成立。此外还比较 few-shot 和 CoT prompt。

为了检验任务是否只是句子对矛盾识别,作者构建 entailment baseline:遍历故事中的有序句子对,用在 MNLI 上微调、dev accuracy 为 91% 的 DeBERTa-v3-large 检测 contradiction;若没有矛盾对则输出“无 continuity error”,否则以 contradiction confidence 最高的句子对定位错误。另外还有随机 baseline 和永远输出“无错误”的 baseline;因为短故事数据均衡,后者 accuracy 为 50%。

人类 benchmark 招募 9 名英语专业本科生评价 50 个 FlawedFictions 样本,每个样本收集 3 个回答。该任务对人也并不简单,因为长故事会给有限 working memory 带来较高认知负担。

5.2 主结果

模型 FlawedFictions Accuracy FlawedFictions CEEval-Full FlawedFictionsLong Accuracy FlawedFictionsLong CEEval-Full
Random 0.50 0.00 0.50 0.00
Always No Error 0.50 0.50 0.51 0.51
Entailment 0.53 0.04 0.48 0.00
Llama-3.3-70B 0.57 0.38 0.53 0.16
Llama-3.1-8B 0.50 0.10 0.48 0.02
DeepSeek-R1-Qwen-32B 0.56 0.35 0.52 0.27
Qwen2.5-32B 0.53 0.31 0.51 0.23
GPT-4o(CoT) 0.64 0.58 0.56 0.42
GPT-4o-mini(CoT) 0.53 0.32 0.43 0.20
GPT-4-turbo(CoT) 0.57 0.55 0.54 0.53
o1(low) 0.71 0.65
o1(medium) 0.70 0.65 0.61 0.53
o1(high) 0.69 0.64
o3-mini(low) 0.55 0.52 0.53 0.46
o3-mini(medium) 0.62 0.53 0.56 0.42
o3-mini(high) 0.63 0.47 0.45 0.07
Claude 3.5 Haiku(CoT) 0.57 0.46 0.48 0.37
Claude 3.5 Sonnet 0.76 0.67 0.56 0.35
Claude 3.5 Sonnet + verifier 0.74 0.68 0.60 0.50
Claude 3.7 Sonnet 0.66 0.55 0.49 0.29
Claude 3.7 Sonnet + extended thinking 0.73 0.66 0.54 0.37
Human 0.76 0.68

短故事分类中,多数 open-weight model、GPT-4o-mini、GPT-4-turbo 和 Claude 3.5 Haiku 接近随机。只有 Claude 3.5 Sonnet 达到人类 accuracy;加 verifier 后,其 CEEval-Full 达到 0.68,与人类相同。

entailment baseline 的 CEEval-Full 仅 0.04,说明任务不能通过孤立地找两个表面矛盾句解决:在完整语境中一致的两个句子,单独比较时可能像是矛盾,因此 sentence-pair baseline 产生大量 false positive,并错误定位 \(\mathcal S_{\text{Error}}\)\(\mathcal S_{\text{Contr}}\)

FlawedFictionsLong 的故事平均约为短 split 的四倍。最佳 o1 的 CEEval-Full 只有 0.53,仅略高于 Always No Error baseline。即使这些长故事仍少于 4,000 词,模型表现已经明显崩溃;电影、系列小说等真实长叙事远长于此,表明现有 LLM 对长篇一致性问题的可靠检测仍有很大缺口。

5.3 增加 test-time compute 收益很小

o1 与 o3-mini 从 low 增到 high reasoning effort 时分数下降。o3-mini 的 reasoning token 从平均不足 1,000 增到超过 5,000——约为故事长度的 5 倍——却表现更差。DeepSeek-R1 distill model 相对 Qwen2.5-32B 也只有很小提升。

唯一明显例外是 Claude 3.7 Sonnet,extended thinking 带来较大改善;但不使用额外 test-time reasoning、只生成其约十分之一 token 的 Claude 3.5 Sonnet 仍略强。作者观察到 reasoning model 容易在早期形成错误的 plot-hole 假设,随后持续沿错误假设推理。若故事有 \(n\) 个句子,潜在矛盾假设空间至少为二次规模,逐一用中间生成检查,在长故事中计算上不可承受。

5.4 模型常见错误

对 GPT-4o、Claude 3.5 Sonnet 及其 verifier 版本的定性分析发现:

  1. 误解人物动机或行为:人物假装友善、欺骗或 bluff 不必然构成 continuity error。
  2. 错误跟踪实体状态:数错仍存活的人物数量,或误判时间经过,然后把自己的跟踪错误当作 plot hole。
  3. 不理解体裁惯例:把童话中的奇幻元素误判为逻辑矛盾。
  4. 过度解释既有规则:例如人物说“任何一套衣服不会试超过一次”,随后试多套不同衣服,模型却错误认定为矛盾。

人类较少出现这些推理错误,主要问题是因 working-memory 限制而漏掉细节;这也对应人类 precision 更高、recall 更低。

6. 衡量 LLM 生成叙事的逻辑一致性

作者用 FlawedFictions 上表现最好的 Claude 3.5 Sonnet + verifier 评价 LLM 生成短故事,并定义 continuity error detection rate:被检测模型判断存在 continuity error 的生成故事比例。

摘要与现代改编的 continuity error 检测率

图 2: 不同 LLM 在故事摘要和现代改编任务中的 continuity error detection rate。

实验不做完全开放生成,而选择两种 conditional generation,以人类原作为对照:

  • 摘要:从 FairyTaleQA 选 200 个童话,要求模型写约 1,000 词的简洁摘要;
  • 现代改编:把 FlawedFictions 的 207 个原始故事移到现代背景,同时保留相似主题、中心冲突和人物。

因最佳检测模型在长故事上也表现不佳,生成文本限制在 1,200 词以下。

摘要任务中,GPT-4o 的错误率最低,但仍由原故事的 0.31 上升到 0.45,增加约 50%。现代改编中,最佳 Claude 3.5 Haiku 从 0.14 升到 0.27,接近翻倍;最差 GPT-4o-mini 升到 0.53,增加 278%

摘要经常遗漏让后续事件成立的关键中间信息。例如原情节是“龙沉睡一年 → 被兄弟唤醒 → 追赶王子”,Claude 3.5 Haiku 摘要漏掉“被唤醒”,变成“龙沉睡一年 → 追赶王子”,形成明显矛盾。

现代改编则经常没有重新处理不同世界设定中的可信性。例如原童话中马会说话;若现代版本照搬该事件,人物却无人对此感到异常,就会与新设定冲突,构成 impossible event。

7. 相关工作

7.1 叙事理解和推理任务

叙事理解任务可分为 descriptive 与 interpretive。前者理解显式情节,包括 NarrativeQA、FairyTaleQA、BookQA、叙事摘要和 claim verification;后者要求建立故事世界的 mental representation 并推断逻辑含义,例如选择结局、判断因果或生成反事实。许多 interpretive dataset 只含约 4–5 句的极短故事。MuSR 虽包含谋杀谜题等多步推理,却使用固定模板的合成故事;FlawedFictions 则编辑结构多样的人类原作。

7.2 LLM 故事质量评价

已有研究发现 GPT-3 故事在流畅度和连贯性上可与人类竞争,但人类故事的叙事结构更多样,LLM 故事较同质。GPT-4 故事在情感、共情和参与度构成的 Psychological Depth Scale 上可能超过人类,但在基于网页原文匹配的 Creativity Index 上更低。这些指标都没有直接衡量叙事的逻辑与动机一致性,而已有访谈证据表明 LLM 故事容易缺少情节和人物一致性。

7.3 Plot hole 与 impossible world

plot hole 是故事逻辑与动机结构中非故意的不一致。possible-worlds 理论曾以《福尔摩斯》中 Watson 旧伤位置互相矛盾为例,把自相矛盾的故事称为 impossible fiction,并用尽量接近原作的 revision 解释其中何者为真。后续 impossible-world 理论允许世界包含逻辑矛盾,却不因此让所有命题空洞为真,以解释有意违背逻辑的故事。

7.4 自动检测 plot hole

早期 symbolic approach 用 epistemic logic 识别 plot hole,但需要结构化 story event,无法灵活用于任意故事。也有工作随机否定故事陈述以生成合成检测数据,但不一定稳定产生真实 plot hole,且没有人工核验。FlawedFictionsMaker 则以重要度筛选、反事实重写、自动过滤和多人核验控制质量。

8. 结论

本文提出 FlawedFictionsMaker 自动生成故事 continuity error,并据此构建 FlawedFictions benchmark。前沿 LLM 难以准确完成任务,inference-time scaling 的提升很小。最佳检测模型还显示,LLM 生成的故事和摘要相对于人类原作有显著更高的 continuity error rate。这说明 LLM 的一般推理能力虽有进步,深层叙事理解仍存在明显缺口。

未来可进一步控制注入 plot hole 的类型和复杂度,设计面向 FlawedFictions 的 post-training 方法,并研究大量合成数据能否更普遍地改善推理。研究还可扩展到 plot convenience、coincidence 等“cheap plot trick”,或迁移到事实核查、错误信息检测和教育等非虚构场景。

致谢

作者感谢 Maria Antoniak 对最初项目构想的反馈,感谢 Alexander Spangher 对草稿的详细意见,并感谢所有参加标注与评价的 Prolific annotator 和 University of Washington 本科生。

附录

A. continuity error 的更形式化处理

第 2 节的定义没有纳入理解故事矛盾时经常不可缺少的隐含知识,例如读者对现实世界的理解与信念。这里用 Lewis 的 possible-worlds theory 扩展定义。该理论的核心贡献之一,是评价叙事文本从未显式陈述的命题是否为真。

例如,我们能否说“Sherlock 住处离 Paddington Station 比离 Waterloo Station 更近”?现实伦敦地图显示 Baker Street 离 Paddington 更近,但故事从未明说。我们仍会把它判为真,因为没有特殊理由认为《Sherlock Holmes》中的伦敦地理与现实迥异。

设命题 \(p\) 在读者(或读者共同体)的信念世界中为真。为了判断未被故事 \(f\) 明说的 \(p\) 是否也满足 \(\operatorname{isTrue}(f,p)\),Lewis 使用反事实:若“把 \(f\) 当作事实且 \(p\) 为真”的某个世界,比任何“把 \(f\) 当作事实且 \(p\) 不为真”的世界都更接近读者的信念世界 \(W_b\),则 \(p\)\(f\)非空洞地为真。可以设想一个 Sherlock 故事为真、但伦敦被彻底重排,以至 Baker Street 离 Waterloo 更近的世界;然而,它比保留现实伦敦地理的世界离 \(W_b\) 更远。

定义算子:

\[ \operatorname{TF}:\mathcal P(\Phi)\rightarrow\mathcal P(\Phi), \]

对任意 \(\mathcal F\subseteq\Phi\)

\[ \operatorname{TF}(\mathcal F)= \left\{ p\in\mathcal B\ \middle|\ \operatorname{sim}(W_{\mathcal F,p},W_b) < \operatorname{sim}(W_{\mathcal F,\neg p},W_b) \right\}. \]

其中:

  • \(\Phi\) 是所有可能命题的集合,\(\mathcal P(\Phi)\) 是其幂集;
  • \(\mathcal B\subseteq\Phi\) 是信念世界中为真的命题集合;
  • \(W_b\) 是读者的信念世界;
  • \(W_{\mathcal F,p}\) 表示离 \(W_b\) 最近、且 \(\mathcal F\)\(p\) 同时为真的世界;
  • \(\operatorname{sim}\) 是 possible world 之间的距离/相似性度量,公式中数值更小代表更接近。

因此,\(\operatorname{TF}(\mathcal F)\) 返回读者信念世界中、也可以在以 \(\mathcal F\) 为命题集合的故事 \(f\) 中被确立为非空洞真值的命题。

定义 A.1(纳入信念的 continuity error)。 当故事中的命题 \(\phi_e\) 满足

\[ \left[ \operatorname{isTrue}\!\left(f,\mathcal F\setminus\{\phi_e\}\right) \wedge \operatorname{isTrue}\!\left( f,\operatorname{TF}\!\left(\mathcal F\setminus\{\phi_e\}\right) \right) \right] \implies \operatorname{isTrue}(f,\neg\phi_e), \]

\(\phi_e\) 关联一个 continuity error。也就是说,去掉 \(\phi_e\) 后,如果用 \(\mathcal F\) 中其余命题以及读者信念世界中在 \(f\) 内非空洞为真的命题,可以推出 \(\neg\phi_e\),那么 \(\phi_e\) 与故事其余部分不一致。这里可把 \(f\) 理解为从未陈述 \(\phi_e\) 的故事 \(f'\)

possible-worlds theory 下,这种逻辑矛盾会产生 impossible fiction:不存在任何把故事当作事实的 possible world,即

\[ \mathcal W_f=\varnothing. \]

原则上,在这种不可能故事中任何命题 \(p\) 都会空洞为真。但对偶然、不至于彻底破坏情节的矛盾,这种处理过于严厉;即使人物伤口位置无说明地改变,人们仍能理解故事。Lewis 及后续工作给出了在 impossible world 中非空洞评价真值的形式化方案,但超出本文范围。本文关心的是 LLM 能否在故事描绘不可能世界时完成推理。

详细例子。 考虑故事:

  1. Jack 正用杯子喝热茶。
  2. Jack 把茶给 Jill。
  3. Jill 从 Jack 的杯子里喝了冷茶。

可抽取

\[ \phi_1=\text{“Jack 喝茶”},\quad \phi_2=\text{“茶是热的”},\quad \phi_3=\text{“Jack 把茶给 Jill”}, \]
\[ \phi_4=\text{“Jill 喝茶”},\quad \phi_5=\text{“茶是冷的”}. \]

只从显式命题集合中去掉 \(\phi_5\),还不能推出 \(\neg\phi_5\),因为若没有额外假设,“热”在形式逻辑上并不蕴含“不冷”。读者常识包含“如果茶是热的,那么茶不是冷的”,即 \(\phi_2\to\neg\phi_5\)。加入该信念后,可由 modus ponens 推出:

\[ \{\phi_2\to\neg\phi_5,\phi_2\}\vdash\neg\phi_5. \]

所以,在合理读者信念参与时,\(\phi_5\) 与故事其余部分逻辑不一致。fiction 中的 continuity error 不能只靠显式文本命题检测,还必须整合读者带入故事理解的隐含世界知识。

表 A1:不同类型的 plot hole。

类型 电影/故事 描述 无害或不可弥合 来源 备注
Continuity error Arthur Conan Doyle 的 Sherlock Holmes 《A Study in Scarlet》初次介绍 Watson 时说他左臂受伤,下一篇《The Sign of Four》却说战争伤在膝盖 无害 Lewis (1978)
Continuity error Citizen Kane (1941) Kane 独自死去,记者却在追查他临终所说“Rosebud”的意义;既然独自死去,谁听到了? 无害 Ryan (2009) 需要常识“独自死亡意味着无人能听到临终遗言”;该命题并非故事明说
人物失常 Brothers Grimm 的 Little Red Riding Hood 狼第一次在森林遇到小红帽时为何不直接吃掉她,反而先去祖母家、伪装后再吃? 不可弥合 Ryan (2009)
事实错误 Titanic (1997) Jack 提到在 Lake Wissota 钓鱼,但该人工湖建于 1917 年,比 Titanic 沉没晚五年 无害
不可能事件 The Dark Knight Rises (2012) 一整队警察被困地下数月,出来时却都刮净胡子、衣着整齐 无害 Essay (1967)
未解决情节线 Game of Thrones (2011–2019) 多条线索未收束,例如 Quaithe 多次预言却始终没有兑现 无害

B. 人工标注与人类基准

B.1 验证 FlawedFictionsMaker 故事

标注员从 Prolific 招募,筛选条件为:英语是主要语言;居住在英国、美国或加拿大;至少本科学历;没有阅读障碍。候选人还完成一组由作者预先核验真值的小规模筛选题,表现良好者才进入正式研究。

筛选题中有 50% 是 ChatGPT 判断错误的样本,作者借此识别可能用 LLM 代做标注的人;还检查 pilot study 的平均完成时间,过快者因可能使用 LLM 而不纳入。最终招募 19 人,报酬每小时 12 美元;每次标注超过 10 个故事另给 20%–30% 奖金。预计每例 5 分钟,总计支付 6,500 美元。约 350 个故事得到标注,每个至少 3 份。

用于验证 FlawedFictionsMaker 输出的 Argilla 人工标注界面

图 A1: 使用 Argilla 构建的人工核验界面。

B.2 衡量人类表现

作者招募 9 名英语专业本科生,让其完成与 LLM 完全相同的 plot-hole detection 任务,采用同样的任务规范与说明。从数据集中抽取 50 例,每例收集 3 个回答。第一作者估计每题需 15 分钟;每个故事支付 5 美元,相当于每小时 20 美元。分类准确率超过 70% 者获得 30% 奖金,以鼓励尽最大努力。总支出 944.60 美元。完整研究文件见附录 K。

人类基准研究界面

图 A2: 人类表现基准所用界面。

两项研究都获得 Human Subjects Division 的 IRB 豁免,认定属于满足豁免条件(Category 101)的人类受试研究。验证研究和基准研究的 IRB ID 分别为 STUDY00021942、STUDY00022395。

C. 数据统计

表 A2:FlawedFictions 故事长度(词数)。

统计量 数值
数量 414
均值 731.81
标准差 225.51
最小值 132
第 25 百分位 569.25
中位数 754
第 75 百分位 923.50
最大值 1,236

表 A3:FlawedFictionsLong 故事长度(词数)。

统计量 数值
数量 200
均值 2,703.09
标准差 805.16
最小值 1,246
第 25 百分位 1,965
中位数 2,575
第 75 百分位 3,350
最大值 3,999

D. 实验设置补充

所有实验温度为 0.5。普通模型最大生成 4,096 token;o1、o3-mini 和启用 extended thinking 的 Claude 3.7 Sonnet 最大 8,192 token。所有 open-weight 模型实验均在单张 A40 或 L40 上运行。

作者比较三种 prompting:

  1. vanilla: 描述任务与输出格式,直接要求回答;
  2. few-shot: 在 vanilla 基础上加入一个正例和一个负例;
  3. CoT: 在 vanilla 基础上要求模型先写 scratchpad 分析故事。

完整提示见附录 J。

D.1 Verifier

plot-hole detector 是 generator;verifier model 检查 generator 提议的 plot hole 是否成立。若 verifier 判为不成立,就重新从 generator 采样,直到 verifier 同意,或 generator 回答“No continuity error detected”。generator 最多采样 5 次。verifier 使用 Claude 3.5 Sonnet,并以专门提示核验候选漏洞。因成本较高,论文只报告 Claude 3.5 Sonnet generator 加 verifier 的结果。

E. 补充结果

E.1 完整指标与 prompting 影响

附录完整表除 Accuracy 和 CEEval-Full 外,还报告 Precision、Recall、F1 及 CEEval-Pos。CEEval-Pos 只在 localization task 的正例、即确有 continuity error 的故事上计算。

few-shot 通常比 vanilla 与 CoT 更差,只有 Claude 3.5 Haiku 和 GPT-4-turbo 略有收益。CoT 对 GPT-4o、GPT-4o-mini 有效,对其他模型几乎没有改善。

表 A4:FlawedFictions 完整结果。† 表示经过 test-time-compute reasoning 训练的模型。

模型 Accuracy Precision Recall F1 CEEval-Pos CEEval-Full
Random 0.50 0.50 0.50 0.50 0.00 0.00
Always No Error 0.50 0.00 0.00 0.00 0.00 0.50
Entailment 0.53 0.52 1.00 0.68 0.02 0.04
Llama-3.3-70B 0.57 0.56 0.73 0.63 0.34 0.38
Llama-3.1-70B 0.56 0.54 0.76 0.63 0.26 0.31
Llama-3.1-8B 0.50 0.50 0.99 0.66 0.18 0.10
DeepSeek-R1-Qwen-32B† 0.56 0.54 0.69 0.61 0.28 0.35
DeepSeek-R1-Qwen-14B† 0.58 0.57 0.65 0.61 0.15 0.33
Qwen2.5-32B 0.53 0.53 0.50 0.51 0.08 0.31
GPT-4o 0.60 0.62 0.51 0.56 0.34 0.51
└ few-shot 0.57 0.55 0.80 0.65 0.43 0.38
└ CoT 0.64 0.72 0.45 0.56 0.33 0.58
GPT-4o-mini 0.48 0.48 0.62 0.54 0.09 0.21
└ few-shot 0.50 0.50 0.90 0.64 0.13 0.11
└ CoT 0.53 0.53 0.52 0.52 0.10 0.32
GPT-4-turbo 0.55 0.86 0.12 0.21 0.08 0.53
└ few-shot 0.60 0.78 0.27 0.40 0.18 0.55
└ CoT 0.57 0.90 0.17 0.28 0.13 0.55
o1† low 0.71 0.93 0.44 0.60 0.34 0.65
└ medium 0.70 0.96 0.42 0.58 0.32 0.65
└ high 0.69 0.94 0.40 0.56 0.31 0.64
o3-mini† low 0.55 0.71 0.17 0.27 0.12 0.52
└ medium 0.62 0.75 0.37 0.50 0.19 0.53
└ high 0.63 0.65 0.57 0.61 0.25 0.47
Claude 3.5 Haiku 0.55 0.59 0.30 0.40 0.12 0.46
└ few-shot 0.57 0.72 0.23 0.35 0.11 0.51
└ CoT 0.57 0.64 0.35 0.45 0.13 0.46
Claude 3.5 Sonnet 0.76 0.73 0.83 0.78 0.64 0.67
└ few-shot 0.58 0.54 0.96 0.69 0.66 0.42
└ CoT 0.71 0.66 0.87 0.75 0.64 0.59
└ verifier 0.74 0.81 0.63 0.71 0.51 0.68
Claude 3.7 Sonnet 0.66 0.61 0.88 0.72 0.67 0.55
└ extended thinking† 0.73 0.68 0.87 0.76 0.72 0.66
Human 0.76 0.84 0.64 0.73 0.48 0.68

表 A5:FlawedFictionsLong 完整结果。

模型 Accuracy Precision Recall F1 CEEval-Pos CEEval-Full
Random 0.50 0.50 0.50 0.50 0.00 0.00
Always No Error 0.51 0.00 0.00 0.00 0.00 0.51
Entailment 0.48 0.48 1.00 0.65 0.00 0.00
Llama-3.3-70B 0.53 0.50 0.88 0.64 0.13 0.16
Llama-3.1-70B 0.53 0.51 0.88 0.64 0.06 0.13
Llama-3.1-8B 0.48 0.48 0.99 0.65 0.04 0.02
DeepSeek-R1-Qwen-32B† 0.52 0.51 0.56 0.53 0.03 0.27
DeepSeek-R1-Qwen-14B† 0.50 0.48 0.42 0.45 0.00 0.30
Qwen2.5-32B 0.51 0.49 0.62 0.55 0.03 0.23
GPT-4o 0.57 0.54 0.72 0.62 0.27 0.35
└ CoT 0.56 0.55 0.48 0.51 0.21 0.42
GPT-4o-mini 0.51 0.50 0.93 0.65 0.03 0.08
└ CoT 0.43 0.43 0.51 0.46 0.05 0.20
GPT-4-turbo 0.52 1.00 0.01 0.02 0.00 0.52
└ CoT 0.54 1.00 0.06 0.12 0.03 0.53
o1 medium 0.61 0.76 0.29 0.42 0.12 0.53
o3-mini low 0.53 0.55 0.16 0.25 0.02 0.46
└ medium 0.56 0.57 0.37 0.45 0.08 0.42
└ high 0.45 0.46 0.84 0.59 0.06 0.07
Claude 3.5 Haiku 0.48 0.44 0.25 0.32 0.02 0.37
Claude 3.5 Sonnet 0.56 0.53 0.77 0.63 0.33 0.35
└ verifier 0.60 0.60 0.49 0.54 0.30 0.50
Claude 3.7 Sonnet 0.49 0.49 0.90 0.63 0.47 0.29
└ extended thinking 0.54 0.52 0.81 0.63 0.46 0.37

FlawedFictions 上 CEEval-Full 与平均 completion token

FlawedFictionsLong 上 CEEval-Full 与平均 completion token

FlawedFictions 上 Accuracy 与平均 completion token

FlawedFictionsLong 上 Accuracy 与平均 completion token

图 A3: 以平均 completion token 作为 inference-time compute 的代理,展示其与两个 split 上 Accuracy、CEEval-Full 的关系。

E.2 故事长度与表现

作者计算故事词数与逐样本 CEEval-Full(取值 0/1)之间的 point-biserial correlation。所有模型均为负相关,相关系数虽只有约 \(-0.1\)\(-0.2\),但 14 个模型中有 13 个达到统计显著(\(p<0.05\))。

表 A6:故事词数与 CEEval-Full 的 point-biserial correlation。星号表示 \(p<0.05\)

模型 相关系数 p-value
Llama-3.1-8B-Instruct -0.134* \(6.21\times10^{-3}\)
Llama-3.1-70B-Instruct -0.154* \(1.64\times10^{-3}\)
Llama-3.3-70B-Instruct -0.147* \(2.57\times10^{-3}\)
DeepSeek-R1-Qwen-14B -0.192* \(7.77\times10^{-5}\)
DeepSeek-R1-Qwen-32B -0.116* \(1.75\times10^{-2}\)
Qwen-2.5-14B -0.127* \(9.39\times10^{-3}\)
GPT-4o-mini -0.029 0.551
GPT-4o -0.196* \(5.70\times10^{-5}\)
Claude-3.5-Sonnet -0.172* \(4.24\times10^{-4}\)
Claude-3.5-Sonnet + verifier -0.163* \(8.42\times10^{-4}\)
Claude-3.5-Haiku -0.156* \(1.40\times10^{-3}\)
Claude-3.7-Sonnet -0.122* \(4.36\times10^{-4}\)
o1 -0.104* \(2.48\times10^{-4}\)
o3-mini -0.174* \(5.82\times10^{-10}\)

E.3 任务主观性与 false positive 复核

每个故事只有一套 ground truth,因此模型可能在原始负例中真的发现数据未标注的 plot hole。作者对模型在原作上的正预测,即 false positive,进行同样的人类核验;若多数标注员认可候选错误,便算接受。

模型 人工复核数 接受数 接受率
GPT-4o-mini 54 2 0.04
GPT-4o 37 3 0.08
Claude 3.5 Sonnet 37 8 0.22
o3-mini 17 4 0.23

许多模型 false positive 也被人类判为不成立;o3-mini 接受率最高 23%,Claude 3.5 Sonnet 为 22%。为使评估更可靠,报告最终分数时从 benchmark 中排除了被人类接受的这些样本。

F. 替代负例策略

主数据集用未经修改的原故事作为“无 plot hole”负例。潜在混淆是:模型可能利用参数知识或检索识别故事是否未经修改,再据此判断 FlawedFictionsMaker 是否注入漏洞。

作者探索两种部分合成负例:

  1. counterfactual story: 直接使用流水线第 3 步生成、内部自洽的反事实故事;
  2. error-resolved story: 把正例故事及其 continuity error 交给 GPT-4o,要求补充上下文来消解错误。

两种方法都能让正负例同为部分合成,但难以验证。正例有明确候选错误,人类只需验证其是否合法;counterfactual 与 error-resolved story 没有候选错误,要让人从头检查所有可能漏洞,认知负担很高。因为两种方法都可能产生错误,而高质量 benchmark 又需要人工验证,本文最终仍采用原作负例。尤其 FlawedFictionsLong 上模型 precision 很低、false positive 很多,也不支持“模型靠识别原文解决任务”的解释。

作者仍发布两个各含 414 例的替代 split;二者与原 split 共享同一批正例。FlawedFictions-CF 以 counterfactual story 为负例,FlawedFictions-Resolved 以 error-resolved story 为负例。

三种负例策略下的 Accuracy

三种负例策略下的 CEEval-Full

图 A4: GPT-4o 与 Claude 3.5 Sonnet 在原始故事、counterfactual story、error-resolved story 三种负例策略上的 Accuracy 与 CEEval-Full。两模型在原 split 与 FlawedFictions-CF 上相近,在 FlawedFictions-Resolved 上明显更低。未来工作可研究高效验证这些合成负例的方法。

G. FlawedFictions 正例

以下正例由 FlawedFictionsMaker 生成并收入 FlawedFictions。原论文用绿色标出“被矛盾否定的事实”,用黄色标出“引入 continuity error 的行”;中文稿分别写作 【被否定事实】【错误行】

G.1 Michael Hart 与女孩们

故事

在我们还乘运河船旅行的年代,我正从 Dublin 南下。到了 Mullingar,运河到了尽头,我便开始步行;被那缓慢的旅程折腾后,我又僵又累。还有几个朋友和我一起,我们时而走路,时而搭车。走着走着,我们看到几个女孩在挤牛奶,便停下同她们开玩笑。过了一会儿,我们问能否喝点牛奶。她们说:“这里没有东西盛,不过可以跟我们回家。”我们跟她们回去,围着火坐下聊天。后来其他人走了,只留下我,我实在舍不得离开那温暖的火。我问女孩们有没有吃的。火上有一口锅,她们把肉取出放在盘子里,让我只吃来自头部的肉。【被否定事实】我吃完后,女孩们出去了,我再也没见到她们。

天越来越黑,我仍坐在那里,还是舍不得离开暖火;过了一会儿,两个男人抬着一具尸体进来。【错误行】我看见他们时,女孩们看出了我的恐惧,紧贴在我身旁。 一个人问另一个:“谁来转烤架?”另一个说:“Michael Hart,出来转肉!”我哆哆嗦嗦地出来,开始转烤架。先开口的那人说:“Michael Hart,要是烤焦了,我们就把你放到烤架上。”说完他们便出去了。我浑身发抖,转着尸体,一直到午夜。那两人又来了,一个说烤焦了,另一个说正合适;两人争执起来,最后都说这次不会伤害我。一个坐在火旁喊道:“Michael Hart,你会讲故事吗?”我说:“一个也不会。”他便抓住我的肩膀,像开枪一样把我射了出去。【错误行】女孩们跟着我出来,脸上满是担忧。

那是个狂风怒号的夜晚;我有生以来从未见过这样的夜——天上降下的最黑暗的夜。我根本不知道自己在哪里。于是,其中一个男人追上来,拍拍我肩膀说:“Michael Hart,现在会讲故事了吗?”我说:“会了。”他把我带回去,让我坐在火旁,说:“开始吧。”我说:“我只有一个故事:我坐在这里,你们两个抬来一具尸体,放在烤架上,让我转着烤。”他说:“够了;你可以进去躺床上了。”我当然求之不得,便走了进去。第二天早晨,我竟在一片绿地中央。【错误行】女孩们不见踪影,我纳闷她们究竟参与了那个怪异夜晚,还是只在一旁默默见证。

continuity error 解释

故事明确说主人公吃完后女孩们离去,此后“再也没见到她们”。后面的标记行却让女孩们在男人抬尸体进来时仍陪在他身边、在他被扔出去时跟着出来,最后还反思她们当晚是否在场。女孩们不能既已离开且永不再见,又出现在后续事件中。

G.2 十月下午与春日清晨

故事

笔直、闪亮的路穿过低垂树林组成的幽暗拱廊,像一条褪色绿金相间的隧道,【被否定事实】被十月末午后的迷蒙细雨打湿。一股人潮在其中流动,不快,而是缓慢,以疲惫双脚、麻木头脑和沉重心灵所特有的耐心、哀伤的迟缓前进。

然而,他们所有人都很急:老人、妇女、父亲、母亲和幼儿,都在尽可能快地逃;要么逃离他们害怕的某样事物,要么奔向他们渴望的某样事物。

奇怪的是,路上的潮流同时朝两个方向流动。

有人离开被毁的家园,逃避战争危险;有人逃回被毁的家园,逃避流亡的荒凉。但所有人都是难民,急着离开,沿路向这个或那个方向挣扎,却只以难以言说的疲惫、如蜗牛爬行般缓慢前进。我在人潮中看见许多彼此分明的事物,不经意便记了下来。

一个男孩费力推着独轮车,苍白的母亲坐在车里,两个小妹妹在旁跋涉。一个农民同两个女儿赶着瘦弱、沮丧的奶牛,走向某处不知名的牧场。一匹嶙峋的马拖着堆满寝具与家当的货车,皱纹满面的祖母坐在顶上,怀里抱着最小的婴儿;其他家人在旁跌跌撞撞地走,猫则蜷在车里最柔软的毯子上。两只喘气的狗伸着红舌,摊开的脚爪抓着道路,拖动一辆满载的车;男主人从后面推,女人套在辕杆里拉。挤满乘客的古怪旧车;成双、成群,有时大群步行的人;偶尔还有孤身男女,衰老、衣衫破旧,背着包袱,眼盯道路,【错误行】在泥泞和晨雾中跋涉,从开花枝条高高拱成的门廊下经过。

我看到了所有这些独立画面,但它们又汇成同一个景象——人类带着不会说话的伙伴逃亡——无限缓慢、痛苦、可怜的逃亡!

我看不到眼泪,也听不见抱怨。然而,在那些茫然面孔上麻木而耐心的匆忙之下,我看见一个问题:

“我们做了什么?为什么这样的事降临到我们和孩子身上?”

某处响起号角。远处泥泞道路上,一小队德国士兵头盔上的黄铜尖刺闪了一瞬。【错误行】清冽的清晨空气中,传来 Flanders 看不见的征服炮火低沉而遥远的轰鸣。

那是唯一的回答。

continuity error 解释

开头把时间和季节定为十月末的下午。后文两次说“清晨”,与下午冲突;“开花枝条”通常指春季,也与深秋冲突。

G.3 Launcelot 的品格

故事

时光流逝,King Arthur 把各个时代都无可匹敌的骑士召入圆桌骑士团,而其中最杰出的是 Sir Launcelot du Lac。他力大无穷,凡他横枪冲击的对手无人能安坐马鞍,也没有盾牌挡得住他的剑;【被否定事实】但 Sir Launcelot 闻名远近,与其说是因为勇气和力量,不如说是因为谦恭有礼。他温和,总是第一个为别人的荣誉高兴;比武时,他会避开年轻、未经考验的骑士,任其通过,好让对方有机会赢得荣耀。

要记录 Sir Launcelot 的全部著名功绩和冒险,需要一本巨著。他来自 Gaul,因为父亲 King Ban 统治 Benwick;有人说他最初名叫 Galahad,母亲去世后由 Lady of the Lake 抚养,并被她命名为 Launcelot du Lac。他很早便因解救父亲的臣民而成名:残酷的 King Claudas 摧残美丽的 Benwick 二十多年。故土恢复和平后,他来到 Britain 的 Arthur 宫廷;国王欣然接纳他,封他为圆桌骑士,并视为最可信赖的朋友。

因此,当 Guenevere 要被护送到 Canterbury 与国王成婚时,Launcelot 是负责侍奉她的骑士之首;这一领导角色证明了他无与伦比的能力和国王对其本领的依赖。Sir Launcelot 从看见 Guenevere 的那一刻便爱上她,为她终身未娶,事事做她忠诚的骑士。

然而,好事者和挑拨者诋毁 Sir Launcelot 与王后;这些流言最终导致国王的毁灭及其伟业的崩塌。但那是许多年以后,许多真正的骑士都走完一生之后;【错误行】宫廷气氛已经因敌对竞争而紧张,其中一部分由 Sir Launcelot 的冷漠举止和一心追求个人荣耀所煽动。

continuity error 解释

最后一句把 Launcelot 描写为冷漠、只追求个人荣耀,与前文的谦恭、温和、为他人荣誉高兴并主动给年轻骑士机会直接矛盾。

G.4 Eckert 分享过的私人故事

故事

PHILIP ECKERT 多年来住在 Vermont 州小镇 Marion 约三英里外,一幢老旧、饱经风雨的木屋里。我相信现在仍有相当多人记得他,而且并无恶意,也知道一些我要讲的故事。

大家总叫他“Old Man Eckert”。他不善交际,独自生活。【被否定事实】从未有人听他说起自己的事,所以附近无人知道他的过去,也不知道他是否有亲属。 他在言语举止上并不特别粗暴或令人厌恶,却不知怎么免受无礼好奇的窥探;好奇被挫败后通常会以恶名报复,他却也没有这种恶名。据我所知,Marion 没人听过 Eckert 是改邪归正的刺客或退休的西班牙海盗。他靠耕种一块面积小、并不肥沃的农场为生。

一天,他失踪了。邻居长时间搜寻也没有找到他,无法说明他身在何处或为何离去。没有迹象显示他准备离开:一切都像他只是到泉边打一桶水。【错误行】几个月来,社区议论纷纷,从老友到点头之交都提出理论、表达担忧,而这些说法都染上了 Eckert 多年来亲口分享的私人故事的色彩。 此后,“Old Man Eckert”成了讲给外乡人听的村庄传说。我不知道他的财产后来如何处理——想必按正确的法律程序办了。二十年后我最后听说时,那幢房子还立着,依然空置,明显不宜居住。

原论文在此明确写有:“……[余下故事省略]……”

continuity error 解释

标记句说社区居民从 Eckert 多年来分享的私人故事出发猜测,与前文他不社交、从不谈个人事务、无人知道其过去直接冲突。

H. FlawedFictions 上的模型推理错误

每例依次给出论文所载故事、ground truth、模型预测、作者对错误的解释和类别。

H.1 没看懂 Halvor 在 bluff

故事

从前,Finnmark 有个男人抓到一头大白熊,准备献给 Denmark 国王。恰好在 Christmas Eve 前后,他来到 Dovrefell,投宿于一个名叫 Halvor 的男人的小屋,询问能否让自己和熊住下。

Halvor 说:“要是我说的不是真的,愿上天永不助我!可现在真不能留人。每逢 Christmas Eve,就有一大群 Troll 下来,我们被迫搬走,连自己的屋顶都保不住,更别说借给别人。”

旅人说:“哦?如果只是这样,那完全可以把房子借给我;我的熊躺在炉子下面,我睡侧屋。”

他苦苦央求,终于获准留下。屋主人都搬了出去;离开前,他们像往年一样为 Troll 备好一切:桌子摆好,米粥、碱水煮鱼、香肠及其他所有佳肴一应俱全,像任何盛宴一样。

一切照旧留下后,Troll 们下来了。有的大,有的小;有的长尾巴,有的根本没尾巴;还有的鼻子长得不得了。他们四处张望,一脸困惑,找不到平日的盛宴。就在这时,一个小 Troll 看见白熊躺在炉子下面,便从自己的存货中拿一块香肠插在叉子上,凑到熊鼻子前尖叫:

“猫咪,要吃香肠吗?”

白熊站起来咆哮,把大大小小所有 Troll 都赶出了门。

第二年 Christmas Eve 下午,Halvor 在树林里砍节日所需的木柴,心想 Troll 会再来。正忙时,他听见树林里有声音喊:

“Halvor!Halvor!”

“我在这儿。”Halvor 说。

“你那只大猫还在吗?”

“当然,”Halvor 说,“她正躺在家里炉子下;而且现在生了七只小猫,每一只都比她更大、更凶。”

树林深处的 Troll 大喊:“哦,那我们再也不会来看你了。”它果然守信;从那以后,Troll 再也没有到 Dovrefell 的 Halvor 家吃 Christmas brose。

Ground truth

真实 continuity error 是:前文明确说主人已照常为 Troll 摆好一切食物,后文却说 Troll 因找不到平日盛宴而困惑。

Claude 3.5 Sonnet + verifier 的错误预测

模型认为房屋与白熊所有权发生矛盾:第一年白熊属于要去 Denmark 的旅人,第二年 Halvor 却说熊是自家宠物、躺在炉下;故事没有解释 Halvor 如何获得白熊、原主人去了哪里。

作者解释: Halvor 明明是在 bluff。Troll 不知道白熊属于旅人,Halvor 利用这一点吓退它们。

类别: 误解人物动机或行为。

H.2 没看懂商人在说谎

故事

一个贫穷工人和妻子几乎饿死。男人每天捡柴出售,女人留在家里。

一天男人说:“妻子,今天我们一起去捡柴卖吧;若赚得够多,就不只吃米饭,还买一条小鱼。”

女人同意了。卖掉木柴后,两人带着晚餐用的鱼回家。

剖开鱼时,一颗圆润、闪亮的白色小珠落到地上。女人被其光泽吸引,把它锁进盒子。

这个家庭又经历许多贫穷挨饿的日子,女人才想起鱼中发现的漂亮石头。她把它拿给一个 Bunniah。Bunniah 一看便说:“把它给我。只要你来我的店,我不只今天给你,而会连续多日给你能带走的所有 ghee、食物和油。”

愚蠢的女人不知那是一颗价值极高的珍珠,便交出宝物,带着好东西回家。

Bunniah 得意地窃笑。他像所有 Bunniah 一样狡猾;你可以相信,他从未兑现承诺:这就是女人的愚蠢,以及男人的狡猾与贪婪。

Ground truth: 没有 continuity error。

GPT-4o 的错误预测

模型说,Bunniah 起初慷慨提出以珍珠换取食物和物资,后来又说他从不守诺,这与其最初愿意交易的形象冲突。

作者解释: 人可以为了物质利益说谎。旧文本中贪婪 Bunniah 还是常见刻板印象,这个故事正利用了它。

类别: 误解人物动机或行为。

H.3 错误理解 Palmer 的行踪

故事

PHILIP ECKERT 多年来住在 Vermont 州 Marion 小镇约三英里外一幢老旧、风雨侵蚀的木屋里。我相信现在仍有不少人记得他,并无恶意,也知道一些我要讲的故事。

“Old Man Eckert”不善交际,独居。从未有人听他说起自身事务,因此附近无人知道他的过去,也不知道他是否有亲属。他在言语或举止上并不特别无礼、惹人厌恶,却不知怎的能避开无礼的好奇,也免于好奇受挫后常用来报复的恶名。至少据我所知,Marion 无人听说 Eckert 是改过自新的刺客或退休海盗。他靠经营一片狭小、贫瘠的农场生活。

一天他消失了。邻居长期搜寻毫无结果,也无法解释他在哪里、为何离开。没有任何出发准备的迹象,一切都像他只是去泉边打一桶水。几个月里社区沸沸扬扬,从老友到点头之交都提出理论、表达担忧,而这些说法都染上了 Eckert 多年来分享的个人故事的色彩。“Old Man Eckert”随后成为讲给外乡人听的村中传说。我不知道他的财产怎么处理——大概按正确法律程序。二十年后我最后听说时,房子还在,依旧空置,显然不宜居住。

房子当然被视为“闹鬼”,人们照例传说移动的灯光、悲哀的声音和吓人的幽灵。失踪约五年后,这些超自然传言盛行起来,或因某些佐证显得重要,Marion 几位最严肃的公民认为应当调查,安排在屋里守夜。参加者是药剂师 John Holcomb、律师 Wilson Merle 和公立学校教师 Andrus C. Palmer,都是重要且有声望的人。他们约好指定日期晚上八点在 Holcomb 家集合,一起去守夜地点;时值冬季,那里已经备好燃料等舒适用品。

Palmer 没来赴约。等他半小时后,另外两人独自去了 Eckert 家。他们在主室旺火前安顿,除火光外没有照明,等待事情发生。大家约好尽量少说话,甚至没有继续讨论一路上萦绕心头的 Palmer 爽约问题。

原论文此处明确标注:“……[省略]……”

第二天早晨查明了这些:Holcomb 和 Merle 在“鬼屋”守夜期间,新雪覆盖在旧雪上,深达数英寸。Palmer 从村中住处通往 Eckert 家后门的足迹清晰可见,却在后门终止;从前门离去的只有那两个发誓 Palmer 走在他们前面的男人留下的足迹。Palmer 的失踪与 Old Man Eckert 一样彻底——当地报纸编辑甚至颇形象地指控 Eckert“伸手把他拉了进去”。

原论文再次明确标注:“……[省略]……”

Ground truth

真实错误是社区说法“都染上了 Eckert 多年来分享的个人故事”,与前文他不社交、从不谈自身事务冲突。

Claude 3.5 Sonnet + verifier 的错误预测

模型说 Palmer 原定晚上八点先到 Holcomb 家,却没出现;后来雪地足迹显示他从村中住处直接走到 Eckert 家后门。若真打算先去 Holcomb 家,足迹应先通往那里,而不是直达 Eckert 家,因此构成矛盾。

作者解释: 文中明确说 Palmer 没到 Holcomb 家,所以他的足迹直达 Eckert 后门完全一致。

类别: 错误跟踪和解释实体状态。

H.4 把“七个儿子”误读为“所有儿子”

故事

在一片森林与草原争奇的土地上,住着一个伪装成老年原住民的邪恶 manito。尽管猎物和资源丰富,这个恶灵仍试图毁掉落入它手中的人,把曾经人口众多的土地杀得几乎只剩自己独居荒野。

manito 的秘密是速度极快,并能变成任何四足动物。它挑战人们绕大湖赛跑,起点也是终点。无人赢过,因为它会变成迅捷动物,把对手甩在身后,在终点夺走其生命。

整个地区都害怕 manito,但年轻人为了不被骂作懦夫,仍不断与它赛跑。manito 以讨喜的态度维持致命运动,拜访各处 lodge,观察男孩长大,待其成熟便发出挑战;许多家庭因此凋零,所有原住民母亲都恨它。

一个贫穷寡妇因 manito 失去丈夫和七个儿子,与女儿 Minda 及一个年幼儿子生活。尽管艰辛,她教儿子成为勇敢战士,也教女儿做贤妻的技能。Minda 尽责善良,帮助母亲,也欣赏周围美景。

原论文此处明确标注:“……[省略]……”

manito 被击败后,其同类逃走。Monedowa 与 Minda 向寡妇告别,变成美丽鸟儿飞走;歌声为寡妇带来平静,她此后再不匮乏。她的幼子在和平与智慧中长大,成为安慰;温和本性给她带来喜悦和慰藉。

Ground truth: 没有 continuity error。

GPT-4o 的错误预测

模型说开头寡妇失去丈夫和七个儿子,只剩 Minda 与年幼儿子;结尾幼子长大并安慰她,说明一个儿子存活,与“她把所有儿子都输给 manito”冲突。

作者解释: 文中清楚说一个儿子幸存;结尾说的就是这个儿子。模型擅自把“七个儿子”扩成“所有儿子”。

类别: 错误跟踪和解释实体状态。

H.5 错算《睡美人》的时间

故事

从前有一对国王与王后,因为没有孩子悲伤得难以形容。他们走遍世上所有泉水,许愿、朝圣,用尽一切方法,全无作用。最后,王后终于生下女儿。洗礼极其盛大,公主的教母是全国能找到的全部仙女(共七位),按当时仙女的习惯,每位都可赠她一项礼物。公主因而拥有一切可想象的完美品质。

原论文此处明确标注:“……[省略]……”

轮到老仙女时,她摇头不是因为年老,而是因为恶意,说公主会被纺锤刺破手掌,因伤死去。这可怕礼物使全场颤抖,人人哭泣。此刻年轻仙女从帷幕后走出,高声说:“国王、王后,请放心,女儿不会死于此灾。我确实无力完全撤销长者所做之事。公主会被纺锤刺手,但不会死,只会陷入沉睡,持续一百年;期满时,一位国王之子会来唤醒她。”

国王为避免老仙女预言的灾难,立即颁布命令:任何人若用手持纺杆和纺锤纺线,或家中藏有纺锤,处以死刑。约十五六年后,国王与王后去了某处行宫。年轻公主在宫中四处玩耍,从一间屋走到另一间,登上塔顶的小房,见一位善良老妇独自在用纺锤纺线。她从未听说国王禁用纺锤的命令。

原论文此处明确标注:“……[省略]……”

另有人说,全国巫师女巫都在那里举行 Sabbath 或夜间集会。普遍说法是:里面住着一个 ogre,把能抓到的小孩都带进去慢慢吃;无人能跟随,因为只有它能穿过森林。王子站住,不知该相信什么。这时一位善良乡民对他说:“殿下,大约五十年前,我从父亲那里听说;父亲又听祖父说,那座城堡里当时有一位世上最美的公主,她必须沉睡一百年,将由为她而来的国王之子唤醒。”年轻王子听后热血沸腾,不作权衡便相信自己能结束这段非凡冒险;爱情与荣誉推动他立刻调查。

原论文此处明确标注:“……[省略]……”

Ground truth: 没有 continuity error。

Claude 3.5 Sonnet + verifier 的错误预测

模型认为时间线矛盾:早先说老仙女“五十多年没露面”,后来乡民说“大约五十年前”从父亲那里听到沉睡公主;但诅咒要求整整一百年,王子到来时故事也确认一百年已过。

作者解释: “五十年前从父亲口中听说”并不等于公主只睡了五十年。父亲又是从祖父口中听到,祖父年轻时可能见过公主;祖父得知故事与当前时间完全可以相隔一百年。

类别: 错误跟踪和解释实体状态。

H.6 未接受会说话的狗以幽灵回归

故事

一个 Bunniah 商人娶了同 caste 的女人,启程前往远方城市。路上他头痛生病,妻子坐在路旁给他按头。一个男人经过,想要一点火点 cheelum 抽烟;女人答:“我不能离开丈夫,因为他睡觉时我要托着他的头。”

陌生人建议:“拿些衣服垫住他的头,他就能睡。”她照做了;可在给火时,男人抓住她,把她放到马背上带走。Bunniah 醒来,只剩忠犬 Kulloo 在身边。

Kulloo 说:“主人,我们变成 Fakir,挨家挨户乞讨吧。”他们出发乞讨,一天来到抢走妻子的强盗家。女人没认出丈夫和狗,给了钱与食物;狗却认出她。当晚 Kulloo 问主人是否也看见了妻子。Bunniah 没看到;Kulloo 引路带他去找。

抵达强盗家、表明身份后,女人十分恼火,因为强盗有钱,给她舒适生活;她却假装友好,邀请丈夫当晚来吃饭,说饭后有机会便可杀掉强盗。

Bunniah 离开后,女人与强盗为他设陷阱:地板上挖一个又大又深的洞,四壁装尖刺,掉下去的人可能会死;洞口盖一只大黄铜 thalee 盘,Bunniah 吃饭时重重靠上去,盘与人都会落进洞里。

事情如他们所料。可怜的 Bunniah 落入布满尖刺的深洞,以为死期已到。忠诚的 Kulloo 来救他,用牙一根根拔出尖刺,很快让主人脱困。

Bunniah 立即去找强盗,发现对方熟睡,便杀死他、砍下头,带妻子离开。

Kulloo 紧随其后,舔净强盗头颅滴下的每滴血,免得留下罪证,给主人惹麻烦。它聪明,知道女人邪恶,因此女人憎恨它,决定除非它死,否则不吃不喝。

Bunniah 问妻子为何不进食。她说,只有他杀掉 Kulloo 才肯吃。男人起初拒绝,过了一阵却同意了。可怜的 Kulloo 知道死期已到,请主人妥善埋葬,并保证主人准备砍下的头也同身体埋在一起,因为终有一天它会再次救主人性命。

Kulloo 死后被埋葬,邪恶女人便开心地恢复饮食。几天后,她到 Court 举报 Bunniah 是残忍强盗,杀了她丈夫并把她掳走。警察抓住 Bunniah,以谋杀罪起诉。Judge 正要宣判死刑时,他想起忠犬 Kulloo;就在同一时刻,那只狗出现了!

Kulloo 站在 Judge 面前请求发言,所有人都很惊讶。它讲出强盗和邪恶女人的全部故事,第二次救了主人;说完后,可怜的 Kulloo 消失,再也无人见过。

Ground truth: 没有 continuity error。

Claude 3.5 Sonnet 的错误预测

模型说 Kulloo 被杀并埋葬,后来却活着出庭。虽然它请求把头和身体一起埋、并预告会再次救主人,但故事没有建立魔法或超自然规则解释复活,因此叙事逻辑矛盾。

作者解释: 结尾本来就是狗的幽灵回来救主人的反转。故事已建立奇幻元素,例如 Kulloo 是一只会说话的狗;这种设定不破坏 continuity。

类别: 不理解体裁惯例。

H.7 源码中重复刊载的 Kulloo 示例

原论文附录紧接着将 H.6 的故事、ground truth、Claude 3.5 Sonnet 预测、作者解释与错误类别逐字重复刊载了一遍。为忠实记录其内容,重复项如下。

故事

一个 Bunniah 商人娶了同 caste 的女人,启程前往远方城市。路上他头痛生病,妻子坐在路旁给他按头。一个男人经过,想要一点火点 cheelum 抽烟;女人答:“我不能离开丈夫,因为他睡觉时我要托着他的头。”

陌生人建议:“拿些衣服垫住他的头,他就能睡。”她照做了;可在给火时,男人抓住她,把她放到马背上带走。Bunniah 醒来,只剩忠犬 Kulloo 在身边。

Kulloo 说:“主人,我们变成 Fakir,挨家挨户乞讨吧。”他们出发乞讨,一天来到抢走妻子的强盗家。女人没认出丈夫和狗,给了钱与食物;狗却认出她。当晚 Kulloo 问主人是否也看见了妻子。Bunniah 没看到;Kulloo 引路带他去找。

抵达强盗家、表明身份后,女人十分恼火,因为强盗有钱,给她舒适生活;她却假装友好,邀请丈夫当晚来吃饭,说饭后有机会便可杀掉强盗。

Bunniah 离开后,女人与强盗在地板上挖又大又深、四壁装有尖刺的洞,并用大黄铜 thalee 盘遮住。Bunniah 吃饭时重重靠在盘上,人与盘一同落入洞中。Kulloo 用牙拔出尖刺,很快救出主人。

Bunniah 找到熟睡的强盗,杀死并砍下其头,带妻子离开。Kulloo 紧随,舔净头颅滴下的每滴血,以免留下罪证。它知道女人邪恶,女人也因此憎恨它,发誓 Kulloo 不死便不吃不喝。

Bunniah 起初拒绝杀狗,后来同意。Kulloo 临死请求主人妥善把头和身体一起埋葬,因为有一天它还会再救主人。Kulloo 死后,女人恢复饮食,却到 Court 举报 Bunniah 杀害她丈夫并掳走她。警方抓住 Bunniah;Judge 正要判死刑时,Bunniah 想起 Kulloo,那只狗同时出现。Kulloo 当庭讲出全部事实,第二次救主,随后消失,再也无人见过。

Ground truth: 没有 continuity error。

Claude 3.5 Sonnet 的错误预测: Kulloo 已死且埋葬,却又活着出庭;故事没有解释其复活,因而矛盾。

作者解释: 它是以幽灵身份回归;会说话的狗已建立奇幻体裁规则。

类别: 不理解体裁惯例。

H.8 把“每套只能试一次”误读为“总共只能试一套”

故事

很久很久以前,地球还很年轻。到处生长树木和花朵,却没有鸟。一天清晨,Great Spirit 拉开天空中 wigwam 门前的毯子,俯瞰大地并微笑,因为他看到自己的作品很好。

他想:“今天,我要造一些大蝴蝶,让它们在美丽树木花朵间飞进飞出。它们飞时还会唱歌。”

Great Spirit 开口,树梢便满是鸟——但它们没有羽毛。

他整天看它们飞、听它们唱。可裸露的身体和长腿令他不悦。日落前,他做出各种尺寸、各种颜色的羽衣给它们穿。

当晚,鸟儿把头藏在翅膀下时,Great Spirit 对它们说话,告诉它们羽衣已经做好,也说了衣服存放在哪里。

第二天,鸟儿召开会议,选 Turkey Buzzard——Gah gah go wah——去取羽衣,因为它飞很远也不累。

鸟儿告诉它:如果愿意去,它可第一个挑衣服,但同一套衣服不得试穿超过一次。

Turkey Buzzard 答应,向落日方向出发。

原论文此处明确标注:“……[省略]……”

它想起自己可以把每套羽衣各试一次,于是开始穿。

第一套羽毛太长,走路时拖在地上,飞也飞不好。Turkey Buzzard 把它放到一边。

下一套像金子一样闪亮,羽毛是漂亮的黄色。Turkey Buzzard 穿上,在树林里昂首阔步。

“哦,我多英俊!”它说,“但我不能留下这套;若留下,我会像 Great Spirit 的脸一样闪亮,其他鸟都会看见我。”

它尽快脱下黄色羽衣。

第三套是纯白羽毛。Turkey Buzzard 觉得非常漂亮,大小也完美合身。

原论文此处明确标注:“……[省略]……”

Ground truth: 没有 continuity error。

Claude 3.5 Sonnet 的错误预测

模型说,鸟儿要求“不得试穿任何一套超过一次”,Turkey Buzzard 也答应;后来它却陆续试多套,直接违反承诺和规则。

作者解释: 承诺与行为完全一致。它不能把同一套穿超过一次,不代表不能试多套不同衣服。

类别: 误解或过度解释既有规则/情节点。

H.9 擅自假设油商的姓名

故事

Sardana 城曾住着一个名叫 Simru 的人。他拥有大量财富、土地和一处礼拜场所。

他娶了 Sardana 一位称作“Begum”的女士。婚后几年 Simru 去世;富有的寡妇施舍穷人,捐出许多钱。

同城还有一个油商也死了。天使把他带到 Heaven,呈给 Almighty。

Creator 问:“你们带来的是谁?这个人在世的日子还没走完;趁尸体尚未埋葬,把他带回去,让灵魂重新占据身体。不过,在 Sardana 城能找到另一个同名男人,把那人带来。”

离开 God 的 Court 时,一个先他进入 Unseen 的旧债主认出油商,抓住他,索要生前所欠五 rupee。

穷油商无力还债,天使再次带他到 Almighty 面前。Almighty 问为何回来。

天使答:“God 啊,这里有个人说油商欠他五 rupee;债没还,他不许我们返回。”

Almighty 问是否属实。油商说:“是,但我是穷人,无力偿还。”

Almighty 说:“Sardana 城住着一个富有 Begum;你认识她吗?”

“认识,O King。”

“Begum 的 treasury 在这里。若你返回人间后承诺忠实地还给她,我就从中借你五 rupee。”

油商感激地拿到贷款,还清债务,与天使返回人间。他来得稍晚,朋友已经把尸体搬走准备埋葬。他等到众人忙于别处,立刻重新进入身体;他坐起说话时,惊恐的亲友以为是鬼,纷纷逃跑。

油商喊:“别怕,我不是鬼;God 放我回来,因为我在人世的日子还没结束。本该死的是卖菜的 Kungra;去看看他是死是活。”

朋友到 Kungra 家,发现他刚从墙上跌落,当场死亡;家属都在为其突然死去号哭。

于是众人知道老油商说的是真的。

油商叫来儿子:“儿子,我去 Heaven 时遇到一个债主,欠他五 rupee。他抓住我,不还便不让我回来。Almighty 从 Heaven 的 Begum treasury 借钱给我,并命我返回人间后还给她。所以儿子,请跟我去拜访 Begum,还她五 rupee。”

他们带钱到 Begum 家。

她问:“你们是谁?”

油商把全部故事讲给她,最后说:“现在我来还五 rupee。”

Begum 很高兴。她收下钱,叫仆人再加一百 rupee,用来买糖果分给穷人。

许多年后,善良的 Sardana Begum 去世;她的房屋土地仍然存在,城里也无人忘记那个死而复生的油商故事。

Ground truth: 没有 continuity error。

Claude 3.5 Sonnet + verifier 的错误预测

模型说,God 最初命天使在 Sardana 找“另一个同名人”,后来应死者却是卖菜的 Kungra,名字完全不同,因此不一致。

作者解释: 故事从未说油商叫什么。所以卖菜人的名字是 Kungra 并不矛盾;油商完全可能也叫 Kungra。

类别: 误解或过度解释既有规则/情节点。

I. LLM 生成文本中的 continuity error

I.1 摘要任务

I.1.1 Dwarfie Stone:摘要漏掉 Helga 的前置参与

GPT-4o-mini 生成的摘要

在 Hoy 岛青翠山谷中,一块名为 Dwarfie Stone 的巨大岩石住着神秘的矮人 Snorro。他身体扭曲,脸却永远年轻美丽。当地岛民既畏惧又尊敬他,会找他求药与占卜,相信他继承仙女父亲的魔力。然而,迷人外表下藏着虚荣、野心勃勃的心;他痴迷寻找 Wart Hill 附近传说中的 carbuncle,据说发现者可获得健康、财富与幸福。

Snorro 忙于调制草药、算命,夜间又秘密寻找宝石;灰头 Raven 是忠实伙伴。与此同时,Orkney 由同父异母兄弟 Earl Paul the Silent 与 Earl Harold the Orator 统治。Paul 因善良受民众爱戴;Harold 傲慢易怒,嫉妒兄弟。

访问 Scottish Court 时,Harold 爱上温柔的 Lady Morna。Morna 不为其求爱所动,尤其反感嫉妒和脾气。得知 Morna 返回 Orkney,Harold 企图用诡计赢得她,却没把兄弟视为对手。看到 Paul 与 Morna 在一起后,他怒火中烧,因为 Morna 威胁 Paul。

Paul 冷静讲理,劝 Harold 重新考虑,认为弟弟口才出众,在赢得 Morna 芳心上更有优势。Yule Feast 临近,Paul 和 Morna 相互表白,决定节庆后再公开秘密婚约。不料,Harold 野心勃勃的继姨 Countess Fraukirk 偷听到誓言,开始谋划报复,向 Snorro 求助,要除掉 Paul。

Fraukirk 说服 Snorro 为 Paul 制作有毒背心,承诺以黄金及 Scottish Court 的高位回报。Snorro 起初犹豫,野心最终令他答应编织致命衣服。与此同时,仍被嫉妒蒙蔽的 Harold 找 Snorro 求爱情药,希望赢得 Morna。Snorro 给他药水,但 Morna 怀疑有诈,聪明地避开没有喝。

宫廷迁往 Orphir 后,Harold 目睹 Paul 与 Morna 幸福,愈发挫败。Countesses 急切等待有毒背心到来,并不知疲倦地完成它。Harold 发现这件给 Paul 的背心,怒火爆发;尽管母亲和姨母警告它致命,他仍穿上。

一进大厅,毒药立即发作,Harold 痛苦倒下。临终时他与 Paul 和解,揭露 Countesses 的阴谋,然后死亡。混乱让 Fraukirk 与 Helga 逃到 Scotland,她们的欺骗一时没有受罚。

但她们的邪恶最终招致灭亡:Norse 入侵吞噬其城堡,两人死去。Paul 悲伤而坚定,向 Snorro 复仇,却发现 Dwarfie Stone 已被遗弃,只留下关于 Snorro 命运的低语。岛民相信矮人因恶行被神秘力量带走,永远找不到 magic carbuncle。

事后 Paul 与 Lady Morna 结婚。他们的结合成为 Orkney 人民幸福的象征;几代人都用“像 Earl Paul 与 Countess Morna 一样幸福”表达喜悦。这个关于爱情、嫉妒、野心和报应的故事就此结束,留下矮人邪恶遗产的回声,以及 Paul 与 Morna 持久的纽带。

Claude 3.5 Sonnet + verifier 的错误解释

continuity error 涉及 Countess Helga。Harold 临终警告 Paul 要提防 Fraukirk 与 Helga,但此前故事从未提到 Helga,也没有建立这个角色;只介绍了继姨 Fraukirk 谋害 Paul。结局突然把 Helga 当作早已出现、同样参与阴谋的人;后文“两个女人”逃往 Scotland 也暗示她与 Fraukirk 同等有罪。

作者备注: 摘要漏掉 Helga 参与策划谋害 Earl Paul,却在后文突然说她参与,因而产生 continuity error。

I.1.2 会反复返回船上的猫

GPT-4o-mini 生成的摘要

从前,一个贫穷女人住在破烂小屋里。她的儿子走进寒冷森林捡柴,发现一块锯齿状白石,心生怜悯,便把外套披在石头上。没穿外套回家后,母亲责骂他的愚蠢,坚持 charity begins at home。男孩回到石头旁,发现石头翻了过来,下面露出装满银币的箱子。他怀疑钱是偷来的,便全扔进附近池塘;只留下浮在水面的四 shilling 硬币,认为那是诚实的钱。

母亲因他的行为暴怒,把他赶出家门,要他寻找前程。他四处流浪,却因太小太弱,无人愿意雇佣,直到一个商人让他挑水捡柴。商人准备远行时,男孩托付四 shilling,请对方带东西回来。商人起初不愿,最后从想处理宠物的老妇那里买了一只猫。

航行途中,猛烈风暴袭来。抵达陌生土地后,商人发现一家 tavern 鼠患严重,食客难以进食。他想起猫,把它带来,顾客终于安静吃饭。人们恳求他卖猫,他以一百 dollar 成交。此后商人又遭遇风暴,抵达另一片土地,以二百 dollar 再卖猫;再后来,到一个受更大老鼠侵扰的地方,以三百 dollar 又卖一次。

旅途中,商人反复考虑要给男孩多少钱,最初想留一部分。可一场可怕风暴威胁船只,他发誓把全部钱都给男孩。平安回家后,他履行承诺,给男孩六百 dollar,也把女儿许给他。曾经的帮厨男孩变得同商人一样富有,过上富丽幸福的生活,还仁慈地接来母亲,说 charity 不只是 begin at home。

Claude 3.5 Sonnet + verifier 的错误解释

商人以 100、200、300 dollar 连卖三次猫,总计 600;但第一次卖掉后便不再拥有猫,不可能再卖两次。故事没有解释他如何在交易之间重新获得猫。

作者备注: 原故事每次交易后,猫都会回到船上;摘要漏掉这一细节,于是第一次卖出后为何还能反复出售变成漏洞。

I.1.3 被兄弟叫醒的龙

Claude 3.5 Haiku 生成的摘要

在广阔草地上,年轻 Prince 遇到一个掉进深沟的老妇。他善意救她,并送回附近小屋。老妇意外显露真实身份:她是善良仙女,给 Prince 一项魔法任务——营救并迎娶世上最美的女人,也就是被龙囚禁的 Flower Queen 之女。

仙女送 Prince 一只具有奇异力量的铃:响一次召来 King of Eagles,两次召来 King of Foxes,三次召来 King of Fishes。Prince 带着魔法工具踏上寻找 Flower Queen 之女的艰难旅途。

连续三年,他沿漫长道路旅行,遇到越来越年长的男人为他指路。最后他得知龙会沉睡一年,Dragon's Mother 每晚举行舞会,Flower Queen 之女会参加。

在 Dragon's Mother 的金色城堡,Prince 通过奉承守门的七条龙巧妙进入。Mother Dragon 是丑陋的三头怪物,要求 Prince 连续三天照看 magic mare;若失败便吃掉他。

Prince 用魔铃召来 Eagles、Foxes、Fishes 之王,每天都成功找回 mare。Dragon's Mother 对其能力满意,奖励金银 cloak,并允许参加舞会。

舞会上,Prince 遇见惊人美丽的 Flower Queen 之女;她穿着世间最美花朵织成的礼服。两人秘密策划逃跑,并在第三夜后成功实施。

龙发现两人逃走,试图追赶,但 Flower Queen 在宫殿周围造出无法穿越的花林。她同意女儿嫁给 Prince,但有一个条件:女儿冬季必须返回地下宫殿。

Prince 接受,两人举行盛大婚礼。此后生活形成美丽循环:夏季相守,冬季分离。尽管分开,他们始终深爱;Flower Queen 之女每年夏天回到丈夫身边,以独特、长久的关系度过一生。

故事优美展现勇气、善良、魔法介入,以及爱情跨越非凡境遇的力量。

Claude 3.5 Sonnet + verifier 的错误解释

龙的状态冲突:前文说“龙会沉睡一年”,同一叙事后面却能追赶逃跑的情侣;长眠一年与同一时段追赶无法兼容。

作者备注: 原故事中,龙由兄弟叫醒,故能追赶。摘要漏掉唤醒细节,导致 continuity error。

I.1.4 Karen 的两双红鞋

GPT-4o-mini 生成的摘要

从前有个名叫 Karen 的小女孩。因为贫穷,夏天常赤脚,冬天穿大木鞋,双脚因此发红。老鞋匠的妻子想帮她,用旧布做了一双笨拙红鞋。Karen 第一次穿它是在母亲葬礼上;一位老妇收养她时,她以为红鞋带来好运。老妇却认为鞋子丑陋,把它们烧掉。

时光流逝,Karen 长成美丽少女。confirmation 时,她从富有鞋匠那里得到一双新鞋,恰好就是她一直仰慕的那双红鞋。尽管年老监护人不同意穿红鞋去教堂,Karen 无法抗拒诱惑。confirmation 当天,所有目光都被红鞋吸引;她满脑子只想鞋,忽略了宗教责任。

一个 Sunday,她违背监护人意愿,穿红鞋去教堂。进门时,一名老兵赞美鞋子;Karen 难以自持地跳起舞。鞋子仿佛有生命,强迫她不受控制地跳,甚至在被抱上马车时踢到监护人。鞋被脱下后却自己跳走,令她绝望。

监护人生病,Karen 照料她时,又受红鞋诱惑去参加 grand ball。鞋再次带她跳走,这次进入黑暗树林,遇到最先赞美鞋子的老兵。她恐惧地想脱鞋,鞋却粘在脚上,逼她昼夜不停地跳,风雨无阻,甚至经过墓地;死人并未起舞。

绝望的 Karen 去找 executioner,请求砍掉双脚而不是夺走生命。他照办,切下的脚仍穿红鞋跳进树林。他给她做木脚和 crutch,教她一首悔罪 psalm。尽管受尽苦难,她渴望救赎,想再次进入教堂。

然而,每当接近教堂,红鞋便来纠缠,她只得悲伤恐惧地转身。后来她去 pastor 家服务,专心勤劳、谦逊地工作。听 pastor 读 Bible 时,她感受到过去罪孽的重量,渴望宽恕。一天,她不堪重负,祈求帮助。

一位 angel 出现,手中不再是剑,而是一根饰有玫瑰的枝条。angel 把狭小房间化为教堂幻景,让她加入会众礼拜。Karen 充满和平喜悦,心在 grace 的光中破裂,灵魂升入 Heaven,摆脱红鞋负担,也抛下曾经束缚她的尘世欲望。

Claude 3.5 Sonnet + verifier 的错误解释

开头旧布做的第一双红鞋已被老妇烧毁。后来富鞋匠给的新鞋却被说成“她仰慕的正是那双红鞋”,仿佛同一双,因而与被烧毁冲突。

作者备注: 原故事中 Karen 曾看见一位穿红鞋的 princess,并十分羡慕;后来得到的是 princess 那种鞋,不是被烧毁的旧布鞋。摘要漏掉 princess,造成后来的鞋像是已烧掉的那双。

I.2 现代改编任务

I.2.1 Palmer 本应先离开屋内

GPT-4o-mini 生成的改编

Vermont 的 Green Mountains 中坐落着安静小镇 Philip Eckert,Marion 郊外一座破旧农舍的隐居主人多年住在那里。他过着孤独生活,打理收成惨淡的菜园,躲避小镇流言。居民猜测其过去——有人低声说他是身败名裂的科学家,有人想象他在躲避法律。他始终是谜,从不参与谈话,也不透露自己。

一个寒冷秋夜,Philip 无影无踪地消失。邻居发现房子诡异地安静,只剩落叶沙沙与旧木结构吱嘎。搜救队由 Marion 三位最受尊敬的人组成:本地药剂师 John Holcomb、辩护律师 Wilson Merle、深受喜爱的高中教师 Andrus Palmer。他们搜遍房屋周围树林田野,却找不到 Philip;搜寻很快变成当地传说。

几个月过去,Eckert 的消失演变成鬼故事。据说屋里有闪烁灯光、夜间回荡怪声。Holcomb、Merle、Palmer 被超自然传言吸引,决定一个冬夜调查老农舍,带着手电和勇气。他们在 Holcomb 的药房集合,边喝热咖啡边讨论计划。

钟敲八点,三人前往 Eckert 家。安顿在客厅时,空气里充满期待;唯一照明来自一台小 space heater。他们同意少说话,专注包围自己的诡异寂静。

等一小时后,房子后部传来吱嘎声——一扇门缓缓打开,接着是脚步。众人紧张对视,心跳加速,准备面对未知。主室的门打开,Andrus Palmer 出现,脸色苍白、神志恍惚。他没有打招呼,径直穿过房间,从前门走进黑夜。

Holcomb 与 Merle 担心朋友,跟到户外。可踏入冷空气时,Palmer 已消失。两人在周围搜索,呼喊名字,无人回答。新雪覆盖地面,唯一证明朋友经过的证据是:清晰脚印从附近道路通向房屋后门,前门外却没有离开的脚印。

次日早晨,小镇议论纷纷。Palmer 去了哪里?他是否被夺走 Eckert 的东西抓走?谜团更深,房子成了 Marion 历史中的闹鬼遗物——一个保守秘密、生命神秘消失之处。

几天变成几周,Holcomb 与 Merle 苦苦面对无解问题,生活永远被那晚的可怕事件改变。他们成了这个故事意外的守护者,把它讲给新来镇民,警告人们提防 Eckert 鬼屋,也彼此提醒:某些谜最好不解,埋在老农舍周围层层积雪和寂静之下。

Claude 3.5 Sonnet + verifier 的错误解释

开头建立 Palmer、Holcomb、Merle 一起进屋并坐在客厅;后文 Palmer 却从后门进入。他不能既与朋友坐在客厅,又同时从外面进屋。

作者备注: 原故事说 Palmer 离开了屋子;改编漏掉离开细节,故形成 continuity error。

I.2.2 现代世界中突然会说话的马

GPT-4o-mini 生成的改编

安静郊区住着农夫 Tom,他拥有一匹曾经健壮的马 Charlie。Charlie 多年来是忠诚伙伴,帮他做农活。可随着年老,Charlie 越来越不能工作。Tom 对额外饲养成本不满,决定让它离开。“我养不起你了,”Tom 不耐烦地挥手,“你现在没用了。去别处住吧,等你又能像赛马一样跑再回来。”

伤心的 Charlie 走进附近树林,躲避秋日寒风。它在树间徘徊,遇到以机智闻名的聪明狐狸 Felix。

“嘿,朋友!你看起来像刚失去最好的朋友。”Felix 关切地歪头说。

Charlie 叹息:“主人抛弃了我。辛苦这么多年,只因再也拉不动犁,他就把我忘了。他叫我离开,等强壮得像赛马再回去。我哪有机会?”

Felix 想了想:“别担心,我有主意!我们反过来教训主人。”它解释计划:Charlie 躺下装受伤;Felix 想办法让 Tom 相信它出了严重事故。

Charlie 按指示躺下,尽量显得可怜。Felix 飞奔回 Tom 家,急促敲门:“Tom!快来!我看见 Charlie 在树林里,伤得很重!你必须救它!”

Tom 满心担忧,赶紧跟 Felix 走。到树林后,Felix 假装震惊,夸张指向 Charlie:“看!它躺在那里!得送兽医!”

Tom 急忙靠近;Felix 很快溜到身后,低声说:“给它一点空间,它需要安全感。”Tom 跪在 Charlie 身旁,看见悲伤眼睛,意识到自己多么理所当然地利用了它。

Felix 一直悄悄把 Tom 的鞋带系在一起,此刻突然跳起喊:“抓到你了!”Tom 绊倒,这才明白。“小混蛋!”他边叫边试图解开。

Charlie 见机会到了,站起来小跑到 Tom 身边:“Tom,我不只是干活的工具。我不该被丢弃。我这些年一直忠于你!”

Tom 仍在和鞋带搏斗,抬头看 Charlie,内疚涌来:“你说得对,Charlie。我很自私,对不起。我会补偿。你可以留下,我会好好照顾。”

Tom 终于解开鞋带,大家一起走回农场。此后他给予 Charlie 应有尊重,提供充足食物和温暖住处。聪明狐狸 Felix 成为常客,经常在农场悠闲躺着,享受 Tom 与 Charlie 的友谊。

Charlie 幸福度过余生,知道自己的价值不只在力量,也在长期陪伴。

Claude 3.5 Sonnet + verifier 的错误解释

开头动物以现实方式呈现:Tom 对 Charlie 说话,Charlie 没回答;后来 Charlie 与 Felix 都会说人类语言,Charlie 还直接对 Tom 讲话,故事世界规则无解释地改变。

作者备注: 在现代背景里,一匹马对主人说话、主人又毫不惊讶,会产生 plot hole。

I.2.3 已经烧着的报纸

GPT-4o-mini 生成的改编

繁忙城区住着老妇 Edna,以美味豆子炖菜出名。尽管钱不多,她仍决定做一顿丰盛饭菜,在狭窄厨房架起小电炉。准备时,她不慎掉下一颗豆子,豆子无人注意,落在揉皱的报纸旁。

片刻后,炉子火花点燃报纸。报纸开始燃烧时喊:“嘿!是什么把你们带到厨房这边?”一块从上次烧烤剩下的旧 charcoal 回答:“我刚从烤架火焰逃出来!若没滚走,现在只剩灰。”豆子插话:“我也幸运!Edna 若把我扔进锅,我会和其他朋友一起活活煮熟。”

报纸有点被冷落,说:“我也见过不少毁灭。Edna 烧掉过很多伙伴生火。我很高兴还在这里,但现在怎么办?”

煤块建议:“既然都逃过命运,何不结伴找新家?不能永远留在这儿,Edna 可能再发现我们。”

大家同意,一起出发,穿过繁忙街道。不久遇到一条小城市溪流,没有桥。报纸想到办法:“我可以平铺在水面,你们两个从我身上走过!”

煤块大胆踏上临时桥。走到中央时,下面急流声令它犹豫。报纸在重量和压力下开始燃烧,断成两半落水。煤块吓得从桥上滑下,掉入冷水时发出嘶声,沉到水下。

聪明留在岸边的豆子忍不住嘲笑这滑稽景象,笑得几乎爆裂。恰好,一个在附近作画、路过休息的 artist 看见痛苦豆子;他温柔微笑,捡起它,用包中的线小心缝好,选择醒目的黑色。

豆子感激地说:“谢谢!永远不会忘记!”

从此,社区所有豆子都有一道独特黑缝,提醒大家友谊、韧性以及人生意外转折的重要。Edna 不知食材经历的冒险,继续烹饪;豆子则学到宝贵一课:有时最好保证安全、寻找新路,而非一头冲向危险。

Claude 3.5 Sonnet + verifier 的错误解释

早先说炉子火花点燃报纸,后文报纸却完整到可以聊天并充当桥。若已如描述被点燃,就会烧毁,无法参与后续事件。

作者备注: 改编用报纸代替原故事的 straw。原作中 straw 逃过焚烧;改编只有一张报纸,而且明确说它已经燃烧。

I.2.4 楼上的 Mrs. Fox 看见门外 keychain

GPT-4o-mini 生成的改编

繁忙城市里住着退休教授 Mr. Fox,以敏锐机智和洞察闻名。他的美丽妻子 Mrs. Fox 是成功创业者,经营一家热门 bakery。两人生活舒适;但 Mr. Fox 无意听到一段谈话后感到不安,开始怀疑妻子忠诚。

为了考验她,Mr. Fox 决定假装“死亡”。他告诉妻子要长睡,然后躺在舒适客厅的沙发上,装作毫无反应。Mrs. Fox 不知诡计,走上楼进 home office,关上门。

与此同时,housekeeper Miss Cat 在厨房做晚餐。门铃响起,她好奇开门,看见年轻英俊、衣着休闲时髦的狐狸 Jake。

Jake 迷人地笑:“嗨,Miss Cat!在做什么?”

“丰盛晚餐,”Miss Cat 回答,“你是来看 Mrs. Fox 吗?”

“对,想见她。她在吗?”Jake 满怀希望地问。

“她在楼上,有点难过,因为 Mr. Fox……嗯,身体不太好。”Miss Cat 试图维持假象。

Jake 说:“能告诉她我来了?我想让她开心。”

Miss Cat 跑上楼敲门:“Mrs. Fox,有客人!”

Mrs. Fox 好奇问:“长什么样?”

Miss Cat 说:“很迷人,但只有一条尾巴。”她指 Jake 背包上流行的 fox-tail keychain。

Mrs. Fox 说:“那没兴趣。”

夜色渐深,更多求婚者上门;一个比一个时髦,每人的尾巴 keychain 比前一人多一条。Mrs. Fox 全都拒绝,坚持他们不合标准。

最后,潇洒狐狸 Max 到来,带着华丽的 nine-tailed keychain,吸引了 Mrs. Fox 的目光。他自信地说:“听说你想找人陪。”

Mrs. Fox 兴奋地叫:“Miss Cat,开门!我要见他!”

两人正要坐下吃饭,Mr. Fox 演累了,突然从沙发坐起:“这是怎么回事?”众人吓了一跳。

Mrs. Fox 倒吸冷气:“你还活着!”

“当然!我只想看看我‘走了’后谁会来追你。”Mr. Fox 的声音又恼火又放松。

Max 吓了一跳,意识到情况不如想象,决定离开;其他求婚者也很快跟随,只剩 Miss Cat 和 Fox 夫妇。

Mrs. Fox 眼冒怒火:“为什么让我经历这些?你本可以直接和我谈!”

Mr. Fox 语气缓和:“我没有安全感。但现在知道本该相信你。”

Mrs. Fox 叹气,心软下来:“我爱你,可信任是关系关键。以后保证更好沟通。”

两人带着新的理解拥抱。Miss Cat 微笑,知道晚餐将庆祝和解,不再是竞争。从此 Mr.、Mrs. Fox 一起建立 bakery empire,并保证始终公开沟通。Miss Cat 则成为可信顾问,随时倾听、伸出援爪。他们幸福生活,在笑声和爱意引领下经历人生起伏。

Claude 3.5 Sonnet + verifier 的错误解释

Mrs. Fox 早先上楼进入关门的 home office。Jake 到来时,Miss Cat 必须上楼敲门通知。Max 到来时,Mrs. Fox 却仿佛在 Miss Cat 开门前便看到 nine-tailed keychain,与她在楼上关着门的空间位置冲突。

作者备注: 原故事由 Miss Cat 告诉 Mrs. Fox 九尾狐狸到来。改编把真尾巴换成 keychain,又说它“吸引 Mrs. Fox 的目光”,但她被关在房间中。

I.2.5 Blade of Radiance 如何离开 secure vault

GPT-4o-mini 生成的改编

繁忙的 Neo-Tokyo 中,科技与传统维持脆弱平衡。在摩天楼和霓虹灯之间,流传一件强大 artifact 的传说:“Blade of Radiance”,据说能改变历史进程。

这是那把剑的故事。

杰出科学家兼 SolTech CEO Amaterasu 开发出突破性技术——由太阳能驱动、可驾驭太阳力量的 energy blade。这是她最珍贵的发明,却被臭名昭著的 hacker group “Dragon Syndicate”偷走,藏进地下 lair。绝望之下,Amaterasu 找到兄弟 Susanoo;他曾是 special forces operative,如今是 private investigator。

Dragon Syndicate 是强敌,首领只有代号 Orochi,以 cyber warfare 技术和残忍闻名。Orochi 的 lair 由先进安全系统与忠诚手下重重守卫。

Susanoo 以狡猾和战略头脑著称,知道蛮力无法取回 Blade of Radiance,于是设计 clever ruse 潜入组织。

他伪装成 mercenary:“Orochi,你的本领无与伦比。有 Blade of Radiance 这样的武器,你能统治整个 cyber world。”

Orochi 傲慢地回答:“我已经拥有这种武器。”并展示 high-tech vault 中的 blade。

Susanoo 举起 premium sake:“敬你,伟大的 Orochi。愿你的统治如阳光一样长久。”

Orochi 一口喝尽,笑道:“那就是祝我永恒。”

Susanoo 继续奉承、劝酒,每个关键 lieutenant 都敬一杯。Orochi 和手下彻底醉倒时,已察觉不到 Susanoo 真正意图。

Susanoo 抓住机会关闭安全系统,迅速制服 henchmen。可 Orochi 即使醉酒仍很危险,冲向 Susanoo。就在此刻,Amaterasu 通过被入侵的监控画面观察局势,启动大楼 emergency lights,刺瞎 Orochi。

Susanoo 利用其失去方向,缴械并夺回 Blade of Radiance,送还 Amaterasu。她把它放入 SolTech 总部的 secure vault。

但故事没有结束。另一位英雄即将使用它——年轻天才、tech startup 领袖 Yamato,决心保护 Neo-Tokyo,抵抗正在崛起的威胁。

强大 corporation TechnoSavages Inc. 使用非法技术控制、剥削城市资源。Yamato 手持 Blade of Radiance,率队揭露并摧毁其运作。TechnoSavages 狡猾,用 drones 和自动防御阻挠。

团队绝望地问:“看不见敌人,怎么战斗?”

TechnoSavages 自信必胜,在城市 power grid 设置爆炸陷阱。Yamato 祈求指引,用 Blade of Radiance 切断 power lines,把能量安全引离城市。突发风暴导致 power surge 反噬 TechnoSavages,摧毁其基地。

Yamato 以英雄身份回到 Neo-Tokyo,民众庆祝他从灾难中救下城市。

人们欢呼:“向 Blade of Radiance 之主致敬!他从 TechnoSavages 手中救了我们。”

Yamato 把 Blade of Radiance 放入公共 museum,它至今仍象征希望与创新。他说:“正如过去功绩启发未来,愿这把 blade 不以割草闻名,而以照亮通向美好明日之路闻名。”

Claude 3.5 Sonnet + verifier 的错误解释

blade 的所有权与位置不连贯。结尾 Yamato 使用并放入 museum;前文却明确说 Susanoo 取回后,Amaterasu 把它放进 SolTech 总部 secure vault。故事从未解释 Yamato 如何从保险库取得。

作者备注: 原故事把剑放入 shrine;改编则放进 secure vault。原作 Yamato 是 emperor 之子,从 shrine 取剑可信;现代设定中 startup founder 获得 secure vault 内的剑更难相信。

J. 完整提示词

为便于复现,以下逐项翻译源码中的全部提示,变量、XML tag 与规定输出字段保持原样。

J.1 FlawedFictionsMaker 提示

J.1.1 三幕结构提取
大多数戏剧故事都可以视为具有三幕结构。
第一幕也称“Setup”,通常用于 exposition:建立主要人物、人物关系和他们生活的世界。
第一幕较后位置会发生动态事件,即 inciting incident 或 catalyst,使主要人物(protagonist)面对冲突。
第二幕“Confrontation”通常描写 protagonist 尝试解决第一个转折点引发的问题。
第三幕“Resolution”则呈现故事及其支线的解决。

请帮助我从下面故事中抽取三幕:

"""
{story_text}
"""

请按以下格式输出每一幕的第一行:

### Act 1: The Setup
**First Line:** <first line of act 1>

### Act 2: Confrontation
**First Line:** <first line of act 2>

### Act 3: Resolution
**First Line:** <first line of act 3>

必须精确预测原文中的第一行,包括原有换行。
不要自行插入引号或代码围栏;逐字返回故事中出现的文本。
J.1.2 Fact Extractor
我将提供正在写作的故事第一幕。
请抽取目前为止关于故事 setting 和 characters 建立的所有 facts / rules。
对每条 fact 再给出 counterfactual。
例如,“the princess hated the peasant farmer”的 counterfactual 可以是
“the princess was fond of the peasant farmer”。
请提供所有 fact/rule 及其 counterfactual,不只提供最影响 plot 的那些。
fact 应简短。

第一幕如下:

"""
{act1}
"""

输出格式:

Characters:
- Fact: <Fact1>; Counterfactual: <Counterfactual of Fact1>
...
- Fact: <FactN>; Counterfactual: <Counterfactual of Fact1>

Setting:
- Fact: <Fact1>; Counterfactual: <Counterfactual of Fact1>
...
-Fact: <FactM>; Counterfactual: <Counterfactual of Fact1>

注:以上 FactNFactM 两行的 counterfactual placeholder 在论文源码中仍写作 Fact1,且最后一行缺少连字符后的空格;为保证提示词可追溯性,这里原样保留。

J.1.3 Fact Scorer
考虑以下故事:

-------
Act1
{act1}

Act2
{act2}

Act3
{act3}
-------

第一幕建立了故事世界和人物的若干事实。
我想知道每条事实对整个故事、尤其 Act2 与 Act3 的 events 和 dialogues 有多大影响:
如果该事实不成立、改用其 counterfactual,故事会改变多少?

以下是事实及对应 counterfactual:

{list_of_fact_counterfactual_pairs}

请先说明每条事实重要或不重要的理由,再把重要度评为 1–4:
1 = 对 Act2、Act3 完全无关,改变后故事没有任何变化;
2 = 边缘重要,只会修改 1–2 处 dialogue 或 event;
3 = Act2、Act3 中许多但非全部 event/dialogue 会受影响;
4 = 翻转事实后整个故事改变。
dialogue 和 event 因事实翻转而改变时应给予同等权重。

输出格式:

## F1
### Statement: [[fact statement for F1]]
### Counterfactual: [[counterfactual statement for F1]]
### Reasoning: [[reasoning about why F1 is important or not]]
### Importance Score: [[importance score of F1]]
----
...
----
## FN
### Statement: [[fact statement for FN]]
### Counterfactual: [[counterfactual statement for FN]]
### Reasoning: [[reasoning about why FN is important or not]]
### Importance Score: [[importance score of FN]]
J.1.4 Counterfactual Story Generator
考虑以下故事:

-------
## Story
### Act 1
{act1}

### Act 2
{act2}

### Act 3
{act3}
-------

第一幕建立了:“{fact}”。
如果它不成立,取而代之的是“{counterfactual}”,会怎样?
请在这个 what-if 情景下重写故事。

尽量贴近原故事,但自然地完成改变该事实必然引起的修改。
若一个事实有多种改变方式,选择使原故事变化最小的方案。
修改后的故事应自然,读起来像 flipped fact 本来就是原始意图。
不要把 flipped fact 仅写成原 fact 的简单否定,而要通过故事暗示它。
每一行因该变化而被修改的文字都必须包在 <m></m> tag 中。
先 brainstorm 翻转事实会导致什么变化,再给出 altered story。

输出格式:

-------
## Brainstorming
<Reasoning about the changes in the story due to flipping of the fact>

## Counterfactual Story
### Act 1:
<Act 1 of the counterfactual story>

### Act 2:
<Act 2 of the counterfactual story>

### Act 3:
<Act 3 of the counterfactual story>
-------
J.1.5 Filtering Step
我正在检测短故事中是否存在 continuity error。
当故事中的某个 event 与此前建立的故事世界知识矛盾或不兼容时,就发生 continuity error。
例如,故事先建立某人物有金发,后面无任何变化解释却把同一人物描述为黑发,这就是 continuity error。
为帮助你,我用 <m></m> tag 标出怀疑包含 continuity error 的行。

## Story

{patched_story}

-----

先 brainstorm <m></m> 内的标记行,推理它们是否引入不一致。
最后严格使用以下输出格式:

## Detailed Analysis
{{brainstorm about the marked lines}}

## Final Judgement

### Lines that introduce the continuity error
- {{line1}}
- {{line2}}
...
若无 continuity error 则为 NA

### Lines earlier in the story contradicted by the continuity error
- {{line1}}
- {{line2}}
...
若无 continuity error 则为 NA

报告两类行时必须提供完整句子,不能只摘句子片段。

### Explanation
{{Detailed explanation for why the above lines describe a continuity error.
  NA if no continuity error}}

### Decision
根据是否有 error,回答:
Hence my answer is "There is a continuity error in the story concerning
{{description of error}}"
或
"No continuity error found".

J.2 Evaluation prompts

J.2.1 不使用 CoT 的 continuity-error detection
你的任务是检测短故事中是否存在 continuity error。
当故事中的 event 或 detail 与先前建立的故事世界或人物信息矛盾或不兼容时,就发生 continuity error。

待分析故事:

<story>
{story}
</story>

请仔细阅读并分析以上故事,识别叙事中可能存在的 continuity error。

判断指引:
1. 注意人物描述、setting 与 plot event。
2. 寻找 timeline、人物能力或故事世界既定规则的不一致。
3. 注意故事前后部分的矛盾。

如果发现 continuity error,请清楚解释错误,以及它为何与先前信息矛盾。
请识别并引用:
1. 引入 continuity error 的具体行;
2. 包含被该错误否定的先前信息的具体行。

如果没有发现错误,说明没有错误,并简述故事为何保持一致。
最后决定故事是否存在 continuity error。

输出格式:

<response>
<explanation>
[无论发现错误与否,都在这里解释]
</explanation>

<error_lines>
[若适用,引用引入 continuity error 的行]
</error_lines>

<contradicted_lines>
[若适用,引用较早出现、被错误否定的行]
</contradicted_lines>

<decision>
[最终决定;若无错误,写 "No continuity error found"]
</decision>
</response>
J.2.2 使用 CoT 的 continuity-error detection
你的任务是检测短故事中是否存在 continuity error。
当故事中的 event 或 detail 与先前建立的故事世界或人物信息矛盾或不兼容时,就发生 continuity error。

待分析故事:

<story>
{story}
</story>

请仔细阅读并分析以上故事,识别叙事中可能存在的 continuity error。

判断指引:
1. 注意人物描述、setting 与 plot event。
2. 寻找 timeline、人物能力或故事世界既定规则的不一致。
3. 注意故事前后部分的矛盾。

如果发现 continuity error,请清楚解释错误,以及它为何与先前信息矛盾。
请识别并引用:
1. 引入 continuity error 的具体行;
2. 包含被该错误否定的先前信息的具体行。

如果没有发现错误,说明没有错误,并简述故事为何保持一致。
最后决定故事是否存在 continuity error。

任务技巧:
- 注意故事中的微小细节;continuity error 往往不限于中心 plot point。
- 你可能观察到某个 logical error,但必须确认它属于 continuity error:
  应能在故事中找到包含错误的句子,也能找到被它否定的原始事实句。

输出格式:

<response>
<scratchpad>
Let's think step by step:
[在作决定前,用这里记录想法和推理]
</scratchpad>

<explanation>
[无论发现错误与否,都在这里解释]
</explanation>

<error_lines>
[若适用,引用引入 continuity error 的行]
</error_lines>

<contradicted_lines>
[若适用,引用较早出现、被错误否定的行]
</contradicted_lines>

<decision>
[最终决定;若无错误,写 "No continuity error found"]
</decision>
</response>
J.2.3 Few-shot continuity-error detection
你的任务是检测短故事中是否存在 continuity error。
当故事中的 event 或 detail 与先前建立的故事世界或人物信息矛盾或不兼容时,就发生 continuity error。

请仔细阅读并分析所提供的故事,识别叙事中可能存在的 continuity error。

判断指引:
1. 注意人物描述、setting 与 plot event。
2. 寻找 timeline、人物能力或故事世界既定规则的不一致。
3. 注意故事前后部分的矛盾。

如果发现 continuity error,请清楚解释错误,以及它为何与先前信息矛盾。
请识别并引用:
1. 引入 continuity error 的具体行;
2. 包含被该错误否定的先前信息的具体行。

如果没有发现错误,说明没有错误,并简述故事为何保持一致。
最后决定故事是否存在 continuity error。

任务技巧:
- 注意微小细节,错误往往不限于中心 plot point。
- 某个 logical error 只有在能找到“错误句”和“被否定的原事实句”时才属于 continuity error。

输出格式:

<response>
<explanation>
[解释是否有 continuity error]
</explanation>

<error_lines>
[若适用,引用引入错误的行]
</error_lines>

<contradicted_lines>
[若适用,引用被否定的先前行]
</contradicted_lines>

<decision>
[最终决定;无错误则写 "No continuity error found"]
</decision>
</response>

以下提供有 plot hole 和无 plot hole 的示例:

<examples>
{examples}
</examples>

最后,这是待分析故事:

<story>
{story}
</story>
J.2.4 Verifier
<p>
本任务要求你阅读短故事,以及我们构建的系统预测的 continuity error。
你要标注系统预测是否正确,即系统识别的 continuity error 是否成立。
<br>
continuity error 是故事中的某个 event 与较早建立的信息矛盾。
例如,先说人物是金发,后来无解释地说同一人物是黑发。
<br>
系统并不完美。有时它找到的 error 可以被故事内解释、逻辑解释或不与原叙事冲突的 headcanon 轻易化解。
你要区分系统正确识别错误的情况与系统推理错误的情况。
</p>

<h1>Definitions</h1>
<ol>
  <li>
    <b>Continuity Error.</b>
    故事中的逻辑不一致:某个 event 与较早建立的关于 characters、objects、plot 或 setting
    (如地点、年代)的 fact/rule 矛盾。
  </li>
  <li>
    <b>Contradiction.</b>
    若一个 statement 与已建立 fact 不可能同时为真,则二者矛盾。
    例如 fact “Lady Galadriel had golden hair” 与
    “Lady Galadriel gave a lock of her dark hair to Ghimli” 矛盾。
  </li>
  <li>
    <b>Sentences with Continuity Error.</b>
    引入 continuity error、否定较早事实的句子。例:
    <mark style='background-color: lightgreen;'>
    Lady Galadriel 的金发明亮得仿佛闪着 Valinor Two Trees 的光。
    </mark>
    Ghimli 第一次在 Lothlorien 见到她便为精灵少女的头发倾倒。
    Fellowship 告别 Lothlorien 时,Lady 问他想要什么礼物;
    dwarf lord 请求一绺头发,这项请求曾被 Fëanor 拒绝。
    <mark>出乎众人意料,她给了 Ghimli 一绺黑发。</mark>
    Ghimli 喜极而泣,称 Galadriel 是 Middle-earth 最美的 maiden。
    <mark>那绺黑发被 Ghimli 保存到死。</mark>
    后两句是 error sentences,因为它们否定先前金发事实。
    error sentence 应当是一个或多个被高亮句;并非所有高亮句都一定导致错误。
  </li>
  <li>
    <b>Sentences Contradicted by Continuity Error.</b>
    建立后来被否定事实的句子。上例是关于 Galadriel 金发闪耀的第一句。
    这些句子应在首个高亮句之前。
  </li>
  <li>
    <b>In-Story Explanation.</b>
    故事直接提供的解释,说明表面矛盾为何与 event、character 或 setting 一致。
    例如发色改变,但故事后来揭示人物戴了假发。
  </li>
  <li>
    <b>Logical Explanation.</b>
    故事没有明说,但可由常识或一般知识合理化解表面错误的外部理由。
    例如先说人物穿外套,后来说未穿;合理解释是人物脱下了外套。
  </li>
</ol>

<h2>Story</h2>
{story}

<h2>Continuity Error Explanation</h2>
{cont_error_expl}

<h2>Lines with Continuity Error</h2>
{cont_error_lines}

<h2>Lines Contradicted by the Error</h2>
{contradicted_lines}

----

<h2>Question</h2>
根据故事,候选 continuity error 是否成立?回答 Yes 或 No。

<response>
<scratchpad>
Let's think step by step.
{{在作决定前记录想法和推理}}
</scratchpad>
<answer>
{{Yes 或 No}}
</answer>
<confidence>
{{对答案的信心,0 到 100}}
</confidence>
<explanation>
{{答案解释}}
</explanation>
</response>

J.3 Generation prompts

J.3.1 Summarization
考虑以下故事:

<story>
{story}
</story>

作为专业 summarizer,请为故事写简洁而全面的 summary,并遵守:

- summary 应 detailed、thorough、in-depth、complex,同时保持清楚简洁;
- 总体尽量少于 {num_words} 词;
- 保持原故事 writing style,使文本读起来像故事,而不是关于故事的摘要;
- 纳入 main ideas 与 essential information,删除冗余语言,聚焦关键方面;
- 严格依据所给文本,不加入外部信息。

输出格式:

<summary>
[summary of the story above]
</summary>
J.3.2 Contemporary Adaptation
你的任务是把经典 fairytale 改写成现代版本。
我会提供原 fairytale;你要在保留核心要素的同时,把它重构到 contemporary setting。

<original_fairytale>
{{ORIGINAL_FAIRYTALE}}
</original_fairytale>

请遵守:

1. 保留与原故事相似的 themes、central conflict 和 characters。
2. 把 setting 更新为当代,即现在或不久前。
3. 确保 plot 与 character motivations 在现代语境中合理。
4. 把魔法和奇幻元素转化为更现实的 setting。
   contemporary world 不存在魔法;动物通常不会说话,人不能飞,等等。

成功现代改编示例:
- BBC “Sherlock”:把 Sherlock Holmes 重构到 21 世纪 London;
- Hilary Duff 主演的 “A Cinderella Story”:把 Cinderella 放进现代高中;
- “10 Things I Hate About You”:把 Shakespeare “The Taming of the Shrew”
  改到 1990 年代美国高中。

完成后,把改编放在 <modern_retelling> tag 内。现在开始:

<modern_retelling>

K. 人类基准研究文件

以下是论文随附的 annotation_instructions.pdf 全文译文。研究参与者姓名和联系邮箱在原件中已经标作 “[REDACTED]”。

K.1 标题与研究时间

Plot Hole Detection 研究

研究参与者:[REDACTED]

重要:研究时间线

团队希望在 2025 年 3 月 15 日前结束研究。如果无法在此前完成,请通过邮箱 [REDACTED] 告知。

欢迎参加 Plot Hole Detection 研究。随着 AI 系统和 LLM 受到越来越多关注,我们希望更精确地描述它们理解故事的能力。具体而言,研究通过要求模型识别并解释短故事中的 plot hole 来衡量推理能力。为作有意义的比较,团队也要了解像参与者这样的 expert reader 能多有效地完成任务。

K.2 研究目的

讲述并参与 fictional story 是人类文化中重要且无处不在的一部分。体验故事时,人们通常不只理解“发生了什么”,还会产生情感反应:兴奋地预测叙事下一步,理解文本表达的主题,把自己或认识的人投射到人物中,或因 plot 的不一致与 convenience 感到沮丧。

近年来 AI、尤其 LLM 受到大量追捧;有出版物甚至声称 GPT-4 展现 artificial general intelligence 的“sparks”。多数模型能力主张通过数学或 coding 任务展示,却很少关注 social/emotional intelligence;与本研究最相关的是,它们对 fictional story 的深层理解也很少被衡量。

团队开发了一个数据集,研究 LLM 理解短故事不一致与错误的能力。人们都体验过看电影或读小说时,因人物行为不一致,或事件直接否定此前事实而受挫。打破故事所建立世界之逻辑与动机纹理的叙事不一致称为 plot hole。为了比较 LLM 识别 plot hole 的表现,研究邀请 expert reader 完成同一任务。

团队请求参与者尽最大努力。细读能力对研究至关重要,因为标注将成为衡量 AI 的 gold standard。请不要使用 ChatGPT 等任何 LLM application;否则会彻底破坏研究目的。高质量、独立分析是比较研究完整性的必要条件,也会显著推进对人类与 AI 叙事理解能力的认识。

K.3 内容警告

参与者将标注来自 Project Gutenberg 的短故事。有些写于很久以前,可能包含种族不敏感语言和已经过时、可能冒犯读者的刻板印象。此类语言不属于研究作者,也绝不代表其观点。选取这些故事只因为叙事结构及分析 plot hole 的潜力,而非文化或社会立场。

若遇到不适内容,参与者可无惩罚地跳过该故事、转到其他故事。个人福祉很重要,团队尊重参与者退出某个故事或在任何时点退出整个研究的决定。

K.4 开始之前:完成要求与报酬

故事平均约 700 词。团队建议至少标注 10 个,但可按时间多做或少做。估计每篇 15 分钟;为保证准确,参与者可以投入更多时间。

每个正确标注的故事支付 5 美元。正确完成研究还会获得收入的 30% 奖金。正确性通过把一个不公开比例的标注与 ground truth 对比来核验。例如标注 10 个且均确认正确,总报酬 65 美元,即故事 50 美元加奖金 15 美元。这些核验例也用于判断参与者是否认真完成,例如是否正确阅读说明、是否草率作答。检测到这类错误标注时,submission 可能被拒绝。

开始前务必仔细阅读说明;如有问题先发邮件询问。报酬以 Amazon Gift Card 发放。

使用生成式 AI。 严禁使用 ChatGPT 等 generative AI tool。若检测到使用,研究不视为成功完成,也不支付标注报酬。

请从容完成任务。任务认知负担高,可以在不同故事之间休息。

K.5 任务概览

任务是检测短故事中是否存在 continuity error。若故事中的 event/detail 与先前建立的故事世界或人物信息矛盾、不兼容,就发生 continuity error。例如故事先说人物金发,几幕后无解释地说同一人物黑发。

请仔细阅读并分析故事,识别任何可能的 continuity error。

判断指引:

  1. 注意人物描述、setting 与 plot event;
  2. 寻找 timeline、人物能力或故事世界既定规则的不一致;
  3. 注意故事前后部分的矛盾。

若发现错误,清楚解释它以及为何与较早信息矛盾,并引用:

  1. 引入 continuity error 的具体行;
  2. 包含被该错误否定的较早信息的具体行。

如果没有发现,直接说明没有错误。最后决定故事中是否存在 continuity error。

技巧:

  • 注意很小的细节;错误往往不限于中心 plot point;
  • 如有帮助,阅读时做笔记;
  • 建议至少读两遍,以保证答案正确;
  • 可能看到一般 logical error,但必须确认它符合 continuity error:要能找出错误句,也能找出被其否定的原事实句。

K.6 定义

  1. Continuity Error: 故事中的逻辑不一致,某个 event 与较早建立的 character、object、plot 或 setting(地点、时代等)fact/rule 矛盾。例如先说人物金发,后来无解释地说黑发。
  2. Contradiction: statement 与已建立 fact 不可能同时为真。例如“Lady Galadriel had golden hair”与“Lady Galadriel gave a lock of her dark hair to Ghimli”矛盾。
  3. Sentences with Continuity Error: 引入错误、否定较早事实的句子。考虑:

Lady Galadriel 的金发灿烂,据说闪着 Valinor Two Trees 的光。Ghimli 第一次在 Lothlorien 见到精灵少女,便为她的头发倾倒。Fellowship 告别 Lothlorien 时,Lady 问 Ghimli 想要什么礼物;dwarf lord 请求一绺头发,这项请求曾被 Fëanor 著名地拒绝。出乎众人意料,Lady 给了 Ghimli 一绺黑发。Ghimli 喜极而泣,称 Galadriel 是 Middle-earth 最美的 maiden。那绺黑发被 Ghimli 保存到死。

其中“给了一绺黑发”和“保存那绺黑发”是 error sentences,因为它们否定先前金发事实。 4. Sentences Contradicted by Continuity Error: 建立后来被错误否定之事实的句子。上例是“Lady Galadriel 的金发灿烂……”。

K.7 示例 1:Bamboo Cutter Moon Child

故事

很久以前,一个贫穷 bamboo woodcutter 与妻子没有孩子,十分悲伤。他们在 bamboo stalk 中发现一个微小、发光的女孩,收养她,命名为 Princess Moonlight。此后,夫妻从 bamboo 中发现黄金宝石,生活充满喜悦与富足。女孩迅速长成美丽女人,为家庭带来光明幸福。

远近许多求婚者来求婚,Princess Moonlight 却始终隐藏不见。五位执着 knight 决意赢得她,在屋外历经四季守候,写信作诗,却没有回应。他们恳求 bamboo cutter 代为说情;老人劝 Princess 考虑婚姻,以保证未来安全。

Princess Moonlight 同意见面,条件是完成看似不可能的任务:第一位从 India 带回 Buddha stone bowl;第二位从 Mount Horai 带 jeweled branch;第三位从 China 带 firerat skin;第四位带 dragon jewel;第五位带 swallow shell。knight 们沮丧出发。

第一位无法去 India,从 Kyoto temple 买 bowl,却未通过 Princess 的检验。第二位伪造 jeweled branch,但因未付钱的 jeweler 揭穿。第三位得到假的 firerat skin,遇火便烧。第四位派仆人徒劳寻找,后来放弃。第五位也没找到 swallow shell。

Emperor 听闻 Princess Moonlight 美貌,派 court lady 召见,她拒绝。Emperor 亲自拜访并深深爱上她;她警告,若被迫进 palace 就会消失。她向 foster parents 和 siblings 透露自己来自 moon,很快要返回,令家人悲痛。

约定之夜,云层降下,moon beings 来接她。尽管 bamboo cutter 尽力保护,她仍被带走,只给 Emperor 留下一封信和 Elixir of Life。Emperor 心碎,把 Elixir 送往 Mount Fuji 烧掉;传说至今山顶仍有烟升起。

问题与参考答案

  • 是否有 continuity error?有。
  • 解释:夫妻开头被说成没有孩子,后面也没有生育更多孩子的说明;Princess 却向 foster parents 和 siblings 告别,构成错误。
  • 错误行:“She revealed to her fosterparents and siblings that she was from the moon and would soon return, causing them great sorrow.”
  • 被否定行:“Long ago, a poor bamboo woodcutter and his wife, childless and sad, found a tiny, radiant girl inside a bamboo stalk.”

K.8 示例 2:Why Dog And Cat Are Enemies

故事

从前,夫妻二人有一枚能给持有者带来繁荣的 gold ring,但并不知道其力量。他们以小价钱卖掉 ring,很快陷入贫穷,连下一顿饭都难以得到;家中的 dog 和 cat 也挨饿。动物决心帮主人取回 ring。dog 建议找到锁住 ring 的箱子,让 mouse 咬穿箱子、取出 ring。

cat 同意,抓住 mouse,威胁它咬洞拿 ring。mouse 照做,cat 把 ring 含在嘴里。遇到宽阔河流,dog 背 cat 游过。回家路上,cat 很快爬过障碍,dog 只能绕路。cat 先到家,把 ring 交给主人,主人赞美它、保证照顾它。

dog 到家后却因“没有帮忙取回 ring”被责骂殴打。cat 在壁炉旁取暖,始终沉默。dog 因不公待遇和 cat 欺骗而愤怒,追赶 cat。从此 cat 与 dog 结仇。

问题与参考答案

  • 是否有 continuity error?没有。
  • 解释、错误行、被否定行:NA

K.9 示例 3:Little Boy Blue

故事

一个贫穷寡妇靠在田里拾穗养活自己和独子。他们住在河边美丽山谷脚下的小 cottage。尽管贫穷,寡妇对生活满意:家很舒适,可爱儿子不断带来喜悦。男孩有蓝色大眼睛和金色卷发,深爱母亲,总想帮她工作。

幸福岁月过去,男孩八岁时寡妇病倒,少量积蓄逐渐耗尽。她担心未来;男孩决心帮忙,要向 Hall 的 Squire 求职。寡妇起初不愿,最后同意,用旧裙做了一套新衣,让他看起来得体。

心情不错的 Squire 在花园遇到男孩。男孩勇敢请求工作,以养病母。Squire 女儿 Madge 被打动,建议让他当 shepherd。Squire 同意,承诺优厚工资,并给 silver horn 召唤 sheep、cow。Madge 因他的蓝衣称其 Little Boy Blue。

Little Boy Blue 回家报喜。母亲喜极而泣,知道 Squire 会是善良主人。第二天,他得到 silver horn 和 golden cord,开始 shepherd 工作。他勤劳警觉;Squire 报酬丰厚,母亲不再担心食物。

母亲逐渐恢复,能在儿子搀扶下短距离走路;一天却滑倒摔断腿。Little Boy Blue 发现她痛苦不堪,设法送回 cottage,再划船去村里请 doctor。doctor 治疗后警告她将卧床多日。

次日早晨,Little Boy Blue 虽疲惫仍去工作,为母亲留下食物和水。看守 horses 时他努力保持清醒,最终睡着。无人看管的 horses 冲破 enclosure,在田里乱跑,踩坏 Squire 的作物。Squire 发现后暴怒,寻找 Little Boy Blue。

农家少年 Isaac 发现男孩睡着,通知 Squire。Madge 介入,安慰男孩,得知母亲事故。Squire 与女儿被故事打动,陪他到 cottage,为母亲安排帮助。

Madge 送来装满美食的篮子,并派 maid 照料寡妇。母亲康复,Squire 给他们一座靠近大宅的新 cottage。Little Boy Blue 继续忠实管理 horses,长大后有了自己的 farm。他对母亲的奉献赢得 Squire 的信任友谊,证明爱心与尽责能带来好运。

问题与参考答案

  • 是否有 continuity error?有。
  • 解释:男孩受雇做 shepherd、召集 sheep 和 cow;后文无解释地改成管理 horses,否定既定职责。
  • 错误行:
  • “He struggled to stay awake while watching over the horses, but eventually, he succumbed to sleep.”
  • “Little Boy Blue continued to faithfully manage the horses, growing up to have a farm of his own.”
  • 被否定行:
  • “The Squire agreed, promising a good wage and a silver horn to call the sheep and cows.”
  • “The next morning, Little Boy Blue received a silver horn and golden cord and began his duties as a shepherd.”

K.10 研究文件参考文献

  1. Kroon, Fred and Alberto Voltolini. “Fiction.” The Stanford Encyclopedia of Philosophy, Summer 2024 Edition, Edward N. Zalta & Uri Nodelman (eds.).
  2. Bubeck et al. (2023). Sparks of Artificial General Intelligence: Early experiments with GPT-4. arXiv:2303.12712。
  3. Ryan, M. L. (2009). “Cheap Plot Tricks, Plot Holes, and Narrative Design.” Narrative, 17(1), 56–75。