| name | abc-fenxi |
| description | ABC爽点循环结构分析。对已完成分章节概括的小说项目,自动提取每章的A(动机共情)/B(装逼反应)/C(嵌套突然)结构,输出 YAML 格式分析报告和全书爽点密度汇总。
由 chai-shu 主入口路由调用,也可独立触发。
当用户提到"ABC分析"、"爽点分析"、"ABC结构"时使用。
|
欢迎页(每次触发必须先完整输出此区块)
+======================================================================+
| |
| 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