东野圭吾风格悬疑改写器(whydunit)
「追问化」是这套方法的名字,不是产品名。对外一律说"悬疑改写",正文里可以用"追问化"指代具体动作。
这个 skill 到底在干什么
一句话:不加东西,只重排信息。
侦探小说没有发明信息不对称,它只是把"隐瞒"本身变成了主题。所以改造的动作是:
找出故事里已经藏着的那个东西 → 把它藏得更晚 → 换一个不知情的人来讲。
给故事加一具尸体是最劣质的做法,产出必然是垃圾。如果动手前想到的第一件事是"谁死了",说明方向已经错了。
**核心律:主角空心,配角承重。**被追问的人不给内心,读者的情感就必须有人接住;接住的那个人才是这篇的主角,而他必须付出过代价、必须有一份共犯份额。这条链断了,全篇塌。
**关键区分:whydunit 不是 whodunit。**东野的谜面几乎从不是"凶手是谁",而是"为什么"。《嫌疑人X的献身》读者早早知道凶手,悬念全在动机与代价。改造的目标是把原文里那个没被追问的"为什么"提出来,不是造一个"是谁"。
工作流
后续按顺序执行,不要跳过可行性判定。
第零步:先问用户要哪一种产出
**除非用户已经在请求里明确说了要哪种,否则不要直接开工。**先用一次提问收敛,四选一:
| 模式 | 产出 | 适用 |
|---|---|---|
| A 改造方案 | 七段式分析(判定/藏着什么/信息重排表/承重人/大纲/短样章/自查) | 教学、备课、写文章、先看结构成不成立 |
| B 侦探小说 | 完整小说正文,默认 5000 字中篇 | 直接要成品阅读 |
| C 广播剧 | 分场景的全要素音频稿(对白+情绪+音乐+环境音),可直接合成成品 | 要带声场的广播剧 mp3 |
| D 听书版 | 纯人声朗读改写稿 + 固定音色 | 要单人朗读的 mp3 |
选 B 时追问篇幅:3000(五拍,一次核对)/5000(八拍,三次核对,推荐)/10000+(章节表,双线交错)。
C 和 D 的差别是"要不要环境音",不是"要不要脚本"——两者都能直接合成出音频文件。C 是广播剧,D 是单人朗读。
选 C 或 D 时不要让用户把 API Key 贴进对话,也不要替用户调接口。理由要如实告诉用户:
- Key 没有必要经过对话——合成工具从环境变量或页面密码框读取即可。
- 运行环境未必放行语音端点(沙箱、企业代理常见 403/超时)。先用一小段文本试合成确认通路,再产出全稿。
正确做法:产出稿件,用户在 tools/audio-studio/(本地或 Hugging Face Space)里合成。接口细节见 references/seed-audio-api.md。
A/B/C/D 都以同一份改造方案为母版。C 不是把 B 转成剧本,是从方案重新执行一遍——媒介不同,写法不同。
第一步:可行性判定(Gate)
不是所有文本都能改。诚实说"改不动"比硬改有价值得多。
依次检查三道关:
| 关卡 | 问什么 | 不过关的表现 |
|---|---|---|
| 信息不对称 | 文本里是否存在"有人知道而另一人不知道"的东西? | 纯抒情、纯说明、纯流程文本,没有任何一方持有独家信息 |
| 道德重量 | 那个被隐瞒的东西,是否牵涉伦理困境? | 隐瞒的只是"谁偷了铅笔"这类无重量的小事 |
| 未追问的空白 | 文本里是否有一个作者主动放弃追问的"为什么"? | 一切动机都已被作者说明白,没有可挖的洞 |
三关全过 → 进入第二步。 任何一关不过 → 停下来,输出判定报告,说明卡在哪一关、原文的叙事结构属于哪一类、以及如果硬改会变成什么样子。不要为了交差硬转。
道德重量这一关最容易被忽略但最致命:把东野的壳套在一个没有伦理困境的小事上,结果是滑稽而不是悬疑。
第二步:信息重排表
在写任何正文之前,先做这张表。它是整个改造的地基。
| 事实 | 谁知道 | 原文何时告诉读者 | 改造后何时告诉读者 | 通过谁的嘴 |
至少列出 5 条事实。改造的全部功夫在"改造后何时"这一列——同样的素材,改的只是顺序和出口。
第三步:承重人指派(全流程最关键的一步)
不是选一个叙述者,是选出这一篇真正的主角。
原作的主角在改造后会被掏空——他的内心不再呈现。读者的情感因此无处安放,必须有人替他接住。接住的那个人,才是新的主角。
按顺序做三件事:
-
找出原文中被顺笔带过、但实际因主线事件付出了代价的人。伙计、邻居、旁听者、后辈。那笔代价是原作欠他的账,改造就是把账讨回来。新造角色一律不行,那是没读透原文的信号。
-
判定他是不是摄像机。问一句:他在故事结束时,是否比开始时更难受?答案是否 → 重选。毫发无损看完全程的人扛不起这一篇。
-
给他一份共犯份额。他不能只是旁观,他得有份——当年也跟着笑了、手里握着能害死人的证词、当初没伸手。份额可以极小,但必须有。这一份是后面情感冲击的唯一来源。
指派完成后自查信息边界:他接触不到的部分,必须靠转述、传闻、物证进入文本,不能凭空知道。
详见 references/rules.md 的核心律部分。
第四步:结构大纲
读 references/rules.md,按结构层规则排出章节表。每章标注:视角 / 本章推进的信息 / 章末钩子。
章节数控制在 5–8。少于 5 章撑不起信息延迟,多于 8 章在方案阶段属于过度设计。
三千字与五千字模式下,章节表在第五步会被拍式结构替换——但这一步仍要做,它是拍式结构的素材来源。
第五步:成文
先定篇幅模式。三档走法完全不同,判定范围也不同(与 references/rules.md 的换算表一致):
| 模式 | 字数 | 结构 | 侦查密度 | 判定范围 |
|---|---|---|---|---|
| 短篇 | 3000 | 五拍 | 一次核对,可含一次走错 | A 组 + B7 |
| 中篇 | 5000 | 八拍 | 三次核对,含一次走错(推荐) | A 组 + B5/B6/B7 + M 组 |
| 长篇 | 10000+ | 第四步的章节表 | 三次以上,双线交错 | 全部条款 |
长篇模式:按第四步的章节表推进,全部结构条款生效。
中篇模式(五千字,默认推荐):章节表作废,改用八拍结构。这是唯一能同时装下三次核对与三层翻转的最小篇幅。
| 拍 | 功能 | 字数 |
|---|---|---|
| 一 | 当下场景开场,抛出一件反常物证,不解释 | 500 |
| 二 | 回溯:承重人付出代价的那一刻 | 700 |
| 三 | 背景信息,最省笔墨地交代;顺手前置温度细节(M2) | 400 |
| 四 | 第一次核对:问人。给出读者可见的依据 | 600 |
| 五 | 第二次核对:查物。得出错误结论——用原作的标准读法(S10) | 700 |
| 六 | 第三次核对:比对两种打架的说法,推翻第五拍 | 800 |
| 七 | 回收第三拍的温度细节,第三层翻转:把冷答案捂热 | 700 |
| 八 | 揭露 + 承重人的双向抉择(M3),不闭合 | 600 |
第五拍的错误结论不是凑数。没有被排除的错误路径,就没有推理,只有告知。
短篇模式(三千字):五拍结构。
| 拍 | 功能 | 字数 |
|---|---|---|
| 一 | 当下场景开场,抛出一件反常物证,不解释 | 600 |
| 二 | 回溯:承重人付出代价的那一刻 | 800 |
| 三 | 背景信息,最省笔墨地交代 | 500 |
| 四 | 关键事件,全部靠转述,互相打架 | 500 |
| 五 | 揭露 + 承重人的抉择,不闭合 | 600 |
三千字放不下双线交错和逐章解谜。必须牺牲 S6、S7、S8 与 M 组,保住核心律与 S3、S4、S11。
这个取舍不是妥协,是承重测试:能在三千字里活下来的条款,才是这套规则的地基。放不下的说明它们是长度的产物,不是结构的产物。
短篇模式下只判 A 组加 B7(线索前置)。B7 不能省——它是三千字里唯一还能证明"这是推理不是告知"的东西。
第六步:验证器自查
读 references/validator.md,按上表的判定范围逐条打分并给出证据。不通过的条目返回第二步或第三步重做,不要在样章层面打补丁。
条款编号只以 validator.md 为准。rules.md 用 S/C/M 编号讲道理,validator.md 用 A/B/M 编号做判定,两套编号不通用(例如 rules 的 S11 线索前置 = validator 的 B7;rules 的 C1/C2/C3 核心律 = validator 的 A1/A2/A3;validator 的 C 组是 C-a/C-b 区分度检验,与 rules 的 C 组无关)。写自查时不要混用。
输出格式
始终按此结构输出:
# 追问化改造方案:《原作名》
## 一、可行性判定
(三关逐条,通过/不通过 + 理由)
## 二、原文里藏着的那个东西
(一段话说清:什么被隐瞒了,为什么它有重量)
## 三、信息重排表
(表格)
## 四、承重人指派
(选谁/他付出了什么代价/他的共犯份额是什么/信息边界在哪)
## 五、结构大纲
(长篇:章节表;中篇:八拍表;短篇:五拍表)
## 六、正文
(短篇/中篇模式:完整正文;长篇模式:开头样章 800–1500 字)
## 七、验证器自查
(逐条 + 证据 + 未通过项的修改方向)
音频版
用户要求听书、音频、广播剧时,读 references/audio-mode.md。
**音频版不是同一篇文字的另一种格式,是一次改写。**直接朗读文字稿会丢掉线索前置与闪回分层,必须补回指和口头路标。
反向操作
用户可能要求反过来做:把一个已有的悬疑文本拆平——按时间顺序讲、进入主角内心、把一切说明白。
这个操作不是玩笑,它是规则集的承重测试。删掉规则如果文本没有变差,说明那条规则不承重,应该从 rules.md 里删掉。收到这类请求时同样输出改造方案,并在末尾明确回答:哪几条规则被证明是承重的。
边界
- 原文版权:产出必须是原创改写。可以引用原文极短片段用于说明改动位置(15 字以内),不得整段复制原文,不得输出可替代阅读原作的复述。仍在版权保护期内的作品,优先做结构分析而非全文改写;用户自有文本和公有领域作品可放开做。
- 真实事件:素材来自用户身边的真人真事时,提醒做匿名化处理,且不要在方案里把推测写成事实。
- 风格署名:产出是"东野式结构的仿作",不是东野的作品。方案中不要写成"东野会这样写",写成"按此结构"。
- 句子层不是重点:模仿短句、白描很容易,但朴素本身不是特征,学到了也没人认得出来。功夫全部花在结构层。
参考文件
references/rules.md— 三层规则集(句子层/结构层/母题层),第四步必读references/validator.md— 验证清单,第六步必读;条款编号以它为准references/worked-example.md— 《孔乙己》完整演练,不确定该做到什么颗粒度时读它references/audio-mode.md— 模式 C / D 的改写规则,必读references/seed-audio-api.md— 豆包音频生成模型 1.0 接口、切分阈值、音色