8.3 KiB
Raw Blame History

name, description
name description
read-context 组装智能体上下文包——统一创作数据读取器(专题-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 近邻正文(续写不可省略):
      • 上一章末尾 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 相同) → 章级基线包(跨 agent 共享缓存段)=L2 作品事实+L1 近邻正文+L0 稳定部(本章细纲),按 writer 的 generation 可见集组装(最保守视图:底牌全闭) → agent 身份段(角色指令=agent prompt 正文,后置于基线包) → 功能指令段(meta/chains/ 本次 scenario 的一段,其余功能指令不进上下文;同功能多回合稳定) → 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) 本章细纲+任务 :上章尾 12 场景原文+前章摘要+状态 必:设定(裁底牌)+近三章细纲+仅出场卡 按本章场景类型选绑定范式卡
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,不许智能体自己翻仓库。