框架: read-context修两处——L0定义+拼装序与预算序分离(L0尾置吃前缀缓存);恢复被四层化吞掉的逐来源取数细节(层=骨架,来源=操作单元)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
lili 2026-07-09 08:23:51 -07:00
parent 3aec0263ae
commit ed7f326875
2 changed files with 24 additions and 7 deletions

View File

@ -13,12 +13,27 @@ SoT 对齐:包结构=专题-03 §4.2 **四层上下文**;字段级 aiContext 裁
1. 读 `works/<书>/装配.yaml`:拿槽位绑定与知识绑定。**未绑定的 `knowledge/` 内容一律不读**(=Layer 3 的授权门)。
2. 读 `meta/schemas/` 相关型的 `aiContext`,得出本用途的可见字段集:`true` 可见;`false` 不可见;`[用途…]` 仅列出的用途可见。
3. 按**四层**取数并逐字段裁剪:
- **Layer 0 当前输入**(不可省略):任务目标+本章细纲(出自大纲当前章);
- **Layer 1 近邻正文**(续写不可省略):上一章末尾 12 个场景原文+再前一章 frontmatter 摘要+`状态.md`(伏笔台账/时间线/最新状态);
- **Layer 2 作品事实**(只读已确认):`设定.md` 四节(`generation` 裁掉「谜底与真相」「结局方向」「弃案记录」等)、大纲(`generation` 只取主线一句话+当前卷细纲+近三章细纲,「未来卷粗纲」仅 `planning`)、知识卡(只取本章出场清单涉及的卡及其关联卡,**不整库倾倒**;卡内字段同按 aiContext 裁,如「创作备忘」永不进包、「成长弧线」续写不进);
- **Layer 3 授权资料**(按场景可省):装配已绑定的公共范式卡。
4. 产出**上下文包**:按 Layer 0→3 分节拼装;超长先摘要化 L3/L2 再截断,L0 必须完整(预算顺序对齐专题-03 §4.2)。包尾附**裁剪回显**两段:字段级=被 aiContext 挡掉的字段名与原因;来源级=omittedSources(未绑定跳过的库、出场无关未选的卡数,原因对齐 `not_authorized`/`not_relevant`/`token_budget` 枚举)。
3. 按**四层**取数并逐字段裁剪——层是分组骨架,取数规则按**来源**逐条执行:
- **Layer 0 当前输入**(不可省略,每回合必变):
- 用户本回合意图:指令原文,不改写不转述;
- 操作对象:作品/章号/选区与 expectedRevision(改写场景必带);
- 本章细纲:出自大纲当前章条目;
- 输出合同:字数区间/frontmatter 要求/新设定申报块等(按 agent 的产出合同);
- L0 内部同按稳定度排:细纲在前(同章多轮重生成不变),本回合修改意见最后。
- **Layer 1 近邻正文**(续写不可省略):
- 上一章末尾 12 个场景**原文**(衔接锚,不得摘要化);
- 再前一章只给 frontmatter 摘要(一句话概要+出场+伏笔动作);
- `状态.md` **全文**(伏笔台账/时间线/角色最新状态)——"叙事现在时"快照,归近邻层。
- **Layer 2 作品事实**(一致性/规划不可省略;只读已确认):
- **设定**:`设定.md` 四节;`generation` 用途裁掉「谜底与真相」「结局方向」「弃案记录」等非 generation 字段;
- **大纲**:`generation` 只取主线一句话+当前卷细纲+近三章细纲;「未来卷粗纲」仅 `planning` 可见;
- **知识卡**:只取本章细纲出场清单涉及的人物/关系卡,及其**关联的地点/势力/功法/物品/事件卡**,**不整库倾倒**(planner/detector/extractor 按差异矩阵取全量索引);卡内字段同按 aiContext 裁——「创作备忘」永不进包,「成长弧线」续写不进(仅 planning/detection)。
- **Layer 3 授权资料**(按场景可省):
- **公共范式**:仅 `装配.yaml` 已绑定的库;按本章场景类型选卡(如打斗章带打斗卡),不整库带入;extractor/judge 此层关闭(见差异矩阵)。
4. 产出**上下文包**——两个顺序必须分开:
- **预算序**(谁不许被裁,对齐专题-03 §4.2):L0 必须完整保留;超长先摘要化 L3→L2,再截 L1,永不动 L0;
- **拼装序**(物理顺序,按稳定度递减,吃 prompt 前缀缓存):agent 系统 prompt → L3(按作品稳定) → L2(章间缓变) → L1(每章变) → **L0 尾置**(每回合变)。每回合只有尾部变化,前缀缓存全命中;任务指令尾置同时是遵循度最优位(recency)。
包尾附**裁剪回显**两段:字段级=被 aiContext 挡掉的字段名与原因;来源级=omittedSources(未绑定跳过的库、出场无关未选的卡数,原因对齐 `not_authorized`/`not_relevant`/`token_budget` 枚举)。
5. 回显落盘:`works/<书>/评审/上下文-第NNN章-<用途>.md`(运行噪音,gitignore 已挡,不提交)。
## 按 agent 的差异矩阵(骨架四层不变;差异=字段可见集 × 每层取数范围 × 层必省性)
@ -38,7 +53,7 @@ SoT 对齐:包结构=专题-03 §4.2 **四层上下文**;字段级 aiContext 裁
- **检测向持有基准**(detector):比对基准要全,与 writer 互补——writer 看不见的它必须看见;
- **评审向最小独立**(judge):**可见面 ≤ writer**——评委多知道的信息会变成"合理化脑补"的评分依据。
落地与演进:阶段一矩阵写死在本 skill;PG 版随功能链节点配置入库(矩阵本身是元数据,不散进各 agent prompt)。此矩阵是实验设计稿——SoT(专题-03 §4.2)只给到 scenario 级可省略性,逐 agent 策略由这里试出来,验证后回填。
落地与演进:阶段一矩阵写死在本 skill;PG 版随功能链节点配置入库(矩阵本身是元数据,不散进各 agent prompt)。此矩阵是实验设计稿——SoT(专题-03 §4.2)只给到 scenario 级可省略性,逐 agent 策略由这里试出来,验证后回填;「四层序=预算序、物理拼装序=稳定度递减(L0 尾置吃缓存)」这一区分 SoT 亦未言明,同为回填候选
PG 版(闭环 C4)只换 L2/L3 取数方式(search skill 召回+授权过滤),层结构与回显合同不变。

View File

@ -79,6 +79,8 @@ SoT 第三层「知识基座」(检索/切块/入库,明文不是 app
├── Layer 2 作品事实 设定四节+正式规划+状态台账+知识卡(仅出场+关联) ——只读已确认(Canonical)
└── Layer 3 授权资料 绑定的公共范式库/全局知识 ——按场景可省;必须有绑定授权
预算顺序:先留输出预算 → L0 完整保留 → L1 优先 L2 优先 L3;超限先摘要化低层再截断
拼装顺序(物理序,与预算序是两回事):按稳定度递减 系统prompt→L3→L2→L1→L0 尾置
——L0=本回合任务定义(用户意图+操作对象+细纲+输出合同),每回合必变;尾置则前缀缓存全命中
裁剪回显(落 评审/,验收证据):字段级=aiContext 裁剪清单(专题-06 §7)
+ 来源级=omittedSources(原因枚举:token_budget/not_authorized/stale_source/low_confidence/not_relevant/blocked)
```