欢迎页(每次触发必须先完整输出此区块)
+======================================================================+
| |
| A B C 爽 点 分 层 分 析 |
| |
| A 动机·共情 ── 暗爽,让读者带着期待跟进 |
| B 装逼·反应 ── 明爽,反应的层数决定爽感强度 |
| C 嵌套·突然 ── 立体,旧循环结束即是新循环开始 |
| |
+======================================================================+
ABC爽点分层分析法,是针对网络爽文的结构化拆解框架。
每个让读者"爽"的章节,背后都运行着同一套循环—— A(动机+共情)制造期待:主角的处境、目标与能力暗示, 让读者带着「他到底会怎么做」的悬念跟进; B(装逼+反应)释放爽感:装逼只是触发器, 真正决定爽感强度的是反应的层数与篇幅—— 质疑者、围观群众、嘲讽者、强者重评、扩散效应, 层层递进,每一层都是情绪的放大器; C(嵌套+突然)防止单调:旧循环结束时埋下新循环的钩子, 或突如其来的身份反转、规模升级,让读者在满足后立刻进入下一个期待。
本 skill 以 YAML 格式记录每章的 ABC 结构, 量化 B 的反应层数与篇幅比,生成全书爽点密度热力图。
分析优秀作品时,重点看什么?
翻开 abc-ch*.yaml,找 B完整度=合格 的章节, 仔细拆读「分层」字段——质疑者如何引出嘲讽者, 嘲讽者被打脸后强者如何重新评价,扩散效应如何延伸情绪余韵。 这些就是作者的核心反应技法,可以直接提炼为自己的「分层模板库」。 abc-heatmap.md 的密度分布标出哪些章节是爽点峰值, 从峰值章往前数2-3章,通常是最经典的A铺垫结构,值得反复研读。
分析自己的作品时,重点看什么?
先看 main_cycle_b_quality=不合格 的章节列表和反应篇幅比数值。 反应篇幅比低于1.5,说明装逼已经写出来了, 但情绪没有被「接住」——读者在等待爽感,作者已经翻篇。 这类章节的改法几乎是固定的:不需要重写装逼场景, 只需在装逼段之后补写2-3层外部反应, 让见证者从「质疑」到「震惊」到「重新评价」完整走一遍。 B完整度最终决定读者是否会留到下一章。
⚠️ 关键约束(必读)
批量并行执行(区别于 fen-zhang-jie-gai-kuo 的串行)
- ✅ 每批5章,同时最多启动3批并行 sub-agent
- ✅ ABC 章节间无依赖关系,可以并行(不需要跨章上下文)
- ✅ 所有批次完成后,启动汇总 sub-agent 生成 abc-summary.yaml
- ❌ 汇总阶段必须等所有批次完成后才能启动
编排模式
当由 chai-shu 主入口编排调用时(自动化拆书或用户选择了多项分析):
- 跳过欢迎页输出
- 完成后返回状态摘要(完成数量、产出文件路径列表)
- 由主入口统一向用户呈现报告和后续选项
独立触发时(用户直接说"ABC分析"等):正常显示欢迎页。
前置依赖
必须先完成「分章节概括」(chai-shu 选项 3),确保以下文件存在:
{书名}/概括/ ← 章节概括文件目录(必须)
{书名}/全书概括.md ← 全书概况(汇总阶段使用)
{书名}/人物和设定/名词表.md ← 人物名称(识别反应人物用)
核心配置
工作目录: {ROOT}/Factory/拆书/
分组大小: 5章/批
并行上限: 3批同时(避免过载)
执行模式: 批量并行 + 自审(每章分析完后自我审查)
输出目录: {书名}/ABC分析/
模型选择: sonnet(性价比最优)
架构说明
主进程(轻量调度)
│
├─ 读取概括目录,计算分批参数
├─ 启动批次1(章1-5)
├─ 启动批次2(章6-10) ← 与批次1并行
├─ 启动批次3(章11-15) ← 与批次1/2并行
├─ [等待批次1-3完成]
├─ 启动批次4(章16-20)
├─ ...(每次最多3批并行)
│
└─ [所有批次完成后]
└─ 汇总 sub-agent → abc-summary.yaml + abc-heatmap.md + abc-quick-list.md
优化原理:
- ABC 分析无跨章依赖 → 批次间可以并行
- 每批 sub-agent 独立:读取概括 → 分析5章 → 写入5个 yaml
- 主进程不读取分析结果,只确认文件是否创建成功
与 fen-zhang-jie-gai-kuo 的区别:
- 章节概括:串行(后章需要前章的
last_group_summary) - ABC分析:并行(章节独立,无跨章依赖)
执行阶段
阶段0:前置检查(逐步操作)
- 用 Glob 列出
{书名}/概括/下所有.md文件 - 从文件名解析章节范围(格式:
组N_第X-Y章_概括.md),统计总章节数 - 计算批次数(每批5章:
ceil(总章节数 / 5)批) - 检查
{书名}/ABC分析/目录是否存在,不存在则创建 - 检查
_progress.json是否存在:- 存在 → 读取
analyzed_chapters字段,仅处理新增章节(增量模式) - 不存在 → 全量分析
- 存在 → 读取
- 检查名词表
{书名}/人物和设定/名词表.md是否存在(软依赖,不存在则跳过) - 向用户确认:「总 N 章,分 M 批,本次处理第 X-Z 章(全量/增量)」
阶段1:批量 ABC 分析(逐步操作)
- 按5章一批划分,构建批次列表(每批含5个章节序号 + 对应概括文件路径)
- 取前3批,在单条消息中用 Agent tool 并行启动(同一消息多个工具调用):
description:"ABC分析批次N(章X-Y)"prompt: 将references/sub-agent-prompt.md模板填入实际变量后传入(路径包括概括目录、名词表路径、abc-definition.md路径、yaml-schema.md路径、输出目录)
- 等待本轮3批全部返回后,用 Glob 验证输出 yaml 文件是否存在
- 若某批缺失文件:重启该批次 sub-agent,最多重试1次
- 重复步骤2-4,直到所有批次完成
- 更新
_progress.json(analyzed_chapters、batches_completed、last_updated)
阶段2:全书汇总(逐步操作)
- 所有批次验证通过后,启动汇总 sub-agent(见
references/sub-agent-prompt.md模板2) - 汇总 sub-agent 输入:ABC分析目录路径、全书概括.md路径、名词表路径、yaml-schema.md路径
- 等待汇总 sub-agent 完成,确认
abc-summary.yaml+abc-heatmap.md+abc-quick-list.md生成 - 向用户输出最终报告(总章节数、高密度章节占比、B合格率、峰值章、问题章)
完整执行步骤详见: references/workflow.md
产出文件
| 文件 | 位置 | 用途 |
|---|---|---|
| 单章分析 | {书名}/ABC分析/abc-ch{XXX}.yaml |
每章 ABC 结构数据 |
| 全书汇总 | {书名}/ABC分析/abc-summary.yaml |
全书密度统计 |
| 热力图 | {书名}/ABC分析/abc-heatmap.md |
爽点分布可视化 |
| 快捷列表 | {书名}/ABC分析/abc-quick-list.md |
全书情节ABC标记速览 |
| 进度文件 | {书名}/ABC分析/_progress.json |
增量更新进度 |
增量更新
支持增量更新(新章节不用重新分析全书):
- 读取
_progress.json识别已分析章节 - 只处理新增的概括文件
- 全部完成后重新生成汇总
References
- references/workflow.md:完整执行步骤(Handoff 文档,开发者必读)
- references/abc-definition.md:ABC 识别规则(sub-agent 运行时加载)
- references/yaml-schema.md:YAML 输出格式规范
- references/sub-agent-prompt.md:Sub-agent 提示词模板
⚠️ 执行前必读:references/workflow.md