From bf0b218f7c621910ceedc4b3107c4d457fec52d9 Mon Sep 17 00:00:00 2001 From: moranzhi Date: Wed, 9 Sep 2026 03:06:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E4=B8=96=E7=95=8C=E6=A8=A1?= =?UTF-8?q?=E6=8B=9F=E9=85=8D=E6=96=B9=E4=B8=8E=E6=8B=93=E6=89=91=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=EF=BC=8C=E9=BB=98=E8=AE=A4=E6=A7=BD=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E4=BB=85=E4=B8=BB=E4=B8=96=E7=95=8C=E5=B1=82=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 创作收成与模板说明跟运行时默认对齐,避免仍默认勾上转述与旁观。 Co-authored-by: Cursor --- .../modules/context-order/prompt.md | 39 ++++++---------- .../world-simulator/modules/refine/prompt.md | 44 +++++++------------ .../modules/worker-spec/prompt.md | 44 ++++++++++--------- .../recipes/world-simulator/recipe.yaml | 14 +++--- .../worker-templates/README.md | 8 ++-- .../worker-templates/world-simulator.yaml | 25 ++++++----- 6 files changed, 77 insertions(+), 97 deletions(-) diff --git a/skills/dialogue/world-simulator/modules/context-order/prompt.md b/skills/dialogue/world-simulator/modules/context-order/prompt.md index ee863c8..a280ef0 100644 --- a/skills/dialogue/world-simulator/modules/context-order/prompt.md +++ b/skills/dialogue/world-simulator/modules/context-order/prompt.md @@ -99,7 +99,7 @@ feeds: design_only "label": "主世界层", "enabled": true, "when": "every_turn", - "duty": "读真值与规则,出裁决包", + "duty": "读真值与规则,直接写用户可见正文", "inserts": [ { "order": 0, "ref": "worker.persona", "projection": "fixed" }, { "order": 1, "ref": "设计.舞台骨架", "projection": "summary" }, @@ -107,39 +107,27 @@ feeds: design_only { "order": 3, "ref": "设计.变量设计与更新规则", "projection": "summary" }, { "order": 4, "ref": "设计.生成规则", "projection": "summary" }, { "order": 5, "ref": "设计.叙事指南与故事推进", "projection": "summary" }, - { "order": 6, "ref": "对话.历史", "projection": "summary" }, - { "order": 7, "ref": "变量.当前", "projection": "fields" }, - { "order": 8, "ref": "用户.最新输入", "projection": "full" } + { "order": 6, "ref": "设计.正文组成", "projection": "summary" }, + { "order": 7, "ref": "对话.历史", "projection": "summary" }, + { "order": 8, "ref": "变量.当前", "projection": "fields" }, + { "order": 9, "ref": "用户.最新输入", "projection": "full" } ] }, { "id": "narrator", "label": "叙事转述", - "enabled": true, + "enabled": false, "when": "every_turn", - "duty": "只把裁决写成用户可见正文", - "inserts": [ - { "order": 0, "ref": "worker.persona", "projection": "fixed" }, - { "order": 1, "ref": "设计.叙事指南与故事推进", "projection": "summary" }, - { "order": 2, "ref": "设计.正文组成", "projection": "summary" }, - { "order": 3, "ref": "运行.本轮.裁决", "projection": "full" } - ] + "duty": "只把裁决写成用户可见正文(默认关)", + "inserts": [] }, { "id": "auditor", "label": "旁观维护", - "enabled": true, + "enabled": false, "when": "every_turn", - "duty": "回合末查表/补规则,不写正文", - "inserts": [ - { "order": 0, "ref": "worker.persona", "projection": "fixed" }, - { "order": 1, "ref": "设计.变量设计与更新规则", "projection": "summary" }, - { "order": 2, "ref": "设计.生成规则", "projection": "summary" }, - { "order": 3, "ref": "设计.变量控制上下文", "projection": "summary" }, - { "order": 4, "ref": "运行.本轮.裁决", "projection": "full" }, - { "order": 5, "ref": "变量.当前", "projection": "fields" }, - { "order": 6, "ref": "用户.最新输入", "projection": "full" } - ] + "duty": "回合末查表/补规则,不写正文(默认关)", + "inserts": [] }, { "id": "perspective", @@ -161,8 +149,7 @@ feeds: design_only - [ ] 未重写上游长文,只有排序/投影 - [ ] 未把游玩选项示例当成当前提问 - [ ] 已启用的每轮槽有 order 0 人设位 -- [ ] 主世界层含「对话.历史」;转述与旁观维护默认无历史 -- [ ] 旁观维护含「运行.本轮.裁决」;转述含裁决且不含历史 +- [ ] 主世界层含「对话.历史」;转述与旁观若启用则默认无历史 +- [ ] 与游玩拓扑勾选一致(默认仅 gm);有随机范围表则已挂 gm - [ ] 少变块整体靠前、本轮/真值靠后(软规则) -- [ ] 与游玩拓扑勾选一致;有随机范围表则已挂 gm ``` diff --git a/skills/dialogue/world-simulator/modules/refine/prompt.md b/skills/dialogue/world-simulator/modules/refine/prompt.md index fb1573a..f2dd5c2 100644 --- a/skills/dialogue/world-simulator/modules/refine/prompt.md +++ b/skills/dialogue/world-simulator/modules/refine/prompt.md @@ -34,7 +34,7 @@ boundary: | 准备收成可进游玩的规格。请确认或补充: 1. 还有没有「绝不能瞎发挥」的前提?(一句一条) -2. 槽位是否按上游拓扑?(世界模拟默认:主世界层+转述;写手默认:大纲+章节)有无要改的勾选? +2. 槽位是否按上游拓扑?(世界模拟默认:仅主世界层;转述/旁观默认关;写手默认:大纲+章节)有无要改的勾选? 3. 若已有「上下文投影排序」,是否按该表收成?(不要在本步重排) 4. 要不要表/状态门控?(不要就写「不要」) @@ -57,15 +57,16 @@ boundary: | 执行顺序: 1. 复述站位、体验内核、禁忌;矛盾处 askUser 1 点。 2. 写入 `play_slots`(世界模拟)或等价写手槽;**workers 只含白名单 ref**: - - world_sim 每轮(顺序):world-simulator(gm)→ role-decide(仅 perspective 开)→ narrator → auditor + - world_sim 默认:仅 world-simulator(gm);可选 role-decide / narrator / auditor + - world_sim 每轮顺序(启用的槽):world-simulator(gm)→ role-decide(仅 perspective 开)→ narrator(仅开转述)→ auditor - world_sim 机遇:`play_slots.chance` 开时 gm harness 获批量工具;可另声明 `chance` ref(`invocation: on_demand`)供显式调度 - writing:outline / chapter-writer - 程序也会按 play_slots 展开;你仍应写出与槽一致的 workers[](含 acceptance),便于人读验收。 3. **禁止**自造 ref、禁止添加 variable-update / lore-keeper / 自造骰子 LLM 等。 -4. resident_context:稳定句挂到 gm 或 narrator(或 outline/chapter-writer);旁观合同可挂 auditor;勿塞聊天过程。 +4. resident_context:稳定句挂到 gm(无转述时叙事指南也挂 gm);开了转述可挂 narrator;旁观合同可挂 auditor;勿塞聊天过程。 5. tables:吸入变量设计的 side_effects;无则空数组或省略。 6. core_premises、design_end.opening 按需。 -7. summary:`细化终稿 · 槽 旁观+gm+转述 · …` 或 `细化终稿 · 大纲+章节 · …` +7. summary:`细化终稿 · 槽 仅 gm · …` 或 `细化终稿 · 槽 gm+转述 · …` 或 `细化终稿 · 大纲+章节 · …` 进游玩不在本步完成。 ``` @@ -74,9 +75,9 @@ boundary: | ```principles 1. 合并优于重写;槽位优于发明演员。 -2. 面向用户的终稿点 acceptance=review(通常是 narrator 或 chapter-writer);auditor/gm/outline 常用 continue。 +2. 面向用户的终稿点 acceptance=review(默认是 world-simulator;开了转述则是 narrator;写手是 chapter-writer);旁观/outline 常用 continue;有转述时 gm 用 continue。 3. 真值变更写在 gm 的 outputs(运行.本轮.变量变更 / 裁决包内 variable_changes),旁观维护只出 maintain.v1;不靠第三变量 Worker。 -4. 裁决包约定:运行.本轮.裁决 使用 settlement.v1(见 progressive-data-design / 模板);Runtime 合并 variable_changes。 +4. 裁决包约定:启用转述时,运行.本轮.裁决 使用 settlement.v1(见 progressive-data-design / 模板);Runtime 合并 variable_changes。无转述时主世界层直接写 输出.用户展示。 5. 键名稳定;未决进 open_questions。 ``` @@ -109,34 +110,18 @@ boundary: | "satisfaction_source": "…" }, "play_slots": { - "auditor": true, + "auditor": false, "gm": true, - "narrator": true, + "narrator": false, "perspective": false }, "workers": [ - { - "name": "旁观维护", - "ref": "auditor", - "duty": "表/规则检查;maintain.v1;默认空操作;无长对话史", - "when": "每轮用户输入后、主世界层之前", - "rationale": "删掉则表补与规则触发放回主世界层,挤占历史上下文", - "acceptance": "continue" - }, { "name": "主世界层", "ref": "world-simulator", - "duty": "读投影与真值,输出 settlement.v1 裁决包;可提议变量变更", - "when": "每轮用户输入后(旁观之后)", - "rationale": "删掉则无程序化裁决与真值更新", - "acceptance": "continue" - }, - { - "name": "叙事转述", - "ref": "narrator", - "duty": "只读裁决包,写用户可见正文", - "when": "裁决包就绪后", - "rationale": "删掉则无独立文风呈现(或需 gm 兼写,须用户明确)", + "duty": "读投影与真值,直接写用户可见正文(无独立转述)", + "when": "每轮用户输入后", + "rationale": "默认少槽:原文即终稿", "acceptance": "review" } ], @@ -145,7 +130,7 @@ boundary: | "id": "experience-contract", "position": "static", "content": "体验/禁忌压缩句", - "mount": ["world-simulator", "narrator"] + "mount": ["world-simulator"] } ], "tables": { @@ -183,7 +168,8 @@ boundary: | ```examples 好: -- play_slots auditor+gm+narrator;workers 与槽一致;side_effects 从变量设计拷入。 +- play_slots 仅 gm;workers 与槽一致;side_effects 从变量设计拷入(或明确不要表)。 +- 用户明确要转述:gm continue + narrator review。 - 扩写:outline continue + chapter-writer review;无自造 ref。 坏: diff --git a/skills/dialogue/world-simulator/modules/worker-spec/prompt.md b/skills/dialogue/world-simulator/modules/worker-spec/prompt.md index d89402a..0f1c729 100644 --- a/skills/dialogue/world-simulator/modules/worker-spec/prompt.md +++ b/skills/dialogue/world-simulator/modules/worker-spec/prompt.md @@ -12,23 +12,23 @@ name: 游玩拓扑 id: worker-spec artifact: 设计.worker规格 declaration: > - 不能吃默认槽时才勾选:主世界层必开;有变量/表维护才开旁观;转述默认开;强秘密才开视角;写手则大纲+章节;禁止发明执行单元与机遇槽 + 不能吃默认槽时才勾选:主世界层必开;转述默认关(要独立文风层才开);有变量/表维护才开旁观;强秘密才开视角;写手则大纲+章节;禁止发明执行单元与机遇槽 when: | - 体验契约已大致清楚,且不能吃默认槽:要关旁观、关转述、开角色视角(强秘密不能进主世界层),或走写手大纲+章节。 + 体验契约已大致清楚,且不能吃默认槽:要开转述、开旁观、开角色视角(强秘密不能进主世界层),或走写手大纲+章节。 或要修订已勾选槽(开/关 auditor、perspective、narrator 等)。 when_not: | 体验/站位仍混沌 → 先「美学纲领与交互范式」。 - 世界模拟可吃默认(主世界层+转述+旁观;视角关)→ 可不排,「细化终稿」按默认收成。 + 世界模拟可吃默认(仅主世界层;转述/旁观/视角关)→ 可不排,「细化终稿」按默认收成。 只需输出完整运行规格 → 「细化终稿」(本步只交槽位勾选)。 检定/掷骰范围汇总 → 「随机范围整理」;不要为本步加「机遇裁定」槽。 不要用本步发明世界观/性格/变量专用执行单元。 boundary: | 本能力:输出 play_slots(及写手路径的 writing_slots),可选覆盖挂载说明;不写完整 设计.worker集。 - 主世界层(gm)几乎总要。旁观维护:有变量/表/规则要程序化盯时才开。转述默认开。 + 主世界层(gm)几乎总要。转述默认关:主世界层直接交用户可见原文。旁观维护:有变量/表/规则要程序化盯时才开。 不再设机遇裁定(chance)槽:真随机走「随机范围整理」+ 程序插入上下文备用数。 细化终稿:按本步勾选展开 workers、合并常驻与 tables。 变量设计 / 变量控制上下文:真值与投影,不是推理槽。 - 叙事指南与故事推进:挂到转述槽(推进可兼挂主世界层);世界/机制:挂到主世界层——本步只点名槽。 + 叙事指南与故事推进:默认挂主世界层;若开了转述可挂转述(推进可兼挂主世界层);世界/机制:挂到主世界层——本步只点名槽。 ``` ## opening @@ -37,9 +37,9 @@ boundary: | 游玩时用哪些固定槽?(只勾选,不要发明新角色名当「新系统」) 世界模拟类常见: -1. 主世界层(裁决)——要(几乎总要) -2. 叙事转述(写你看见的正文)——要 / 不要(默认要) -3. 旁观维护(有变量/表/规则要盯时才开;默认:有变量类上游则要)——要 / 不要 +1. 主世界层(推进 + 默认直接写可见正文)——要(几乎总要) +2. 叙事转述(独立文风层再改写正文)——要 / 不要(默认不要) +3. 旁观维护(有变量/表/规则要盯时才开;默认不要)——要 / 不要 4. 角色视角(仅当有强秘密、不能进主世界层时)——要 / 不要(默认不要) 不要勾「机遇裁定」:检定/掷骰用「随机范围整理」收表,程序插备用随机数。 @@ -63,14 +63,14 @@ boundary: | 执行顺序: 1. 读配方与体验契约,判断路径:世界模拟 vs 写手分段。 -2. 默认世界模拟:`gm: true, narrator: true, auditor: true, perspective: false`; - 调度序 gm → perspective? → narrator → auditor; +2. 默认世界模拟:`gm: true, narrator: false, auditor: false, perspective: false`; + 调度序 gm → perspective? → narrator? → auditor?; 主世界层必开(用户明确只要旁观/写手路径除外); - 有变量设计/表维护需求 → auditor true;纯无状态对话可 auditor false; + 要独立文风改写才 narrator true;有变量设计/表维护需求 → auditor true; 仅信息隔离才开 perspective。 3. 写手路径:`outline` + `chapter-writer` 默认都开;用户明确只要正文则可关 outline。 4. 可写简短 `mount_notes`(哪类上游产物挂哪槽),不粘贴长文。 -5. 输出 JSON。summary:`游玩拓扑 · gm+转述+旁观` 等(勿写机遇)。 +5. 输出 JSON。summary:`游玩拓扑 · 仅 gm` 或 `游玩拓扑 · gm+转述` 等(勿写机遇)。 若程序已发默认问题:禁止重复同一开场;在首答上补洞。 ``` @@ -79,8 +79,8 @@ boundary: | ```principles 1. 只勾选,不发明:ref 必须在白名单内;无机遇裁定槽。 -2. 默认:世界模拟 = 主世界层 + 转述 + 旁观;perspective 默认关。主世界层必要。 -3. 有变量/表/规则要盯 → 开旁观;无则可不开。 +2. 默认:世界模拟 = 仅主世界层;转述/旁观/perspective 默认关。主世界层必要。 +3. 要独立文风层再开转述;有变量/表/规则要盯再开旁观。 4. 变量 / Data / Progressive 不是执行单元;旁观维护只出 maintain.v1,不写真相。 5. 删掉检验仍适用:关某个槽要说得清损失什么。 6. 本步不输出完整 Worker 集、不写 tables 全文、不写随机范围表(交给细化终稿 / 变量设计 / 随机范围整理)。 @@ -92,7 +92,7 @@ boundary: | ```probe 一次 1~2 点: -- 正文是否必须由独立转述写?(不要则 gm 兼呈现,narrator=false——需用户明确) +- 是否必须独立转述改写正文?(要才 narrator=true;默认不要,主世界层原文即终稿) - 是否有「主世界层不该知道的角色秘密」?(有才 perspective=true) - 有变量/表要盯却关了旁观?或无状态却硬开旁观? - 扩写:要不要先验大纲再写章? @@ -107,9 +107,9 @@ boundary: | "brief": "一句话:本局启用哪些固定槽", "path": "world_sim|writing", "play_slots": { - "auditor": true, + "auditor": false, "gm": true, - "narrator": true, + "narrator": false, "perspective": false }, "writing_slots": { @@ -117,8 +117,8 @@ boundary: | "chapter_writer": true }, "mount_notes": [ - "生成规则/变量合同/旁观摘要 → auditor(无长对话史)", - "叙事指南与故事推进 → narrator(推进兼 gm)", + "生成规则/变量合同/旁观摘要 → auditor(仅开旁观时;无长对话史)", + "叙事指南与故事推进 → gm(默认);若开转述可挂 narrator", "世界/机制/变量规则 → gm", "随机范围整理 → gm(上下文备用随机数;无机遇槽)", "真值与 side_effects → 细化终稿 tables" @@ -131,7 +131,8 @@ boundary: | - `path=world_sim` 时必须有 `play_slots`;`writing_slots` 可省略。 - `path=writing` 时必须有 `writing_slots`;`play_slots` 可省略。 - `play_slots.gm` 世界模拟路径下应为 true。 -- `auditor` 缺省:有变量/表维护意图视为 true,否则可 false。 +- `narrator` 缺省按 false(主世界层兼呈现);仅用户明确要独立文风层时 true。 +- `auditor` 缺省按 false;有变量/表维护意图才 true。 - 不要输出 `chance` 字段;旧产物若有 `chance: true`,本步改为 false/删除,并指向「随机范围整理」。 - 不要输出自造 `actors[]` / 自由 `workers[]`。 - 旧产物若含 `actors[]`:本步应改写为槽位勾选,不再追加自定义 ref。 @@ -149,7 +150,8 @@ boundary: | ```examples 好: -- play_slots: gm+narrator+auditor,perspective false;有变量故开旁观。 +- play_slots: 仅 gm;转述/旁观/perspective false。 +- 用户明确要独立文风:gm+narrator;有变量再加旁观。 - 有凶手真名不能进 GM:perspective true,并说明只出反应建议。 - 需要检定:不写 chance;提醒排「随机范围整理」。 diff --git a/skills/dialogue/world-simulator/recipes/world-simulator/recipe.yaml b/skills/dialogue/world-simulator/recipes/world-simulator/recipe.yaml index c7fe8d9..9985d97 100644 --- a/skills/dialogue/world-simulator/recipes/world-simulator/recipe.yaml +++ b/skills/dialogue/world-simulator/recipes/world-simulator/recipe.yaml @@ -7,30 +7,30 @@ when: 回合互动、世界推进、角色扮演、沉浸推演类体验 core: >- 先钉清用户如何参与、正文如何呈现、核心体验与禁忌(美学卡上用户会在意的部分); - 再按那些承诺选出要兑现的上下文技能,并标明挂哪些固定槽(默认:主世界层裁决 + 叙事转述); + 再按那些承诺选出要兑现的上下文技能,并标明挂哪些固定槽(默认:只开主世界层,直接交可见原文;转述可选); 挂载归属可早定,插入顺序必须晚定——收成前用「上下文投影排序」按各块概括排出数字序与双锚点投影; - 再细化终稿收成运行规格。执行单元只用固定槽(主世界层 / 叙事转述 / 可选角色视角;旁观按变量需要),不为表/百科再拆槽,不开机遇裁定槽。 + 再细化终稿收成运行规格。执行单元只用固定槽(主世界层必开 / 叙事转述默认关 / 可选角色视角;旁观按变量需要),不为表/百科再拆槽,不开机遇裁定槽。 process: - 开始通常先做「美学纲领与交互范式」。 - 读美学卡上用户会在意的部分,对照【能力 · 可选工序】的何时用 / 何时不用,把兑现那些承诺所需的节点写进 steps(需要几步排几步)。各技能调用条件以 meta 为准,本表不重复。 - - 世界模拟默认槽:主世界层 + 叙事转述 + 旁观维护(有变量/表时;视角关)。能吃默认则不必排「游玩拓扑」。主世界层必要。 - - 中段按承诺写上下文;每块只标挂谁(mount)与稳/变,order 留给「上下文投影排序」。挂载归属:世界/机制/生成 → 主世界层;叙事指南 → 叙事转述(推进兼挂主世界层);美学进常驻。 + - 世界模拟默认槽:仅主世界层(转述关、旁观关、视角关)。能吃默认则不必排「游玩拓扑」。要独立文风层再开转述;有变量/表再开旁观。 + - 中段按承诺写上下文;每块只标挂谁(mount)与稳/变,order 留给「上下文投影排序」。挂载归属:世界/机制/生成/叙事指南 → 主世界层(无转述时叙事也挂主世界层);开了转述则叙事指南可挂转述;美学进常驻。 - 「回复呈现」几乎都排:先钉每轮看什么。有检定/对抗/掷骰则排「随机范围整理」收范围表。二者都在「正文组成」之前;正文组成把清单(及隐藏备用随机区)展示出来,开场白之前。 - 收成链顺序固定:上游上下文大致齐 →「回复呈现」→(若有随机)「随机范围整理」→「正文组成」→「上下文投影排序」→「细化终稿」→ 需要开场则「开场白与开场变量」(〔收口〕)。选定开场后结束创作并保存。 principles: - 正推:美学卡上用户会在意的部分 → 缺口 → 技能。同一题材换核就换图,不按题材套世界模拟全套。 - 技能选型以技能 meta 为准;本配方不代替各技能写调用条件。 - - 执行单元只用固定槽(主世界层 / 叙事转述 / 可选角色视角;旁观按需)。不开机遇裁定;真随机=随机范围整理 + 程序插备用数。 - - 默认少槽:主世界层必开 + 叙事转述;有变量/表开旁观;仅强信息隔离才开角色视角。 + - 执行单元只用固定槽(主世界层 / 可选叙事转述 / 可选角色视角;旁观按需)。不开机遇裁定;真随机=随机范围整理 + 程序插备用数。 + - 默认少槽:只开主世界层;转述默认关(主世界层原文即终稿);有变量/表开旁观;仅强信息隔离才开角色视角。 - 挂谁可早、排第几须晚:插入序与投影位只由「上下文投影排序」产出;中段技能写 mount 与稳/变。 - 投影序扁平:「对话.历史」按 projection 动态裁剪;少变靠前、易变靠后是软规则,不是硬分区。 - 真值 / Data / Progressive 三分;派生性格与章细纲不落可写真值。 - 有编排参数的步骤:进执行前钉齐 params(askUser 选项+其它);缺参时先问再进 design-step。 - 〔可反复〕可再追加(彻底新建);已验收 id 留在 steps。 - 舞台骨架通常都排(备案,只分详细度);代入后几乎不移动、只在一处待着则不排。实现机制对照其 meta。 - - 百科与查表归主世界层;裁决归主世界层、可见正文归叙事转述。 + - 百科与查表归主世界层;默认可见正文也归主世界层;仅显式开转述时正文才改由转述写。 brief: 世界模拟类:美学卡上在意的部分→挂槽写上下文→晚排序投影→收成运行规格 diff --git a/skills/dialogue/world-simulator/worker-templates/README.md b/skills/dialogue/world-simulator/worker-templates/README.md index 571910b..3d07840 100644 --- a/skills/dialogue/world-simulator/worker-templates/README.md +++ b/skills/dialogue/world-simulator/worker-templates/README.md @@ -18,16 +18,16 @@ Runtime 执行时读 Worker 集条目,不直接读本目录。 ```json { - "play_slots": { "auditor": true, "gm": true, "narrator": true, "perspective": false }, + "play_slots": { "auditor": false, "gm": true, "narrator": false, "perspective": false }, "workers": [] } ``` | 槽 | 默认 ref | 模板 | |----|----------|------| -| auditor | `auditor` | `auditor.yaml` — maintain.v1;默认空操作;无长对话史 | -| gm | `world-simulator` | `world-simulator.yaml` — 裁决包 settlement.v1;`play_slots.chance` 开时 harness 批量机遇工具 | -| narrator | `narrator` | `narrator.yaml` — 只读裁决包写正文 | +| auditor | `auditor` | `auditor.yaml` — maintain.v1;默认空操作;无长对话史(默认关) | +| gm | `world-simulator` | `world-simulator.yaml` — 默认直接写用户可见正文;开转述时改出 settlement.v1;`play_slots.chance` 开时 harness 批量机遇工具 | +| narrator | `narrator` | `narrator.yaml` — 只读裁决包写正文(默认关) | | perspective | `role-decide` | `role-decide.yaml` — 可选知密视角 | | chance(拓扑开关) | `chance` | `play_slots.chance` 控制 gm harness;可选声明按需 `chance` ref 供显式 run_worker | diff --git a/skills/dialogue/world-simulator/worker-templates/world-simulator.yaml b/skills/dialogue/world-simulator/worker-templates/world-simulator.yaml index 649152b..74b5433 100644 --- a/skills/dialogue/world-simulator/worker-templates/world-simulator.yaml +++ b/skills/dialogue/world-simulator/worker-templates/world-simulator.yaml @@ -2,14 +2,17 @@ id: world-simulator label: 主世界层 role: core duty: > - 中立世界层:读用户输入、真值与 Progressive 投影,按规则推进并产出结构化裁决包 - (settlement.v1 → 运行.本轮.裁决);可提议变量变更;默认不写文学正文。 -when: 每轮用户输入后首先上场 + 读用户输入、真值与 Progressive 投影并推进世界。 + 默认无独立转述:直接写用户可见正文(输出.用户展示);可选开转述时改出 settlement.v1 裁决包。 +when: 每轮用户输入后上场 suggested_context: static: - 设计.worker集 - 用户.需求 - 设计.变量设计与更新规则 + - 设计.叙事指南与故事推进 + - 设计.正文组成 + - 设计.监控栏 dynamic: - 用户.最新输入 - 运行.事件流 @@ -17,15 +20,17 @@ suggested_context: - 上下文.角色态度 - 大纲.当前章 suggested_outputs: + - 输出.用户展示 - 运行.本轮.裁决 - 运行.事件流 - 运行.本轮.变量变更 prompt_excerpt: | - 你是中立主世界层(GM),不是文学作者。读真值、已投影上下文与对话历史。 - 对用户行动作可复核裁决。「运行.本轮.裁决」必须是 JSON,schema 为 settlement.v1,至少尽量包含: - player_action、resolved[]、visible_now、npc_moves[]、variable_changes[]、do_not_say[]、tone_hint。 - variable_changes 由 Runtime 合并进变量.当前——请写清 key 与 to/delta。 - 叙事质量 intentionally 低——用户正文交给 narrator。 - 若叙事指南为「扮演停笔」:只裁决用户本轮已声明的行为/对话;禁止替用户角色发明其它行动或做决定;npc_moves 可推进到需要用户角色回应之刻即停。 - 需要随机数时:只用本轮上下文里程序已插入的备用随机数(见「设计.随机范围整理」);禁止口算编造;不要调用已取消的机遇裁定槽。 + 你是主世界层。读真值、已投影上下文、对话历史与用户本轮输入。 + 默认无独立转述层:把本轮场面直接写成用户可见正文(present.v1 或 Markdown),原文即终稿; + 用户输入用法以「设计.叙事指南与故事推进」为准(扮演停笔则把用户本轮行为/对话作正文开头并扩写填满)。 + 若本局启用了叙事转述:则改为输出 settlement.v1 裁决包(player_action、resolved[]、visible_now、npc_moves[]、variable_changes[]、do_not_say[]、tone_hint),正文交给转述。 + variable_changes 由 Runtime 合并进变量.当前——若写裁决包请写清 key 与 to/delta。 + 若叙事指南为「扮演停笔」:只推进用户本轮已声明的行为/对话;禁止替用户角色发明其它行动或做决定;可推进到需要用户角色回应之刻即停。 + 需要随机数时:只用本轮上下文里程序已插入的备用随机数(见「设计.随机范围整理」);禁止口算编造。 不要把未投影的分档长文整表塞进输出;只写本轮可见后果。 + 禁止在正文里写出 tag 名、压缩摘要或过程日志。