Creating Suspenseful Stories: Iterative Planning with Large Language Models
- arXiv/venue: EACL 2024 (2024.eacl-long.147) / arXiv 2402.17119(2024-02)
- 作者: Kaige Xie, Mark Riedl(Georgia Institute of Technology)
- 类型: 悬念生成方法(零样本、理论驱动的迭代规划)
- 一句话: 首个用 LLM 专门生成"悬念故事"的工作——基于认知心理学与叙事学的悬念理论,迭代地为主角生成行动、再对抗性地让它失败,逐步压低主角脱困的可能性,从而制造悬念;全程零样本、无需监督语料。
1. 要解决的问题
悬念在人类故事中极其常见,但在 AI 生成中严重欠探索,SOTA 的 LLM 直接生成悬念故事并不可靠。作者要做的是:把"悬念到底怎么产生"的理论转成一套可执行的提示/规划流程,让通用 LLM 稳定产出有悬念的故事,且不依赖任何悬念故事训练集。
2. 方法 / 核心思路
理论基础(两条) - 认知心理学(Gerrig & Bernardo, 1994):当读者认为主角面临负面结局、且可行的脱困手段在数量或质量(成功可能性)上不断减少时,读者感到悬念。 - 叙事学(Branigan, 2013):基于"知识落差"——读者已知失败迫近、而角色浑然不觉时,悬念随之产生。
迭代规划算法(三阶段) - ① 背景设定(Background Setup):LLM 生成主角姓名/职业、目标(goal)、目标失败会导致的糟糕后果、以及开场段落。 - ② 大纲规划(Outline Planning,核心迭代):反复提示 LLM——(a) 生成主角朝目标迈进的一个行动;(b) 生成一个让该行动失败的原因。每个新行动都以先前的失败为条件,使主角成功的可能性逐轮递减(对抗性地"关上一扇扇门")。原理上迭代次数无上限,示例演示了 3 轮失败后才最终成功。 - ③ 细节展开(Detail Elaboration):把"行动—失败"对转成带完整叙事细节的事件序列,成稿。
即:悬念被操作化为"主角规避负面结局的手段之数量与质量被持续削减"——方法迭代地提出可能行动,并对抗性地构造使其失败的条件。
3. 数据与实验
- 零样本,不使用任何监督故事语料。
- 主模型:ChatGPT(gpt-3.5-turbo-0613);另在 Llama 2(Llama-2-13b-chat) 上做泛化验证。
4. 主要结果(带数值)
- 人类评测:每项研究 90 名参与者(不同研究用不同人群)。
- 评测维度:Suspense(悬念)、Novelty(新颖)、Enjoyment(愉悦)、Logical Sense(逻辑)、Naturalness(自然度)。
- 对比条件:ChatGPT 直接提示(baseline)、Llama 2 baseline、Re3(长文生成)。
- 主结果(本方法 vs Baseline,胜率):
- 悬念 84.9% 胜(p<0.01)、新颖 76.6%、愉悦 67.9%;逻辑 49.2%(约打平)、自然度 25.3%(劣于 baseline)。
- 消融:Ablation #1 vs 完整方法——完整方法在悬念上 75.0% 胜;Ablation #2 vs Baseline——悬念 72.3% 胜。
- 结论:迭代对抗式规划显著提升感知悬念与新颖性,但会牺牲一些自然度(更"设计感"、略生硬)。
5. 局限
- 仅英语、默认西方叙事传统,未跨语言验证。
- 主角背景设定较薄,部分读者共情不足(这也是自然度偏低的一个来源)。
- 追求悬念与"自然/流畅"存在权衡;方法产出偏"工程化"。
6. 对做产品 / 工程的启发
- 一套可直接复用的"悬念引擎"配方:显式建模"主角目标 → 迭代行动 → 对抗性失败 → 可能性递减",可做成写作产品里的"加悬念"按钮或情节生成模式。
- 知识落差是关键杠杆:让读者知道、角色不知道——产品可提供"信息不对称"编辑视图,帮作者刻意布置。
- 注意悬念 ↔ 自然度的权衡:可暴露一个"悬念强度"滑杆,或在细节展开阶段加"顺滑化"重写,缓解生硬。
- 与度量结合闭环:用本方法生成悬念,用 [[17_spoiler_alert]] 的 100-Endings 验收张力是否真的产生(成功率递减应表现为 no-rate 曲线维持高位)。
关联
- [[17_spoiler_alert]]:生成↔度量的一对——本篇造悬念,17 用结局可预测性度量张力,互为验证。
- [[04_codified_foreshadowing_payoff]]:伏笔"先埋后收"与悬念"知识落差 + 递减希望"同属戏剧张力工具箱,可组合。
- [[16_skeleton_coherence]]:加悬念后需回测连贯,本篇自然度偏低,正好用连贯度量把关。
- [[15_storyline_trees]]:可把"行动—失败"迭代计划挂到故事线树的大纲层上,做长篇悬念。
- [[01_lost_in_stories]]、[[02_from_personas_to_plot_magnet]]、[[03_dome]]:故事生成质量/一致性的相关背景。