引入上下文片段、固定槽与投影排序,并完善机遇裁定与游玩期 UI。
把创作产物收敛为可挂载片段与 play_slots/context_order,同步修订世界模拟器模块与运行时拼装。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,135 +1,147 @@
|
||||
# Worker 规格
|
||||
# 游玩拓扑
|
||||
|
||||
> 能力文档。程序只切割下方 **fence 块**;`##` 标题仅供人读。
|
||||
> 写法说明:`docs/world-simulator-modules.md`;范例:`aesthetics-interaction`。
|
||||
> 可选默认契约见 `worker-templates/`(缺省合并用,非本步全文)。
|
||||
> **禁止自由发明执行单元。** 只从固定槽勾选;程序按 `play_slots` 展开 workers。
|
||||
> 方法:`docs/progressive-data-design.md`;模板:`worker-templates/`。
|
||||
|
||||
## meta
|
||||
|
||||
```meta
|
||||
name: Worker 规格
|
||||
name: 游玩拓扑
|
||||
id: worker-spec
|
||||
artifact: 设计.worker规格
|
||||
declaration: >
|
||||
钉一个游玩期执行单元(职责、读写、挂载);多演员时可多次调用
|
||||
勾选固定游玩槽位(主世界层 / 叙事转述 / 可选角色视角 / 可选机遇裁定;写手路径为大纲+章节),
|
||||
禁止自由发明新的执行单元 ref
|
||||
when: |
|
||||
已能说出「游玩时谁上场做什么」,需要把某一个演员钉成可调度契约时;
|
||||
或多演员需分次钉清时(本能力可反复)。
|
||||
体验契约已大致清楚,需要决定游玩期启用哪些固定槽时;
|
||||
或要修订已勾选槽位(开/关 perspective、chance 等)时。
|
||||
when_not: |
|
||||
体验/机制仍混沌,还说不清删掉谁会坏体验时 → 先上游能力。
|
||||
已在收成「细化终稿」且只需合并已有规格时 → 交给细化终稿,勿重复问卷。
|
||||
体验/站位仍混沌 → 先美学纲领与交互范式。
|
||||
只需收成完整运行规格 → 交给细化终稿(本步只交槽位勾选)。
|
||||
不要用本步「发明」世界观/性格/变量专用执行单元。
|
||||
boundary: |
|
||||
本能力:一次(或本步焦点内)钉清一个游玩期执行单元:中文名、ref、职责、何时上场、读写 tag、验收点、为何需要。
|
||||
产物写入「设计.worker规格」(可含累积列表);最终合并进「设计.worker集」由「细化终稿」完成。
|
||||
细化终稿:收成完整 Worker 集、表、常驻上下文;本步不假装交终稿。
|
||||
拓扑图谱:多演员依赖与数据流总图;本步可写本单元读写,不画全图。
|
||||
生成规则 / 叙事指南:规则与态度正文;本步只声明挂载哪些 tag,不重写全文。
|
||||
本能力:输出 play_slots(及写手路径的 writing_slots),可选覆盖挂载说明;不写完整 设计.worker集。
|
||||
细化终稿:按本步勾选展开 workers、合并常驻与 tables。
|
||||
变量设计 / 变量控制上下文:真值与投影,不是推理槽。
|
||||
机遇裁定(chance):按需程序工具槽,不进每轮管线。
|
||||
叙事指南与故事推进:挂到转述槽(推进可兼挂主世界层);世界/机制:挂到主世界层——本步只点名槽。
|
||||
```
|
||||
|
||||
## opening
|
||||
|
||||
```opening
|
||||
先点名「下一个要钉的演员」(一个即可):
|
||||
游玩时用哪些固定槽?(只勾选,不要发明新角色名当「新系统」)
|
||||
|
||||
1. 中文称呼:TA 在游玩里叫什么?(例:世界推进、叙事转述、大纲、章节正文)
|
||||
2. 职责一句话:删掉 TA 会丢掉哪段体验?
|
||||
3. 何时上场:每轮?用户点名写章时?某条件触发?
|
||||
世界模拟类常见:
|
||||
1. 主世界层(裁决,几乎总要)——要 / 不要
|
||||
2. 叙事转述(写你看见的正文,几乎总要)——要 / 不要
|
||||
3. 角色视角(仅当有强秘密、不能进主世界层时)——要 / 不要(默认不要)
|
||||
4. 机遇裁定(骰子/抽签/比点等真随机,按需调用、不进每轮)——要 / 不要(默认不要;有战斗检定、抽签事件时建议开)
|
||||
|
||||
若你已有多个演员想法,先写最核心的一个;其余可再跑本能力。
|
||||
写手/扩写类常见:大纲/细纲 + 章节正文(固定两槽,同上只勾选)。
|
||||
|
||||
变量、性格分档、世界观:不是槽,后面用变量/世界等技能收进上下文。
|
||||
```
|
||||
|
||||
## task
|
||||
|
||||
```task
|
||||
你正在执行剧本中的「Worker 规格」步骤。产物写入「设计.worker规格」。
|
||||
你正在执行「游玩拓扑」。产物写入「设计.worker规格」。
|
||||
|
||||
一次 design-step 以钉清**一个**游玩期执行单元为主;若用户一次抛出多个且关系简单,可写入 `actors` 数组但须逐个写清 rationale,并在 summary 标明本步焦点。
|
||||
核心操作:让用户勾选固定槽,写成 `play_slots`(世界模拟)或 `writing_slots`(扩写)。**禁止**新建未在固定列表中的 ref。
|
||||
|
||||
固定 ref 白名单:
|
||||
- 世界模拟每轮:`world-simulator`(gm)、`narrator`、`role-decide`(perspective,默认关)
|
||||
- 世界模拟按需:`chance`(机遇裁定,默认关;invocation=on_demand)
|
||||
- 扩写:`outline`、`chapter-writer`
|
||||
- 禁止:`variable-update`、自造 kebab、为世界观/性格再拆槽
|
||||
|
||||
执行顺序:
|
||||
1. 读依赖产物与体验契约;正推「需要谁」——禁止题材默认演员套餐。
|
||||
2. 若已有「设计.worker规格」,增量:同 ref 更新;新 ref 追加;不要无故删除用户已验收条目(除非用户要求改)。
|
||||
3. 为该单元填写:name(中文)、ref(英文 kebab,可与 worker-templates 对齐)、duty、when、rationale、acceptance、context/outputs 建议。
|
||||
4. acceptance:面向用户的可读终稿倾向 `review`;纯中间裁决/整理倾向 `continue`;吃不准就 ask_user。
|
||||
5. ref 可参考包内模板(如 narrator、world-simulator、outline、chapter-writer),但必须以本局体验为准,勿强行两端都上。
|
||||
6. 输出符合 output 的 JSON。
|
||||
1. 读配方与体验契约,判断路径:世界模拟 vs 写手分段。
|
||||
2. 默认世界模拟:`gm: true, narrator: true, perspective: false, chance: false`;
|
||||
仅信息隔离才开 perspective;需要骰子/抽签/比点等真随机时开 chance。
|
||||
3. 写手路径:`outline` + `chapter-writer` 默认都开;用户明确只要正文则可关 outline。
|
||||
4. 可写简短 `mount_notes`(哪类上游产物挂哪槽),不粘贴长文。
|
||||
5. 输出 JSON。summary:`游玩拓扑 · gm+转述` 或 `游玩拓扑 · gm+转述+机遇` 等。
|
||||
|
||||
若程序已发出默认问题:禁止重复同一开场。
|
||||
|
||||
summary:`Worker 规格 · {中文名} · …`
|
||||
若程序已发默认问题:禁止重复同一开场;在首答上补洞。
|
||||
```
|
||||
|
||||
## principles
|
||||
|
||||
```principles
|
||||
1. 删掉检验:说不清「丢掉哪段体验」的演员不要。
|
||||
2. 正推:体验 → 手段 → 演员;禁止「世界模拟就一定要 world-simulator + narrator」。
|
||||
3. 写手/分段常见最小集:大纲/细纲(outline)+ 章节正文(chapter-writer);按需加减。
|
||||
4. 扮演/世界推进常见:世界裁决 + 叙事转述;能合并则问用户是否合并。
|
||||
5. name 给人看,ref 给机器;二者成对出现。
|
||||
6. 本步不写完整表 schema、不写整份 Worker 集终稿。
|
||||
7. 常驻上下文挂载只点名「需要挂哪些已有产物 tag」,不在本步粘贴长文。
|
||||
1. 只勾选,不发明:ref 必须在白名单内。
|
||||
2. 默认少槽:世界模拟 = 主世界层 + 转述;perspective 默认关。
|
||||
3. 变量 / Data / Progressive 不是执行单元。
|
||||
4. 删掉检验仍适用:关某个槽要说得清损失什么。
|
||||
5. 本步不输出完整 Worker 集、不写 tables 全文(交给细化终稿 / 变量设计)。
|
||||
6. 可修订已有勾选,不要为「更聪明」加槽。
|
||||
```
|
||||
|
||||
## probe
|
||||
|
||||
```probe
|
||||
一轮 1~2 点。
|
||||
一次 1~2 点:
|
||||
|
||||
缺验收点:本演员产出是「给用户读的一段」还是「给下一演员的中间结果」?
|
||||
缺 ref:更接近包内哪个模板职责?(给中文选项,勿逼用户记英文)
|
||||
多演员纠结:能否合并成一个?合并会损失什么?
|
||||
写手路径:是否需要「先大纲后正文」两个演员,还是只要分段写手?
|
||||
- 正文是否必须由独立转述写?(不要则 gm 兼呈现,narrator=false——需用户明确)
|
||||
- 是否有「主世界层不该知道的角色秘密」?(有才 perspective=true)
|
||||
- 扩写:要不要先验大纲再写章?
|
||||
|
||||
不要问「还想加什么 Worker」。
|
||||
```
|
||||
|
||||
## output
|
||||
|
||||
```output
|
||||
{
|
||||
"brief": "一句话:本步钉的演员如何服务体验",
|
||||
"actors": [
|
||||
{
|
||||
"name": "叙事转述",
|
||||
"ref": "narrator",
|
||||
"duty": "…",
|
||||
"when": "…",
|
||||
"rationale": "删掉则…",
|
||||
"acceptance": "review",
|
||||
"context": {
|
||||
"static": ["设计.worker集"],
|
||||
"dynamic": ["用户.最新输入"]
|
||||
},
|
||||
"outputs": ["输出.用户展示"],
|
||||
"presentation": {
|
||||
"tone": "可选;转述类可填"
|
||||
}
|
||||
}
|
||||
"brief": "一句话:本局启用哪些固定槽",
|
||||
"path": "world_sim|writing",
|
||||
"play_slots": {
|
||||
"gm": true,
|
||||
"narrator": true,
|
||||
"perspective": false,
|
||||
"chance": false
|
||||
},
|
||||
"writing_slots": {
|
||||
"outline": true,
|
||||
"chapter_writer": true
|
||||
},
|
||||
"mount_notes": [
|
||||
"叙事指南与故事推进 → narrator(推进兼 gm)",
|
||||
"世界/机制/变量规则 → gm",
|
||||
"真随机检定 → chance(按需)",
|
||||
"真值与 side_effects → 细化终稿 tables"
|
||||
],
|
||||
"增量说明": "相对旧稿新增/改了哪个 ref",
|
||||
"开放问题": ["…"]
|
||||
"开放问题": []
|
||||
}
|
||||
```
|
||||
|
||||
`acceptance` 只能是 `review` 或 `continue`。未知字段省略。
|
||||
填写规则:
|
||||
- `path=world_sim` 时必须有 `play_slots`;`writing_slots` 可省略。
|
||||
- `path=writing` 时必须有 `writing_slots`;`play_slots` 可省略。
|
||||
- `chance` 缺省视为 false;为 true 时不进每轮序,仅可按需调度。
|
||||
- 不要输出自造 `actors[]` / 自由 `workers[]`。
|
||||
- 旧产物若含 `actors[]`:本步应改写为槽位勾选,不再追加自定义 ref。
|
||||
|
||||
## checklist
|
||||
|
||||
```checklist
|
||||
- [ ] 每个演员能否通过删掉检验?
|
||||
- [ ] name/ref 是否成对?acceptance 是否写出?
|
||||
- [ ] 是否误交完整 设计.worker集 或表结构?
|
||||
- [ ] 是否题材默认套演员?
|
||||
- [ ] 增量是否误删已有条目?
|
||||
- [ ] 是否只有白名单槽,无自造 ref?
|
||||
- [ ] perspective / chance / 只要正文等非常规选择是否有理由?
|
||||
- [ ] 是否误把变量管理做成槽?是否误把 chance 当成每轮 LLM?
|
||||
- [ ] 是否误交完整 设计.worker集?
|
||||
```
|
||||
|
||||
## examples
|
||||
|
||||
```examples
|
||||
好:
|
||||
- 扩写:先钉「大纲/细纲」outline(continue 或 review 按用户是否要验大纲),再另一步钉「章节正文」chapter-writer(review)。
|
||||
- 扮演:世界推进 continue + 叙事转述 review。
|
||||
- play_slots: gm+narrator,perspective/chance false;mount_notes 一行。
|
||||
- 有凶手真名不能进 GM:perspective true,并说明只出反应建议。
|
||||
- 需要检定/抽签:chance true(按需程序工具)。
|
||||
|
||||
坏:
|
||||
- 一次甩出 8 个演员且无 rationale
|
||||
- 只写英文 id 给用户看
|
||||
- 本步直接输出整份 version:1 Worker 集冒充终稿
|
||||
- actors 里发明 affinity-manager、lore-keeper、dice-master(LLM)。
|
||||
- 为性格分档再拆一个执行单元。
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user