skill-distribution-proposal.md 8.9 KB

Skill Distribution Proposal: 写作方法论的分层注入

现状诊断

当前架构

architect(LLM)→ planner(纯规则)→ composer(LLM)→ writer(LLM)→ auditor(LLM)

各 agent 的 skill 认知

Agent 用 LLM? 知道 skill? 实际情况
architect 是 部分 有"黄金三章法则""冲突开篇法"(硬编码�� prompt 里),但没有情绪升级、代入感、流水账修法
planner 否(纯规则引擎) 极少 只有 mood/scene/title directive(基于 cadence 分析的机械规则),不知道黄金三章、欲望驱动、情绪升级
composer 是 无 组装 contextPackage + ruleStack,不注入任何写作方法论
writer 是 全部(4500 tokens) 9 个方法论模块全塞在 system prompt 里
auditor 是 部分 有"爽点虚化""流水账"审查维度,但不知道"欲望驱动""情绪升级""盐溶于汤"
reviser 是 无 只有 tiered issues,不知道写作方法论

核心问题

  1. planner 是纯规则引擎,不调 LLM → 不能通过 prompt 注入 skill → 只能硬编码
  2. writer 扛了全部 skill(4500 tokens)→ 注意力分散 → 方法论被 lost in the middle
  3. architect 有一些 skill(黄金三章、冲突开篇)但不完整
  4. auditor 有审查维度但不知道对应的写作技法
  5. 层间没有 skill 传递机制 → planner 不知道黄金三章 → 生成的 goal 不包含"ch1 冲突开场"指令 → writer 的黄金三章规则被 goal 覆盖

方案:skill 按职责分层

原则

每个 agent 只拿它那个层级能用的 skill。不是"谁都塞全套",是"谁做什么决策就给它什么工具"。

层级划分

┌─────────────────────────────────────────────────────────┐
│ L1: 结构层 skill(architect + planner)                   │
│     · 决定"故事怎么组织"                                  │
│     · 黄金开篇(按语言区分):                               │
│       中文:黄金3章 ch1冲突 ch2金手指 ch3短期目标             │
│       英文:黄金5章 ch1冲突 ch2金手指 ch3目标                │
│              ch4第一个大爽点 ch5提升赌注/新势力介入            │
│     · 情绪波形:压制→释放→更大压制→更大释放                 │
│     · 节奏控制:连续 2 章高压后必须给呼吸空间               │
│     · 日常段必须为主线服务(万物皆为"饵")                  │
│     · 开篇场景限制:最多 1-2 场景、3 角色                  │
│     · 付费卡点意识(按语言区分):                           │
│       中文:第15章付费墙,但前3章决定留存                    │
│       英文:第6-8章付费墙,前5章必须建立强追读动力           │
├─────────────────────────────────────────────────────────┤
│ L2: 内容层 skill(writer)                                │
│     · 决定"每段话怎么写"                                  │
│     · 动作外化情绪(不写"他感到愤怒")                     │
│     · 盐溶于汤(价值观通过行为传达)                       │
│     · 五感描写(视觉/听觉/嗅觉/触觉/味觉)               │
│     · 具体化/可视化/熟悉感                                │
│     · 句式控制(少用"虽然但是"/"然而"/"了")               │
│     · 通过事件立人设(不用外貌描写堆砌)                   │
│     · 语言区分度(不同角色说话方式不同)                   │
├─────────────────────────────────────────────────────────┤
│ L3: 审查层 skill(auditor + reviser)                     │
│     · 决定"写得好不好"                                    │
│     · 流水账检测:有没有无冲突的���常流水叙述                │
│     · 欲望缺口检测:有没有制造读者的情绪缺口               │
│     · 人设一致性:角色行为是否由"经历+利益+性格"驱动        │
│     · 爽点密度:本章有没有至少一个读者满足点               │
│     · 代入感检查:主角困境是否有普遍性共鸣                 │
│     · AI-tell 检测:已有的确定性检查                       │
└─────────────────────────────────────────────────────────┘

具体实现

L1: architect + planner

architect(已有 LLM 调用):

  • 当前已有:黄金三章法则、冲突开篇法 → 保留
  • 需新增:情绪波形设计(volume_outline 里应该标注每卷的情绪曲线)
  • 需新增:付费卡点意识(前 6-8 章的 outline 要特别密集)

planner(纯规则引擎,不调 LLM):

  • 当前已有:moodDirective(连续高压后降调)、sceneDirective(连续同场景后换场)→ 保留
  • 需新增的硬编码规则:

    // 黄金开篇(按语言区分)
    const goldenLimit = language === "en" ? 5 : 3;
    if (chapterNumber <= goldenLimit) {
    intent.mustKeep.push(GOLDEN_CHAPTER_RULES[language][chapterNumber]);
    }
    
    // 付费卡点前强化钩子
    const paywallZone = language === "en" ? [4, 8] : [10, 15];
    if (chapterNumber >= paywallZone[0] && chapterNumber <= paywallZone[1]) {
    const msg = language === "en"
      ? "Paywall approaching — chapter must end with a strong cliffhanger that makes the reader unable to stop"
      : "本章结尾必须有强悬念钩子,读者即将进入付费区";
    intent.mustKeep.push(msg);
    }
    
    // 日常段服务主线
    if (cadence.moodPressure?.pressure === "low") {
    const msg = language === "en"
      ? "This quiet chapter must still plant a hook or advance a relationship — no pure filler"
      : "日常段必须埋伏笔或推关系,不可纯填充";
    intent.softConstraints.push(msg);
    }
    
  • 关键:planner 不是 LLM,不能"理解" skill → 只能把 skill 翻译成具体的 mustKeep/mustAvoid/directive 规则

L2: writer

  • 从 system prompt 移除 9 个完整方法论模块(-4500 tokens)
  • 替换为速查卡(~800 tokens)—— 只有规则,不需要例子(因为 L1 已经确保结构正确)
  • 完整方法论写进 style_guide.md(writer 读 style_guide,进入上下文但不占 system prompt 核心位置)

速查卡内容:

## 写作铁律
- 情绪用动作外化,不写"他感到愤怒",写"他捏碎了茶杯"
- 盐溶于汤:价值观通过行为传达
- 配角有自己的算盘,主角压服聪明人
- 五感代入:潮湿的短袖黏在后背上、医院消毒水的味
- 具体化:不写"大城市",写"三环堵了四十分钟的出租车后座"
- 句式:少用"虽然但是/然而/因此",用角色吐槽替代
- 禁止:资料卡式介绍角色 / 一次引入超3角色 / 众人齐声惊呼
- 人设三问:为什么?符合人设?读者突兀?

L3: auditor

  • 当前审查维度已有:爽点虚化、流水账 → 保留
  • 需新增维度描述(不是新代码,是审稿 prompt 里的维度说明):

    维度 N: 欲望缺口——本章是否制造了读者的情绪缺口(压制后期待释放)?
    维度 M: 代入感——主角的困境是否有普遍性?读者能否觉得"我也会这么做"?
    

改动量估算

文件 改动 大小
planner.ts 加黄金三章/付费卡点/日常服务主线的硬编码规则 ~30 行
writer-prompts.ts 9 个完整模块 → 1 个速查卡函数 -3500 tokens, +800 tokens
writer.ts initBook 路径 把完整方法论写入 style_guide.md ~20 行
continuity.ts 审稿维度描述加欲望缺口和代入感 ~10 行
architect.ts 加情绪波形和付费卡点提示 ~15 行

效果预期

指标 改前 改后
writer system prompt tokens ~8000 ~4300(-46%)
planner 黄金三章感知 ❌ ✅(硬编码规则)
planner 付费卡点意识 ❌ ✅(ch4-8 加强钩子)
auditor 欲望缺口检测 ❌ ✅
skill 跨层传递 writer 独扛 各层各司其职

风险

  1. planner 是纯规则引擎,硬编码规则不如 LLM prompt 灵活 → 但 planner 的决策本来就是结构性的,硬编码更可靠
  2. writer 速查卡可能不如完整版有效 → 但 style_guide 有完整版兜底,只是注意力层级低一些
  3. 改动涉及 4 个 agent → 需要回归测试 → 但每个改动都很小(10-30 行)