---
name: cross-book-recall
description: 多对标跨书召回
sync-source: skills/story-long-write/references/cross-book-recall.md
---

# 跨书召回

## 触发
项目根 `拆文库/` 或项目 `对标/` ≥2 本启用。主对标书取 `设定/题材定位.md`「主对标书」字段，缺失则用字典序第一本并在 `gaps.main_benchmark_unspecified: true` / 导入报告中提示用户补。

> **数量规则**：主对标书最多 1 本，用于文风和最终正文输入；副对标 / 参考对标**不限制登记数量**。执行时不是只取 1 本副书，而是按题材相关性、引用强度和阶段预算逐本召回，超过预算时裁剪条目，不删除书目。

## 三道防线
1. 副对标 `文风.md` 不读，避免多本文风互相污染
2. 角色/剧情/设定模块可从所有副对标召回，但必须按「同题材 > 弱相关 > 参考」排序，并受每本/总量预算约束
3. narrative-writer 正文 prompt 只吃主对标文风/原文锚点 + 预算筛选后的 `副对标召回摘要`；不读取、不传入副对标 `文风.md` 或副书原文

## 跨题材判断
读每本副对标 `设定/题材定位.md`「题材类型」与「引用强度」：
- 同题材 + 引用强度=辅：全阶段可召回，按每本上限取条目
- 同题材 + 引用强度=参考：只取最相关条目，默认不超过每本上限的一半
- 弱相关：仅设定/大纲，每本 ≤1 条
- 不相关：跳过

排序规则：先按相关性（同题材 > 弱相关），再按引用强度（辅 > 参考），再按用户在 `对标书列表` 中的顺序；若缺少 `对标书列表` 或其中未登记某本书，则剩余副书按目录名/书名 Unicode 字典序稳定排序，并输出 `gaps.benchmark_registry_missing: true` 提示补全清单。副书数量不限；如果总条数超过阶段预算，裁条目不裁书目记录。

## 阶段消费
表中数字为**每本副对标召回上限**；同时设置阶段总预算，防止副书很多时挤爆上下文。`—` 行表示该文体无此阶段，整行忽略。

| 阶段 | 长篇产出 | 短篇产出 | 同题材每本上限 | 弱相关每本上限 | 阶段总预算 |
|------|---------|---------|----------------|----------------|------------|
| 设定 | `拆文报告.md` | `拆文报告.md` + `情节节点.md` | ≤2 | ≤1 | ≤8 |
| 大纲 | `章节/*_摘要.md` + `剧情/*.md` | `情节节点.md` + `写作手法.md` | ≤3 | ≤1 | ≤10 |
| 模块 | `角色/` + `剧情/` + `设定/` | — | ≤2 | 0 | ≤8 |
| 正文 | `文风.md` + 原文 | `写作手法.md` + 原文 | 0 | 0 | 0 |

## 输出要求

跨书召回输出必须包含：

```markdown
## 副对标召回摘要
| 书名 | 引用强度 | 相关性 | 召回阶段 | 召回条数 | 使用方式 |
|---|---|---|---|---|---|
| {书名} | 辅/参考 | 同题材/弱相关 | 设定/大纲/模块 | {n} | {用于补充某类结构，不进入文风/原文锚点} |
```

若副书很多，只输出被本阶段实际召回的条目；未召回的副书不代表被删除，只是本阶段预算未命中。正文阶段可传入本表作为结构/情绪/设定参考，但必须保留“副书不进文风、不进原文锚点”的边界。

## 拆文字段 → 写作参考
读 `_meta.json.structure_counts` 时，按此表回查对应写作 reference：

| 拆文字段 | 含义 | 写作参考 |
|---------|------|---------|
| `beats` | 结构段（开端/发展/高潮/结局） | `genre-catalog.md` 题材结构 |
| `hooks` | 钩子数 | `hooks-chapter.md` / `hooks-suspense.md` / `opening-design.md` |
| `setup_clues` | 反转铺垫线索 | `reversal-toolkit.md` |
| `character_archetypes` | 反差人物 | `character-design-methods.md` 三层标签反差 |
| `reusable_structures` | 可复用手法 | `genre-writing-formulas.md` / `writing-craft.md` |
| `reversal_type` | 反转类型（7 枚举） | `reversal-toolkit.md` 对应骨架 |
