文件内容
references/context-feeding-strategy.md
# 上下文喂入策略
> **第15章后任何模型都无法装下全部前文,必须严格按以下策略执行。**
---
## 三层喂入架构
```
┌─────────────────────────────────────────────────────────────┐
│ 上下文喂入三层架构 │
├─────────────────────────────────────────────────────────────┤
│ 【固定层】始终喂入(≤6500字) │
│ ├── 世界观摘要(≤1500字) │
│ ├── 角色圣经摘要(≤2000字) │
│ └── 全书大纲(≤3000字) │
├─────────────────────────────────────────────────────────────┤
│ 【滚动层】按需滚动 │
│ ├── 最近3章原文 │
│ ├── 滚动摘要(每5章生成,≤2200字) │
│ └── 每5章触发:RollingSummarizer 生成/更新滚动摘要 │
├─────────────────────────────────────────────────────────────┤
│ 【按需层】本章相关条目 │
│ ├── 本章相关伏笔(从 plot-tracker.md 筛选) │
│ └── 本章相关关系变动(从 relationship-tracker.md 筛选) │
├─────────────────────────────────────────────────────────────┤
│ 【禁止】❌ 一次性喂入全部前文原文 │
└─────────────────────────────────────────────────────────────┘
```
---
## 滚动摘要生成规则(强制执行)
| 触发时机 | 执行动作 | 输出位置 |
|----------|----------|----------|
| 完成第5章 | RollingSummarizer 生成 Ch1-5 摘要 | references/rolling-summary.md |
| 完成第10章 | RollingSummarizer 生成 Ch6-10 摘要(追加) | references/rolling-summary.md |
| 每完成5章 | 同上模式,追加新段落 | references/rolling-summary.md |
| 完成幕/大节点 | 立即生成一次 | references/rolling-summary.md |
### 滚动摘要 Prompt 模板
```
你是小说压缩专家。请将以下前N章内容压缩为≤2200字的故事摘要。
【压缩原则】
- 避免机械复述情节,优先提炼:转折意义、情绪峰值、悬念张力
- 用提纲+叙述结合的方式,语言高度概括
- 严格控制在2200字以内
【输出格式】
## 滚动摘要 ChX-ChY
### 主题进展与情感主弧
(当前段落的主题走向、核心情感弧线变化)
### 核心角色当前心理状态与关系变化关键节点
(重点角色此刻的心理状态、关键关系转折点)
### 已埋设但未回收的重要伏笔清单
(按编号列出,带一句话描述伏笔内容和埋设章节)
### 当前世界/势力/主角状态概要
(世界局势、主要势力状态、主角当前处境/修为/位置)
```
---
## 执行要求(强制)
每次调用 MainWriter、OOCGuardian、FinalReviewer 前,Coordinator 必须先列出“本次实际喂入的上下文清单”。
最低要求:
- 固定层是否齐备
- 滚动层是否齐备
- 按需层是否齐备
- 是否附带 `meta/style-anchor.md` 全文
若无法明确列出,视为上下文准备未完成,不得直接调用写作 Agent。
## 各 Agent 上下文限制
| Agent | 喂入策略 |
|-------|----------|
| MainWriter | 固定层 + 滚动层 + 本章规划 + style-anchor.md 全文 |
| OOCGuardian | 固定层 + 滚动摘要 + 本章 + 前1章原文 |
| BattleAgent | 战斗专用:相关段落 + 前后500字 + 角色战力 + 力量体系 |
| FinalReviewer | 固定层 + 滚动摘要 + 本章 + 按需层 |
| ReaderSimulator | 固定层 + 滚动摘要 + 最近2章原文 |
| RollingSummarizer | 前期摘要 + 最近5章原文 |
---
## 固定层内容生成指南
> **生成责任:** 固定层摘要由 `RollingSummarizer` 负责生成与更新,并写入 `references/fixed-context.md`。Phase 1 完成后首次生成;后续仅在世界观/角色设定发生重大变更时由 Coordinator 触发重新生成。
### 世界观摘要(≤1500字)
由 `RollingSummarizer` 从 `worldbuilding/world.md` 提取:
- 世界框架(名称/时代/地理概览)
- 力量体系(等级/规则/代价)
- 势力格局(主要势力及关系)
- 核心悬念(1-2句话)
### 角色圣经摘要(≤2000字)
由 `RollingSummarizer` 从 `characters/protagonist.md` + `characters/characters.md` 提取:
- 主角:性格核心+当前状态+核心关系
- 重要配角(每人2-3句话):性格+与主角关系+当前状态
- 反派:目的+当前态势
### 全书大纲(≤3000字)
直接使用 `outline/outline.md`(通常不超过3000字)。
> ⚠️ **若 `outline/outline.md` 超过3000字**:由 `RollingSummarizer` 生成压缩版大纲摘要,写入 `references/fixed-context.md` 的"全书大纲摘要"节。Coordinator 在喂入固定层时使用摘要版,而非原文全文。触发时机:Phase 1 完成后首次生成,或大纲发生重大变更后由 Coordinator 手动触发重新生成。