60 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
name: 抽取章节知识
description: 从已接受章节抽取实体、关系、事件和叙事状态草稿,并提出既有知识更新。正文进入 Canonical 后需要章后增量知识时使用;只产草稿,不自动确认知识。
disable-model-invocation: true
---
# 章后抽取(scenario: extraction | purpose: extraction | 槽位: 分析→extractor)
何时用:章被采纳(正文已确认)后,从新章更新作品知识面——U4 知识确认旅程的抽取端(C5)。**采纳正文≠确认知识**:本功能产出全是草稿。
另一用场:**拆解书稿(全书解析)的逐章内环**——存量章为输入、前 N-1 章积累的细纲与实体为上下文,字段 checklist 机制完全相同,外加一项:逆推本章细纲(章目标/关键事件/出场/伏笔动作/钩子)。
## 元数据驱动(本功能的核心机制)
**字段合同就是抽取 checklist**。对每个启用中的实体型(character/location/faction/power_system/item/event/character_relation):
1. 按该型「判据」筛出正文中的实例;立卡门槛:有跨章戏份或跨章履约,龙套与一次性道具不立卡;
2. 特有字段逐项在正文找证据填——schema 加字段,抽取产出立刻多一列;
3. 基础字段:来源=`抽取@第N章`,状态=`草稿`,别名收集正文用过的所有称呼。
## 动作三类
1. **新卡**:按上表立卡;
2. **既有卡更新**:境界突破/持有物变动/关系变化/知情范围扩大——改对应字段+卡内「变更记录」追一行(第N章:改了什么);
3. **冲突**:抽出事实与已确认卡矛盾时**不覆盖**——卡内加「⚠ 冲突待裁决」节,写两个版本与出处,升级用户(对应产品-03 冲突必人工)。
随后提议 `状态.md` 更新,结构按 `narrative_state.yaml` 字段:当前进度/即时局面/伏笔台账(本章埋·推·收)/角色状态速览/下章衔接要点。
## 纪律
- 以正文为准,不脑补正文没写的;置信度低的字段标「?」;
- 新设定申报块里的条目一并处理:成卡或并入既有卡,并在汇报中对账;
- 汇报:新卡/改卡/冲突/状态更新四清单+设计发现(字段缺口)。自动确认条件(自有正文+无冲突)的判定归主会话与 confirm,不归本功能。
## 数据边界
- 读写范围限于本 Skill 合同声明的表/文件;失败整体回滚,不留半写入状态。
- 模型调用走统一网关;raw 证据由 `记录运行证据` 归档。
## 复利合同
- 成功落库后经 `记录运行证据` 的 `propose_lesson_dedup` 登记 `example_lesson`(绑 run_id / work_id / chapter_order)。
- 升格仍走人工评审,不自动把单次章抽升为公共范式。
## 失败关闭
- 正文为空、章节不存在、模型输出无法绑定正文证据:`finish_run(..., failed)` 且不写半成品 draft。
- 证据字段无法修复时 salvage 仅保留可逐字锚定条目;仍无法落库则整次失败,事务不提交。
- 模型调用走 `chat_governed`;全链耗尽记失败 run,不静默跳过。
## 输入
- 用户明确点名本 Skill 所服务的创作阶段任务包(作品、章节/场景范围、冻结上下文摘要)。
- 只消费 本 Skill 的 `references/` 目录 中与当前阶段相关的合同段落。
## 输出
- 面向当前任务的可执行判断、检查清单或改写建议(Markdown 结构化段落)。
- 不直接落库、不代替 `写下一章` / `决定正文候选去留` 写 Canonical。