| name | novel-polish |
| description | 内容优化打磨 — 针对novel-review问题清单逐条修改,润色对话、增强画面感、强化钩子、注入网感,产出定稿 |
| category | novel |
内容优化打磨
输入
- 本章初稿(来自 novel-draft)
- 审查报告(来自 novel-review)
作者设定
从 ~/.hermes/skills/novel/knowledge/作者设定.md 读取,不再内联硬编码。
一、根据 novel-review 问题清单逐条修改
ℹ️ 职责定位:polish 是质量兜底环节。draft 阶段尽力避开了大部分问题,但审查可能揭示遗漏。polish 负责修正审查中发现的所有 P0 问题(OOC、剧情矛盾、平台违禁),以及 P1/P2 优化项。
1.1 问题类型 → 修改策略对照表
| 审查类型 | 问题子类 | 修改策略 | 示例 |
|---|
| OOC | 对话语气不符 | 回到人物卡,重写该句台词,确保符合角色口语特征 | 「我不同意这个方案。」→ (混混角色)→ 「这法子不行。换个。」 |
| OOC | 行为逻辑不符 | 检查人物背景、当前情绪状态,重写该行为,加动机暗示 | 突然打人 → 先加一句触发语/回忆闪回 |
| OOC | 情感变化无铺垫 | 在该段前插入 1-2 句情感过渡(动作暗示,不写内心戏) | 突然哭 → 前面加"她盯着那行字,看了很久" |
| 剧情矛盾 | 与前文冲突 | 逐段对比前文对应段落,修改矛盾点;如果前文必须改,标记为"需回溯修改" | 人物上一章在城东,这章突然在城西 → 加过渡句 |
| 剧情矛盾 | 时间线混乱 | 重新检查时间跨度,加时间标记词("第二天""三小时后") | 无时间标记 → 关键位置插入时间锚点 |
| 平台合规 | 违禁词 | 直接替换:暴力→动作暗示,色情→留白处理,品牌名→虚构名 | 「奔驰」→「黑色轿车」 |
| 平台合规 | 敏感内容 | 不正面描写,用第三者反应侧面表现 | 血腥场面 → 「旁边的人捂住嘴转过头去」 |
| 伏笔不一致 | 回收与铺垫不匹配 | 检查伏笔追踪表,调整本章回收程度或修改铺垫 | 计划第10章回收的伏笔,第5章就回收了 → 只暗示,不完全回收 |
| 基础质量 | 字数不足/超标 | 不足:退回 novel-plot/novel-skeleton 补充有效冲突回合或主角主动决策(不得用环境补字);超标:压缩最弱的场景 | 1700字 → 退回骨架,增加冲突回合 |
| 基础质量 | 对话占比不达标 | 找到最长段的纯叙述段落,改写成对话+动作形式 | 3段连续叙述 → 改成人物之间的对话场景 |
| 基础质量 | 缺少钩子 | 使用 novel-draft 第5章模板,从本章已有信息中制造钩子 | 平淡结尾 → 从本章埋的伏笔中抽一个做悬念结尾 |
1.2 修改优先级
P0(必须改):OOC、剧情矛盾、平台违禁
↓ 先改这些,改完再往下走
P1(尽量改):字数、对话占比、缺钩子
↓ 调整过程中注意不要引入P0问题
P2(优化项):伏笔匹配度、对话自然度、节奏感
↓ 在前两项改完的基础上做精细化打磨
1.3 修改原则
- 最小改动:能用1句改好的不用3句
- 不改剧情结构:不增删场景,不改变核心事件走向
- 每改一处对照原句:确认核心信息不丢失
- 改后重读上下文:确认修改在语境中自然
二、对话润色方法论
2.1 去废话——三刀流
找到每个角色的台词,砍掉三种废话:
| 废话类型 | 特征 | 改法 | 反例 | 正例 |
|---|
| 重复废话 | 同一信息说了两遍 | 删掉后面那句 | 「我知道了,我已经明白了。」 | 「知道了。」 |
| 客套废话 | "你好""谢谢""不好意思"在紧张场景 | 全部删掉 | 打架前:「不好意思,我要动手了。」 | 直接动手。 |
| 解释废话 | 人物把自己动机说出来 | 用动作暗示,不解释 | 「我去救她,因为我不想她死。」 | 他没说话,翻身跳下了墙。 |
2.2 加动作——对话+身体语言
原则:动作只在承担叙事功能(定位、阻碍、信息、伏笔、选择或结果)时才插入,不强制每轮。当对话缺乏节奏感时,可参考以下4种插入位置,但不得机械填充:
动作的4种插入位置:
- 说之前(姿态/情绪):他往后退了一步。「……」
- 说之中(打断/停顿):「我——」他咬住嘴唇。「——算了。」
- 说之后(反应):对方没接话。他把烟掐了。
- 沉默代替台词:她不说话,只盯着他看。
❌ 反例(纯对话,无动作):
「你到底想怎样?」
「我要一个解释。」
「没有什么好解释的。」
「那就别怪我不客气了。」
✅ 正例(对话+动作):
「你到底想怎样?」她把手机往桌上一拍。
「我要一个解释。」他没动。
她笑了。那种笑不对。「没有什么好解释的。」
「那就别怪我不客气了。」他站起来。椅子刮过地板,声音刺耳。
2.3 调语序——让对话更像"说"而不是"念"
口语 vs 书面语对照:
| 书面语(AI味) | 口语(人话) |
|---|
| 「你是否已经做出了决定?」 | 「想好了?」 |
| 「我需要你立刻离开这里。」 | 「走。现在。」 |
| 「这件事并不是你想象的那样。」 | 「不是你想的那样。」 |
| 「我对于这件事没有任何意见。」 | 「我没意见。」 |
| 「请你不要再继续纠缠这个问题了。」 | 「够了。别问了。」 |
| 「他所做的一切都是为了保护你。」 | 「他做这些都是为了保护你。」 |
语序调整口诀:
- 把"是否"删掉 → 直接发问
- 把"进行""做出""给予"删掉 → 动词直接上
- 把长定语拆短 → "那个站在门口穿着黑色衣服的男人" → "门口那男的,穿黑衣服的"
- 把状语调到动词后面或句首 → "他用力地把门推开" → "他推开门,使了劲的"
2.4 角色语言差异化复查
逐角色检查台词,确保每个角色的语言特征与 novel-draft 第3.2节的设定一致。特别注意:
- 底层角色说的话不能太文雅
- 高冷角色的台词最短,不带语气词
- 同性别角色之间要有区分度
❌ 反例:两个混混角色说话一样
阿强:「我觉得这个方法不太行。」
阿彪:「我也这么觉得。」
✅ 正例:两人说话要有差异
阿强:「这法子不行。」
阿彪:「扯淡。试试怕什么?」
三、画面感增强 — 五感描写体系
3.1 五种感官的使用时机
| 感官 | 最佳插入时机 | 密度 | 示例 |
|---|
| 视觉 | 新场景进入时(可选) | 用于定位或氛围暗示时可用 | 夕阳把整条街烧成了橙红色。 |
| 听觉 | 紧张/安静场景 | 每500字1处 | 走廊尽头传来脚步声。一下,一下,很慢。 |
| 触觉 | 打斗/身体接触/环境变化 | 打斗场景必要时才用 | 刀柄是冰的。握久了也没暖起来。 |
| 嗅觉 | 场景转换时/人物出现时(标志性气味) | 全文1-2处 | 她经过的时候,有一股旧书的味道。 |
| 味觉 | 吃/喝场景,或极端情绪(血腥味等) | 全文0-1处,非必需 | 嘴里全是铁锈味。 |
3.2 五感描写的密度控制
场景密度建议:
- 日常场景(街边/家里):视觉 + 听觉 = 够用
- 紧张场景(追逐/潜伏):视觉 + 听觉 + 触觉
- 重要场景(高潮/关键相遇):视觉 + 听觉 + 触觉 + 嗅觉(4感交织)
- 味觉:慎用,只在吃喝/受伤场景出现
3.3 五感描写正反例
❌ 反例(五感堆砌,AI味重):
他走进房间,看到破旧的墙壁,听到窗外传来的嘈杂声,闻到空气中的霉味,摸到桌面上的灰尘。
✅ 正例(五感自然穿插):
推开门,一股霉味。窗帘拉着,光线很暗。他在墙上摸开关——摸到一手灰。窗外有人在吵架,声音尖利。
3.4 环境描写的功能性原则
每个环境描写必须满足以下至少一个功能(否则删除):
- 暗示人物状态(破窗→人物的困境)
- 营造氛围(阴天→不祥预感)
- 推动剧情(灯光熄灭→事件即将发生)
- 人物关联(她桌上的照片→暗示过去)
❌ 反例(纯风景描写,无功能):
天空湛蓝,几朵白云飘过,微风轻拂,树叶沙沙作响。
✅ 正例(功能性环境描写):
天很蓝。蓝得不正常。他眯着眼看了三秒,发现那不是天——是屏障。
四、钩子强化 — 从"还行"到"必须点下一章"
4.1 钩子强度评估
拿到初稿的章末钩子后,用以下标准评定:
| 等级 | 特征 | 判定 |
|---|
| S级 | 读者看完必须立刻点下一章,不点睡不着 | 保持,不强化 |
| A级 | 有悬念但读者能猜到可能的发展方向 | 需要强化 |
| B级 | 有转折但力度不够,读者可看可不看 | 需要重写 |
| C级 | 没有钩子,平淡收尾,像段落结束 | 必须重写 |
4.2 钩子强化技巧(B→A, A→S)
技巧1:信息差压缩
弱钩子往往是信息量太大,读者已经猜到。
改法:删掉解释性内容,只留最反常的那个事实。
❌ B级:他打开盒子,里面是一张照片。照片上是十年前的他。原来这一切都是他的过去在追着他。
→ 说了太多,读者已经知道答案了。
✅ A级:他打开盒子。
里面是一张照片。
十年前的他。
照片背面写着一行字,字迹是他的:「别打开。」
技巧2:时间悬崖
弱钩子是静态的展示悬念。
改法:给悬念一个倒计时,制造紧迫感。
❌ B级:她发现了密室里的秘密文件,不知该怎么办。
→ 静态,读者已经在想"明天再说"。
✅ A级:她看完最后一行,墙上的钟正好走到三点。
走廊里响起了脚步声。
越来越近。
技巧3:视角强制限缩
弱钩子是上帝视角预告("他不知道,这将改变他的一生")。
改法:收缩到人物的第一视角感知,展现他感知到的反常细节。
❌ B级:他不知道,自己已经被盯上了。
→ 上帝视角,读者觉得作者在吓人。
✅ A级:烟抽到一半,他停了。
对面楼顶有什么东西在反光。一下,一下。
像在给他打信号。
技巧4:情感闪入
弱钩子是外部事件的悬念,读者跟人物没有情感共鸣。
改法:在外部事件中插入一个情感细节,让悬念带上温度。
❌ B级:门突然被敲响了。深夜来访,一定没好事。
→ 纯外部悬念。
✅ A级:门响了。
他手一抖,杯子掉在地上。不是因为突然——是因为他认得那个敲门声。
他妈以前就这样敲,三下,停一秒,再三下。
可她已经死了六年了。
技巧5:规则颠覆
弱钩子是已知规则内的悬念("更强的敌人来了")。
改法:打破已建立的规则,暗示更大的未知。
❌ B级:他的对手比他想象中强大得多。
→ 还是已知框架内的悬念。
✅ A级:他发现自己伤不了对方。不是因为对方多强——是他的技能图标全灰了。
系统提示音没有响。
取而代之的是一行他没见过的红字:「检测到宿主异常。系统已冻结。」
4.3 钩子强化操作流程
1. 定位钩子(本章最后3-4段)
2. 评估当前等级(S/A/B/C)
3. 如果是 S → 不改
4. 如果是 A → 用技巧1-3中的1种强化
5. 如果是 B → 用2种技巧叠加
6. 如果是 C → 从本章已有的伏笔/细节中找原料,用技巧重新构造钩子
7. 强化后自检:钩子是否≤200字?是否自然?是否戛然而止?
五、网感注入 — 自然加入网络梗和俚语
5.1 网感注入原则
- 宁缺毋滥:每章网感元素 1-3 处,绝不堆砌
- 服务于人物:网感是角色说的话,不是作者的评论
- 避免过时梗:不用明确时间标记的梗(年份梗、特定事件梗)
- 冷感注入:作者风格偏冷,网感也要冷——不说破,不解释
- 禁止大段玩梗:网感是调料,不是主菜
5.2 可用的网感元素类型
类型1:当代口语接头词
在人物对话中自然使用当代口语,不做解释。
| 可用词 | 词性 | 用法示例 |
|---|
| 就很 | 强调 | 「就很离谱。」 |
| 主打一个 | 概括 | 「主打一个不怕死。」 |
| 头铁 | 形容词 | 「这人头铁得很。」 |
| 社死/社恐 | 状态 | 「这一下直接社死。」 |
| 破防 | 情绪 | 「一句话给他整破防了。」 |
| 暴躁 | 状态 | 「暴躁老哥上线。」 |
| 人类迷惑行为 | 评价(少用) | 「这属于人类迷惑行为了。」 |
| 典/典中典 | 评价 | 「典。」 |
类型2:自嘲式内心独白
让人物用当代网感自嘲,而不是用旁白取笑人物。
❌ 反例(旁白取笑,AI味):
他笨拙的动作让人忍俊不禁,像个刚学走路的企鹅。
✅ 正例(人物自嘲):
他摔了第三次。干脆就这样了,躺在地上看天花板。「行吧,今天主打一个丢人。」
类型3:地域方言注入
根据书配置中定义的方言类型和词表,在人物口语中自然加入地域方言词汇。详细规范见 novel-draft §3.5(通用方言注入框架):仅限使用书配置 dialect_word_list 中的词,每章 3-5 处(或书配置定义的上限),仅限对话引号内,仅限书配置 dialect_characters 中的角色使用。
ℹ️ 方言类型由书配置决定——可能是粤语、四川话、东北话、上海话等。如果书配置未定义方言词表或方言类型为「无」,则跳过此类型。
以下是粤语示例(仅作格式演示,实际使用时从书配置读取):
| 常用方言词(粤语示例) | 含义 | 用法示例 |
|---|
| 冇 | 没/没有 | 「冇问题,我来。」 |
| 搞乜 | 搞什么 | 「搞乜啊?大半夜的。」 |
| 点解 | 为什么 | 「点解要我去?」 |
| 返屋企 | 回家 | 「收工,返屋企。」 |
✅ 正例(方言自然融入,具体词汇随书配置变化):
「搞乜啊,又是我去?」他把烟往地上一摔。
「顶。」没人理他。
类型4:冷幽默注入
在紧张或严肃场景中插入不破坏氛围的冷幽默。
❌ 反例(破坏氛围的硬幽默):
(生死关头)「哎呀妈呀吓死宝宝了!」
✅ 正例(冷幽默):
子弹擦着他耳朵过去。他摸了一下耳垂——还在。「运气不错。」又一颗过来。他改口:「……一般。」
类型5:网络语气词的自然使用
在对话中适当加入网络语气词,但控制频率。
| 可用 | 禁用(太旧/太刻意) |
|---|
| 啧、害、草(植物)、绝了、也是服了 | 蓝瘦香菇、神马都是浮云、我也是醉了 |
5.3 网感注入操作流程
1. 扫描全章,标记3个可以注入网感的位置(人物对话位置优先)
2. 判断该位置适合哪种类型(口语词/自嘲/方言/冷幽默/语气词)
3. 按类型规则注入,一处一种类型
4. 自检:
- 每个网感元素是否服务于人物?(不是作者的评论)
- 是否影响剧情的严肃性?(不该幽默的地方不幽默)
- 频率是否超标?(全章不超过3处)
六、全文节奏调节
6.1 段落拆分操作
扫描全章段落长度:
→ 每段 ≤ 5 行 ✓
→ 有 > 5 行的 → 找到可拆分点(场景切换/动作结束/对话回合结束)→ 拆成两段
6.2 句子长度调节
逐段扫描,取每段句子的字符数:
→ 连续3句差值 < 10 字符 → 调整中间句的长度
- 加速场景:削短中间句
- 舒缓场景:拉长中间句
6.3 节奏扫描
对照 novel-draft 第4.3节,逐场景检查节奏是否匹配:
- 打斗场景但句子很长 → 削短
- 铺垫场景但全都是短句 → 加1-2句稍长的描写
七、最终复查清单(输出定稿前)
八、输出
打磨后的本章定稿,格式与 novel-draft 输出一致:
## 第X章 <章节标题>
(正文,段落间空一行)
(章末钩子,戛然而止)
注意事项
- 打磨 ≠ 重写,保持初稿的剧情结构
- 如果审查报告为 ✅ 通过,仍执行第2-7章的所有打磨步骤
- 每次修改后对照原句确认核心信息不变
- 改完一处就读一遍上下文,确保流畅
- 如果某处反复改不好,标记为
[待定],不影响整体进度
- 容量退回铁律:POLISH 默认去冗余。删冗后番茄字数不足2200时,不得用环境/五感/机械动作补字,必须退回 novel-plot/novel-skeleton 补充有效冲突回合、主角主动决策、反方应对或收益反馈后重新生成。统一口径2200—2400,目标2250字。
- 不得靠 POLISH 补环境凑字数