120 lines
7.3 KiB
Markdown
120 lines
7.3 KiB
Markdown
---
|
||
name: 规划下一章
|
||
description: 根据已确认规划、叙事状态和冻结事实生成下一章结构细纲草稿。正文生成前需要明确章目标、事件因果、出场实体、伏笔动作和章末钩子时使用;不写正文、不读取目标章答案。书级设定/大纲/装配归 制定作品规划;本 Skill 是 section_type=fine_outline 的唯一写入方(经 persist_planning.py --owner-skill 规划下一章)。
|
||
disable-model-invocation: true
|
||
---
|
||
|
||
# 细纲规划(`scenario: fine_outline`)
|
||
|
||
何时用:在正文生成前,把作品大纲、当前状态和已授权设定组织成单章结构细纲。评测回放使用同一合同,但把上下文固定为 `as_of` 冻结快照;正式创作可以按产品授权扩展到连续章节或全书规划。
|
||
|
||
**与 `制定作品规划` 的分工**:书级设定/大纲/状态/装配归 `制定作品规划`;**下一章可写细纲**(`fine_outline` schema)只由本 Skill 产出并落库。`制定作品规划` 不得写入 `section_type=fine_outline`。落库示例:
|
||
|
||
```bash
|
||
.venv/bin/python muse/lifecycle/flow/skills/book/制定作品规划/scripts/persist_planning.py write <payload.json> \
|
||
--work-id N --section-type fine_outline --target-chapter M --schema-type fine_outline \
|
||
--owner-skill 规划下一章
|
||
```
|
||
|
||
## 输入合同
|
||
|
||
上下文必须由 `准备任务上下文` 组装,至少包含四层中的以下部分:
|
||
|
||
- **L0 当前任务**:目标章号、章节输出合同、用户意图和未知项纪律;
|
||
- **L1 叙事现在时**:截至当前章的状态、活动线程和必要的近章结构摘要;
|
||
- **L2 作品事实**:已确认的大纲、设定、知识卡和伏笔台账;
|
||
- **L3 授权资料**:仅使用装配层已绑定、且来源授权允许本次用途的资料。
|
||
|
||
回放模式额外要求:所有来源的绝对章号或完整窗口上界必须 `<= as_of`。目标章正文、目标章细纲、目标章出场清单、未来里程碑和终态摘要不得进入规划上下文。无法证明时间边界的来源按未知处理,不凭名称或窗口号猜测。
|
||
|
||
## 规划步骤
|
||
|
||
1. 先确认章节在当前大纲弧线中的位置,写出本章戏剧目标和承接关系。
|
||
2. 再按因果顺序拆关键事件:触发、参与者、行动、结果方向和不可逆变化必须能互相解释。
|
||
3. 将实体只列为本章确实需要的角色、势力、地点、物品或规则,并标明本章作用;不能把目标章答案反推成实体清单。
|
||
4. 对伏笔明确写 `埋`、`推进`、`回收` 或 `不确定`,不得把冻结资料没有证明的结果静默写成确定事实。
|
||
5. 写出章末状态变化和下一步钩子;无法由来源支持的细节放入 `unknowns` 或 `assumptions`。
|
||
6. 输出前逐字段自查,确认没有正文段落、对白、原文复述、目标章引用或未来来源引用。
|
||
|
||
## 输出合同
|
||
|
||
字段权威 = [`fine_outline.yaml`](../../../../../content/meta/schemas/fine_outline.yaml);本节是该合同的产出侧说明,字段集以 yaml 为准。候选必须是一个结构化对象,字段完整且顺序稳定。
|
||
|
||
**必填**(writer 装配与机械门的硬依赖,缺一不得落库、不得装配):
|
||
|
||
```yaml
|
||
targetChapter: 489
|
||
sourceRef: { sourceId: "outline:volume_1", sourceVersion: "v1" }
|
||
chapterGoal: "本章要完成的戏剧任务"
|
||
hardConstraints:
|
||
- "衔接上一章结尾的不可逆事实;设定约束;不可删除/反转/提前回收"
|
||
keyEvents:
|
||
- id: event-1
|
||
order: 1
|
||
event: "事件"
|
||
participants: ["实体"]
|
||
trigger: "触发因果"
|
||
resultDirection: "结果方向"
|
||
adjustableBeats:
|
||
- "允许 writer 自由处理的次序与比重(不改硬约束)"
|
||
declaredNewFacts:
|
||
- factId: "fact-chN-1"
|
||
text: "本章宣告的新事实"
|
||
sourceRef: { sourceId: "outline:volume_1", sourceVersion: "v1" }
|
||
mustAppearEntities: ["实体名"]
|
||
chapterEndHook: "章末钩子"
|
||
```
|
||
|
||
**推荐**(规划表达力;落库字段覆盖门禁会检查,确无依据时显式标注「字段存疑:原因」):
|
||
|
||
```yaml
|
||
foreshadowing:
|
||
- action: 推进 # 埋 | 推进 | 回收 | 不确定
|
||
subject: "伏笔"
|
||
evidence: "来源 ID 或 unknown"
|
||
entities:
|
||
- name: "实体"
|
||
type: character
|
||
role: "本章作用"
|
||
stateChanges: ["可观察的状态变化"]
|
||
unknowns: ["无法由当前资料证明的内容"]
|
||
assumptions: ["为组织结构暂时采用的假设"]
|
||
sourceRefs: ["冻结快照中的 sourceId"]
|
||
targetChars: 4000 # 可选,受 2000–10000 硬边界
|
||
```
|
||
|
||
字段纪律:`hardConstraints`、`adjustableBeats`、`keyEvents`、`declaredNewFacts`、`mustAppearEntities`、`foreshadowing`、`entities`、`stateChanges`、`unknowns`、`assumptions` 必须是数组;`chapterGoal` 和 `chapterEndHook` 必须是字符串;`sourceRef` 必须是含 `sourceId/sourceVersion` 的对象。`keyEvents` 规范形为因果对象(触发·参与者·行动·结果方向须互相解释),兼容纯字符串旧形,但新细纲一律用对象形。`declaredNewFacts` 是 `{factId,text,sourceRef}` 对象,不是纯字符串。`sourceRefs` 可选,存在时只能引用快照登记的 `sourceId`,不能粘贴原文。`entities`(带本章作用,供覆盖审计)与 `mustAppearEntities`(硬出场名单,供机械门)分工,不互相替代。
|
||
|
||
## 回放专用红线
|
||
|
||
- 不得使用参考作品的目标章细纲作为生成输入;它只能在独立评审侧作为 `reference scaffold proxy`;
|
||
- 不得输出正文、场景对白、完整原文摘要或“我猜原书下一章是……”之类的答案复述;
|
||
- 不得因为知识卡存在而减少对公共大纲和叙事现在时的使用;卡是检索索引和事实补充,不替代公共上下文;
|
||
- 正确卡、无卡、错配卡三臂只能改变卡注入分区,其他任务、模型、预算和输出合同保持一致;
|
||
- 不确定事实显式留在 `unknowns`,审查智能体据此区分资料缺失和规划错误。
|
||
|
||
## 产物边界
|
||
|
||
候选细纲属于 Shadow 草稿,只进入临时评测目录或 `works/<书>/评审/` 的运行噪音,不直接写入正式大纲、知识库或正文。评测最终只保留结构评分、摘要、章节定位、阻断类别和哈希。
|
||
|
||
## 数据边界
|
||
|
||
- 写:`example_planning_section`(`section_type=fine_outline`,须 `--owner-skill 规划下一章`);执行证据经 `record_planning_execution` 写 run/raw/receipt,并可写 `example_lesson`。
|
||
- 不读目标章正文/答案细纲;不写 Canonical 正文。
|
||
|
||
## 红线
|
||
|
||
- 不得绕过 `FINE_OUTLINE_OWNER` 用 `制定作品规划` 默认 owner 写入 `fine_outline`。
|
||
- 不得输出正文、对白或目标章答案复述(见「回放专用红线」)。
|
||
- 未确认细纲不得进入 writer 生成上下文。
|
||
|
||
## 失败关闭
|
||
|
||
- `persist_planning.py write`:缺 `target_chapter`、字段覆盖门禁失败、owner 不符 → 整单不落库。
|
||
- `record_planning_execution`:section 不存在或落库异常 → 非零退出,不半写证据。
|
||
|
||
## 复利合同
|
||
|
||
- **消费**:已确认书级规划、叙事状态、冻结事实(经 `准备任务上下文`)。
|
||
- **回写**:`fine_outline` 经 `persist_planning.py --owner-skill 规划下一章` 落库后,由 `制定作品规划/scripts/record_planning_execution.py` 的 `propose_lesson_dedup` 登记「规划 section 已持久化:fine_outline」(与 制定作品规划 共用 recorder,避免双写)。
|