--- name: read-context description: 组装智能体上下文包——统一创作数据读取器(专题-06 §7)的阶段一实现。任何智能体要作品上下文,必须经这套流程;按 schema 的 aiContext 逐字段裁剪并落回显。 --- # 组装上下文(统一读取器) SoT 对齐:包结构=专题-03 §4.2 **四层上下文**;字段级 aiContext 裁剪=专题-06 §7 统一读取器。 **输入**:作品名、功能(scenario,专题-03 §4.1:continuation/rewrite/expansion/polish/extraction/full_parse/planning/validation/consistency_check/quality_gate)、目标(如"写第7章")。**用途(purpose)由 scenario 映射**——生成类→`generation`,抽取类→`extraction`,规划→`planning`,检测类→`detection`,quality_gate→基线包即 writer 视图;purpose 定字段可见集(aiContext),scenario 定功能指令段(`meta/chains/`)与 L0 形态,两者不混。 ## 步骤 1. 读 `works/<书>/装配.yaml`:拿槽位绑定与知识绑定。**未绑定的 `knowledge/` 内容一律不读**(=Layer 3 的授权门)。 2. 读 `meta/schemas/` 相关型的 `aiContext`,得出本用途的可见字段集:`true` 可见;`false` 不可见;`[用途…]` 仅列出的用途可见。 3. 按**四层**取数并逐字段裁剪——层是分组骨架,取数规则按**来源**逐条执行: - **Layer 0 当前输入**(不可省略,每回合必变): - 用户本回合意图:指令原文,不改写不转述; - 操作对象:作品/章号/选区与 expectedRevision(改写场景必带); - 本章细纲:出自大纲当前章条目; - 输出合同:字数区间/frontmatter 要求/新设定申报块等(按 agent 的产出合同); - L0 内部同按稳定度排:细纲在前(同章多轮重生成不变),本回合修改意见最后。 - **Layer 1 近邻正文**(续写不可省略): - 上一章末尾 1–2 个场景**原文**(衔接锚,不得摘要化); - 再前一章只给 frontmatter 摘要(一句话概要+出场+伏笔动作); - `状态.md` **全文**(伏笔台账/时间线/角色最新状态)——"叙事现在时"快照,归近邻层。 - **Layer 2 作品事实**(一致性/规划不可省略;只读已确认): - **设定**:`设定.md` 四节;`generation` 用途裁掉「谜底与真相」「结局方向」「弃案记录」等非 generation 字段; - **大纲**:`generation` 只取主线一句话+当前卷细纲+近三章细纲;「未来卷粗纲」仅 `planning` 可见; - **知识卡**:只取本章细纲出场清单涉及的人物/关系卡,及其**关联的地点/势力/功法/物品/事件卡**,**不整库倾倒**(planner/detector/extractor 按差异矩阵取全量索引);卡内字段同按 aiContext 裁——「创作备忘」永不进包,「成长弧线」续写不进(仅 planning/detection);**「演变历程」(各实体型完整历史层的里程碑数组)续写不进(仅 detection/extraction)**——对续写关闭不是防剧透(台阶都已发生),而是怕上万字明细撑爆上下文;续写只需当前态+「演变概括」一句梗概,一致性检查才读全历史查跳级穿帮。 - **Layer 3 授权资料**(按场景可省): - **公共范式**:仅 `装配.yaml` 已绑定的库;按本章场景类型选卡(如打斗章带打斗卡),不整库带入;extractor/judge 此层关闭(见差异矩阵)。 4. 产出**上下文包**——两个顺序必须分开: - **预算序**(谁不许被裁,对齐专题-03 §4.2):L0 必须完整保留;超长先摘要化 L3→L2,再截 L1,永不动 L0; - **拼装序**(物理顺序,按稳定度递减,吃 prompt 前缀缓存):**通用系统位**(一句极简声明,全 agent 相同) → **章级基线包**(跨 agent 共享缓存段)=L2 作品事实+L1 近邻正文+L0 稳定部(本章细纲),**按 writer 的 generation 可见集组装**(最保守视图:底牌全闭) → **agent 身份段**(角色指令=agent prompt 正文,后置于基线包) → **功能指令段**(本次 scenario 的功能 skill,其余功能的指令不进上下文;同功能多回合稳定) → **agent 增量段**(差异矩阵的增量,**只加不减**:detector 补底牌+知识全集/extractor 补 schema 合同+既有知识/judge 补 rubric/planner 补底牌+未来粗纲;L3 授权资料/检索结果;待检待评对象) → **L0 易变部**=用户本回合意图/修改意见(每回合必变,**绝对尾置**,亦是遵循度最优位)。 - 跨 agent 复用机理:同章流水线(writer→detector→judge→extractor)基线包**字节一致**(本 skill 必须确定性渲染:同序、无时间戳),首跑写缓存(+25%),后续 agent 读缓存(1/10 价)。安全性两头锁死:基线=writer 视图保证**无人多看**(writer 基线 ⊆ 其余各 agent 可见面);增量只加不减保证**无人少看**。同一 agent 的重生成/复评环在此之上再吃更长前缀。 - 缓存注记:L3 检索查询尽量从本章细纲构造,意图只在用户点名新参考时追加——使 L3 章内趋稳,同章 n=5 重生成环吃到更长前缀。 - 归属判据(什么进身份段,什么进层):**换作品也不变**的进 agent 身份段(角色/方法论/agent 级输出合同/红线);**随作品变**的进 L2(文风画像/设定——身份段不得硬编任何作品专属内容,这是「换绑写手不动链」的前提);**随回合变**的进 L0 易变部。**种子=prompt 文本,位置=装配层决定**。 - 落地口径:阶段一 Claude Code 子代理机制把 agent `.md` 钉在系统位、各 agent tools 也不同,跨 agent 共享物理上不成立——实验量小,不为省缓存把五个角色并成通用执行器;**阶段二 muse Context Assembly 完全控制消息布局,按本条共享前缀设计落**。「预算序≠拼装序+章级基线包共享前缀」整体列为回填专题-03 候选。 包尾附**裁剪回显**两段:字段级=被 aiContext 挡掉的字段名与原因;来源级=omittedSources(未绑定跳过的库、出场无关未选的卡数,原因对齐 `not_authorized`/`not_relevant`/`token_budget` 枚举)。 5. 回显落盘:`works/<书>/评审/上下文-第NNN章-<用途>.md`(运行噪音,gitignore 已挡,不提交)。 ## 按 agent 的差异矩阵(骨架四层不变;差异=字段可见集 × 每层取数范围 × 层必省性) | agent(scenario) | L0 当前输入 | L1 近邻正文 | L2 作品事实 | L3 授权资料 | |---|---|---|---|---| | writer(generation) | 本章细纲+任务 | **必**:上章尾 1–2 场景原文+前章摘要+状态 | 必:设定(裁底牌)+近三章细纲+**仅出场卡** | 按本章场景类型选绑定范式卡 | | planner(planning) | 规划任务+范围 | 可省:近章摘要即可 | **必**:可见度最高——底牌字段开+未来卷粗纲开+知识卡**全量索引** | trope/公式类范式优先 | | extractor(extraction) | 抽取任务+目标型清单 | 待处理章**全文**(是处理对象,不截尾) | schema 字段合同+既有知识**全集**(判重/判冲突) | **关**:防外部范式诱导脑补 | | detector(detection) | 检测任务+待检候选全文 | 必:近邻正文(连续性比对) | **必**:知识全集+状态台账+**底牌开**(查提前泄底必须知道谜底) | 范式卡「失效风险」字段可选 | | judge(quality_gate) | 待评候选+rubric | 随基线包 | **=writer 基线**(共享前缀;评设定一致性需同一基准,不另加底牌) | **关**:不拿范式当标准答案 | 方向性规律(统合策略的魂): - **生成向防剧透**(writer):底牌闭——知道结局的作者写不出"不知道结局"的叙述; - **规划向看全局**(planner):底牌全开——规划正是管理底牌的地方; - **抽取向忠于原文**(extractor):参考关闭——给参考就会把参考抄进抽取结果; - **检测向持有基准**(detector):比对基准要全,与 writer 互补——writer 看不见的它必须看见; - **评审向同证独立**(judge):**可见面=writer 基线,不多不少**——多于 writer,会拿写手看不见的信息"合理化脑补";少于 writer,评不了设定一致性。 落地与演进:阶段一矩阵写死在本 skill;PG 版随功能链节点配置入库(矩阵本身是元数据,不散进各 agent prompt)。此矩阵是实验设计稿——SoT(专题-03 §4.2)只给到 scenario 级可省略性,逐 agent 策略由这里试出来,验证后回填;「四层序=预算序、物理拼装序=稳定度递减(L2→L1→L0稳→L3→L0变,易变尾置吃缓存)」这一区分 SoT 亦未言明,同为回填候选。 PG 版(闭环 C4)只换 L2/L3 取数方式(search skill 召回+授权过滤),层结构与回显合同不变。 ## 红线 - 不得绕过裁剪把整文件塞给智能体; - 裁剪清单必须如实——它是场景 A3/A7 的验收证据; - 本 skill 是唯一取数通道:智能体缺什么上下文,改这里或改 schema,不许智能体自己翻仓库。