改写回合推演技能合同,并接上画面工作流库。

旧产物名仍能读到,避免改名后上下文对不上。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-10-14 08:29:28 +08:00
co-authored by Cursor
parent e4c3141be5
commit bc77bc4a3c
42 changed files with 1153 additions and 628 deletions
@@ -7,52 +7,49 @@ name: 生成规则
id: generation-rules
artifact: 设计.生成规则
declaration: >
为需要统一生成的一类对象写出合同:名称、用途、字段、池或提示约束、填写工作流;不填最终实例;可按对象反复。
为一类要统一生成的对象写填写合同:名称、用途、字段、池或提示、填写工作流。不填最终实例。每个产物一条规则。
when: |
要落两份或以上同类对象时使用。
只落一份,但字段多、结构重要,或需要先审字段和填写工作流时也使用。
不因开场后是否继续按同一合同生成而改道。每个产物只写一条规则。
不因开场后是否继续按同一合同生成而改道。
when_not: |
只有一条、字段很少、也不承载玩法的具名内容,才不建规则。这种内容通常也不必落具体实例。
一张有节点和连接的结构(地图、升级路径、关系网)→ 拓扑图谱。
跨轮真值 → 变量设计;舞台格局与硬法则 → 舞台骨架 / 实现机制。
只有一条、字段很少、也不承载玩法的具名内容 → 不建规则,通常也不落具体实例。
一张有节点和连接的结构 → 拓扑图谱。
跨轮真值 → 变量设计。舞台格局与硬法则 → 舞台骨架 / 世界法则;本步只短引用。
boundary: |
本能力只交生成合同:名称、用途、字段、池或提示、填写工作流。
不填最终 records,不重写世界百科,不改变量公式与剧情推进。
本步交生成合同,供具体实例与游玩期按同一字段填写。
同一条约束只放一个槽:填充要求、提示、地板、分级表现不换壳复述。
地板写最低要让人看见或碰到什么,不写可照抄的场面。价目、境界全文、台上格局已在别处时,本步引用名称,不重抄表。
feeds: gm,auditor
```
## opening
```opening
先说这套规则生成什么、用在什么场合。只有一条字段很少的具名内容,通常不必建规则,也不必落具体实例。
先说这套规则生成什么、用在什么场合。只有一条字段很少的具名内容,通常不必建规则。
```
## task
```task
为单一对象族写出一份生成合同,写入 `设计.生成规则#中文规则名`。先写名称与用途,再按用途推出字段与每项填充要求;描写类字段写明地板,标签看不懂的分级另写分级表现;需要封闭选取的字段绑池,更适合一句话约束的字段写提示;最后写填写工作流(含依赖、自检、反模式),供具体实例与游玩期动态生成共用。
为单一对象族写一份生成合同,写入 `设计.生成规则#中文规则名`。先写名称与用途,再按用途推出字段:每项用 `填充要求` 写清填什么、为何需要。取值默认用提示约束;能数完且必须全员一致的封闭集合才建池。描写类字段另给一句 `地板`(最低可感知到什么)。标签本身看不懂的分级才写 `分级表现`。最后写填写工作流,只保留真正改变填写顺序的阶段。
每个产物只含一条规则。材料足够便直接成稿;真正会改合同的缺口(生命周期、必填字段、单条/同批关系)交给 `self_score.gap`。产物正文不放评分、诊断、追问或开放问题。
同一事实只写一次。`提示` 只在填充要求没写清范围时补范围;`地板` 不重复填充要求,也不写示范句。舞台骨架、世界法则或拓扑图谱里已有的格局、法则、阶梯和价目,在用途或相关填充要求里点名引用。
每个产物一条规则。材料够就成稿。会改合同的缺口(生命周期、必填字段、单条还是同批)进 `self_score.gap`。正文只含合同 JSON,不含评分、诊断、追问或最终记录。
```
## principles
```principles
1. 用途决定字段:每个字段都要能回答「对这个用途是否必要」;女 NPC 不写性别;药水要写清效果参数,不要只写外观;怪物这类要接战斗的,等级、攻击骰等玩法接口不能漏。
2. 字段不多不少、互不重叠:资产与存款这类同义字段只留一个。
3. 取值分三类:自由生成;从池中选取(填写方按合理度选,不是伪随机程序);提示约束(如「现代都市中正常的职业」)。默认优先提示约束;只有能数完、必须全员一致的封闭集合(阶层、强度档、武器种类)或分阶段选型时才建池。
4. 姓名、绰号、能力概念、外貌、气质写不完:用自由或提示约束,不建池,也不在填充要求或提示里列一串可选值冒充穷举。要反复生成又怕雷同时,`提示` 可写 2~6 个「方向名:一句概括」划多样的范围;方向不挂作品名、不堆例句。
5. 描写类字段(外貌、能力现象、限制、互动手感等)写 `地板`:最低要写到读者能看见、听见或碰到什么,对手能抓住什么空隙。词条、档位、数字、骰子可以短,不写地板。规则里出现的示例必须达到地板,不用「气质:阴郁」「能力:时空斩」这种单标签当示例。
6. 标签本身看不懂的分级(境界、品阶、强度档、好感档)另写 `分级表现`:每档一句概括 + 一段可感知表象,相邻档必须能分清。实例字段只填档位短值,叙事按此表展开。
7. 外貌、服装、仪式等几面拼成一格的字段,在该字段 `填充要求` 里写配方:用哪几面、每面写什么、怎么拼成一段。字段仍是一个扁平值,不拆嵌套对象,也不为每一面各建池。
8. 填写工作流按重要性推进:先锚定会约束后续的选项,再填血肉;阶段、依赖、自检、反模式都服务于「怎么填对」,写短写准。会反复生成的规则,自检清单要含去重:与已有记录不撞名、不撞核心特征。
9. 生命周期三选一:`仅游玩期`(创作期不预填)、`只预生成`(预填完即可丢掉规则)、`预生成并游玩期`(既写种子,开场后仍可再生成)。选哪一档不改变「要不要先写这份合同」。
10. `只预生成` 为中间层;另两类为最终层,挂主世界层与旁观。
11. `数量` 与 `一次生成` 是两件事:`数量` 是总共几条;`一次生成` 看记录之间有没有必须一起钉死的关系(互指、对立、同场),不看总数。有 → 同批,`关系` 只写谁对谁;彼此独立 → 单条。「总共 5 个」不等于同批。
12. 多张名片共享的台上格局、世界状况、既成法则归舞台骨架或实现机制:已有则在 `用途` 或 `填充要求` 里短引用;没有则只写填写时必须守的最短条款,缺口交 `self_score.gap`。不在规则里重抄「共通前提」长文,也不借 `关系` 写前史与社会律。
13. 不输出最终实例记录。
14. 给人读的键和专名用中文。材料里的英文名音译成中文。外壳的 schema、brief、mount 保持既有键。
1. 用途决定字段。每个字段都要能回答「这个用途是否必要」。女 NPC 不写性别;药水写效果参数;要接战斗的写等级、攻击骰等接口。同义字段只留一个。
2. 取值三类:自由;池选取(填写方按合理度选);提示约束。默认提示约束。姓名、绰号、能力概念、外貌、气质不建池,也不在提示里列一串冒充穷举。怕生成雷同且会反复生成时,`提示` 写 2~6 个「方向名:一句概括」,不挂作品名、不堆例句。
3. 描写类字段的 `地板` 是最低栏:写到能看见、听见或碰到什么,或对手能抓住什么空隙。一句话。词条、档位、数字、骰子不写地板。地板不是小场景,不写「下一句怎么说」「手怎么放」。
4. 标签看不懂、且还没有拓扑标尺的分级,才写 `分级表现`:每档一句概括,加一句能与相邻档分开的表象。实例只填档位短值。社会阶梯、境界、价目、兑换等级已在拓扑图谱时,填充要求点图名,不另造一套数,也不把全表抄进 `分级表现`。
5. 几面拼成一格时,配方写在该字段的 `填充要求`:哪几面、每面写什么。字段值仍是一段扁平文字。
6. 工作流按填写顺序写短:先定会约束后面的项,再填其余。用不到的阶段不写。会反复生成时,自检含去重(不撞名、不撞核心特征)。`反模式` 写错在哪;需要时加半句反例,不写一场戏。
7. 生命周期三选一:`仅游玩期`、`只预生成`、`预生成并游玩期`。`数量` 是总共几条;`一次生成` 看记录是否必须互指、对立或同场。有则同批,关系只写谁对谁;彼此独立则单条。总共 5 个且互不改写,仍是单条。
8. 共享的台上格局与既成法则已有则短引用;没有则只写填写时必须守的最短条款,缺口进 `self_score.gap`。给人读的键和专名用中文;英文专名音译。外壳的 schema、brief、mount 保持既有键。
```
## output
@@ -65,69 +62,58 @@ feeds: gm,auditor
"mount": ["world-simulator", "auditor"],
"稳变": "stable",
"正文": {
"名称": "人话规则名,如「末世可征服 NPC」",
"用途": "这套规则在本局用来生成什么、服务哪类游玩反馈",
"规则名": "中文短名,与名称对应且稳定",
"名称": "人话规则名",
"用途": "生成什么、服务哪类反馈;已有舞台或机制则点名",
"规则名": "中文短名,与名称对应",
"生命周期": "仅游玩期|只预生成|预生成并游玩期",
"数量": {
"模式": "固定|区间|看情况",
"值": 1,
"最小": 1,
"最大": 1,
"决定规则": "contextual 时说明如何决定条数"
"决定规则": "看情况时说明如何决定条数"
},
"一次生成": {
"模式": "单条|同批",
"关系": "同批必填:本批必须一起钉死的互指;单条写彼此独立"
"关系": "同批:谁对谁必须一起钉死;单条:彼此独立"
},
"字段": [
{
"名": "顶层字段名",
"填充要求": "填什么、填到多厚、为何本用途需要它;几面拼一格的写配方(哪几面、各写什么)",
"填充要求": "填什么、为何需要;几面拼一格时写配方",
"取值方式": "自由|池选取|提示约束",
"绑定池": "池选取时填写池名称;其它省略",
"提示": "提示约束时写可执行的一句范围,或 2~6 个「方向名:一句概括」;其它省略",
"地板": "描写类字段写:最低填到什么可感知程度;词条、档位、数字省略"
"绑定池": "仅池选取时写池名称",
"提示": "仅提示约束且填充要求未写清范围时:一句范围,或 2~6 个「方向名:一句概括」",
"地板": "仅描写类:一句最低可感知标准"
}
],
"池": [
{
"名称": "与字段绑定的人话名",
"说明": "何时从中选取、选取口径",
"条目": ["封闭可选项;只列必须一致的有限集合"]
"说明": "何时选取、按什么合理度",
"条目": ["封闭可选项"]
}
],
"分级表现": [
{
"字段": "标签看不懂的分级字段名;无此类分级则省略整个键",
"字段": "标签看不懂的分级字段名;无则省略整个键",
"档位": [
{
"值": "档位短值,与实例所填一致",
"概括": "一句:这档能做到什么量级",
"表象": "看见、听见、碰到什么;须能和上下档分清"
"值": "与实例所填一致的短值",
"概括": "一句:这档的量级",
"表象": "一句:与相邻档可分开的可见差别"
}
]
}
],
"填写工作流": {
"工作流": {
"阶段1 骨架锚定": "先选哪些池/字段、定下什么内核",
"阶段2 灵魂注入": "下一步推什么,如何与上一阶段咬合",
"阶段3 血肉填充": "姓名、外貌等如何服务已定内核",
"阶段4 立场定调": "可选;最后定关系或立场类字段"
"阶段1": "先定什么"
},
"依赖关系": [
"字段A → 字段B:约束说明"
],
"自检清单": [
"填完后必须能回答的关键问题"
],
"依赖关系": ["字段A → 字段B:约束"],
"自检清单": ["填完必须能核对的一点"],
"反模式": [
{
"名": "短名",
"说明": "为什么错",
"反例": "可选一句"
}
{ "名": "短名", "说明": "错在哪", "反例": "可选半句" }
]
}
}
@@ -135,65 +121,62 @@ feeds: gm,auditor
```
硬规则:
1. 输出合法 JSON;每个产物只描述一条规则,禁止 `rules` 数组堆多条。
2. `字段` 由用途推出;可省略的字段不写;重叠字段合并。
3. `池` 可 `[]`;池选取字段必须能对应到某个池;提示约束字段必须有 `提示`。姓名、绰号、能力概念、外貌、气质不绑池。
4. `填写工作流` 必含 `工作流`;`依赖关系` / `自检清单` / `反模式` 为子字段,无则 `[]`,不要拆成正文顶层并列大段。
5. `一次生成` 为同批时关系必填且本批至少 2 条;为单条时一次只交 1 条。
6. 字段值为扁平可填内容;不要嵌套对象当字段值契约。几面拼一格的配方写在 `填充要求`。
7. 描写类字段必须有 `地板`;规则里任何示例都要达到地板。标签看不懂的分级必须在 `分级表现` 写齐每档;没有此类分级则省略 `分级表现`。
8. 不在产物正文写自评、追问、开放问题或最终记录。
9. `只预生成` 时程序记为中间层;`仅游玩期` / `预生成并游玩期` 记为最终层。
10. 字段名和专名用中文;英文专名音译为中文。
1. 合法 JSON;每个产物一条规则,不写 `rules` 数组。`mount` 固定 `["world-simulator", "auditor"]`。
2. 字段由用途推出;重叠合并;可省略的键不写。池选取必须对应到某个池;无池则 `池` 为 `[]`。姓名、绰号、能力概念、外貌、气质不绑池。
3. 同一约束只出现在一个槽。`提示` 与 `填充要求` 同义则省略 `提示`。`地板` 与填充要求同义、或写成场面/台词,则改成一句可感知标准或省略。
4. `填写工作流` 必含 `工作流`;依赖、自检、反模式无则 `[]`。阶段按实际顺序命名,不凑满四段。
5. 同批时关系必填且本批至少 2 条;单条一次只交 1 条。字段值是扁平文字,配方写在 `填充要求`。
6. 没有难懂分级则省略 `分级表现`。不在正文写最终记录、价目全表、百科、评分或追问。`只预生成` 为中间层;另两类为最终层。字段名与专名用中文。
## score
```score
字段妥当:
- 5:字段由用途推出,不多不少、不重叠;该有的玩法/效果接口齐全,该省略的已省略;描写类字段有达到可感知的地板,难懂分级有分级表现。
- 3:大体可用,但有 1 个冗余、重叠或明显缺失字段,或个别描写字段地板含糊、某档分级只有阶名。
- 1:通用名片乱塞,或关键效果/接口字段缺失;描写字段与示例都是单标签。
- 5:字段由用途推出,不多不少;描写地板是一句可感知标准;难懂分级能与邻档分开。
- 3:大体可用,但有一处冗余、缺失,或地板/提示在复读填充要求。
- 1:关键接口缺失,或地板、提示、反例写成场面。
池与提示:
- 5:只有封闭集合用池,不可穷举项用提示或自由;提示具体可执行,方向式提示以「方向名:一句概括」为主、不挂作品名。
- 3:大体合理,但个别字段误用/漏用池,或池过泛、提示含糊。
- 1:为姓名、气质、能力等建词池,大段假穷举,或本该一句话提示却做成巨型词表。
- 5:封闭集合用池,其余用提示或自由;提示是范围或方向名,不堆例句。
- 3:个别字段误用池,或提示含糊。
- 1:为姓名、气质、能力建词池,或提示变成例句库。
填写工作流:
- 5:阶段简洁有力,依赖与自检/反模式能引导按重要性推进,反复生成时含去重,不臃肿。
- 3:有阶段但顺序或依赖不清,或清单偏长却抓不住关键咬合。
- 1:无工作流,或与字段脱节,无法指导动态生成。
- 5:阶段只含会改变顺序的步骤,自检抓得住,反复生成时含去重。
- 3:有阶段但依赖不清,或清单偏长。
- 1:无工作流,或与字段脱节。
```
## checklist
```checklist
- [ ] 名称与用途已写清?
- [ ] 字段由用途推出,无冗余重叠、无关键缺失?
- [ ] 池与提示分工正确?姓名、绰号、能力、外貌、气质没有建池?
- [ ] 描写类字段有地板,示例不是单标签?难懂分级有分级表现?
- [ ] 几面拼一格的字段在填充要求里写了配方?
- [ ] 填写工作流含子字段:工作流 / 依赖关系 / 自检清单 / 反模式?反复生成时自检含去重?
- [ ] 生命周期已钉?一次生成按关系定,而非按总数?
- [ ] 共享格局只引用舞台骨架,没有重抄共通前提?
- [ ] 未输出最终实例、百科长文、评分或追问?
- [ ] 名称、用途、生命周期已写清,且只含一条规则?
- [ ] 字段由用途推出,无同义字段?
- [ ] 填充要求、提示、地板没有同一句写两遍?
- [ ] 地板是一句可感知标准,不是场面或台词?
- [ ] 池只绑封闭集合;难懂分级才有分级表现,且未另造一套已有标尺?
- [ ] 工作流阶段没有凑数;同批/单条按关系而非总数?
- [ ] 格局与法则是短引用,没有重抄舞台或机制?
- [ ] 正文无最终实例、评分或追问?
```
## examples
```examples
好:
- 武功典籍:字段为名字 / 效果 / 阶层。阶层池选取封闭档位,另写 `分级表现`,每阶一句概括 + 可感知表象;名字与效果用提示约束。
- 女主规则:不设「性别」;池为 `[]`;内在冲突自由写,地板是「能在一场戏里演出来的两难」。
- D&D 怪物:名称、等级、攻击骰齐全;气质用提示约束,地板写到一个可观察的习性。
- 外貌:`填充要求` 写配方「轮廓一句 + 质感一句 + 一个旁人会记住的细节」,拼成扁平的一段「外貌」。
- 互为仇敌的两名开局 NPC → 一次生成=同批,关系写谁夺了谁的什么;可互换的酒馆路人 → 单条;总共要 5 个但彼此无关 → 数量 5、一次生成单条。
- 武功典籍:字段为名字、效果、阶层。阶层走封闭池,分级表现每档一句概括加一句与邻档不同的可见差别。名字与效果用提示,不建池。
- 外貌:填充要求写配方「轮廓一句 + 质感一句 + 一个旁人会记住的细节」。地板一句:「能认出年龄感、一套衣服、一处身体曲线。」不写被征服时的神态。
- 实权:填充要求写「相对主角有没有二十四小时内生效的赏罚;没有则写无实权落差」。提示与地板不把这句话再写一遍。
- 已有 10 阶价目拓扑:填充要求写「强度取该图的阶名,价格按该档已写基价」。不在本规则重列全表。
- 互为仇敌的两名开局 NPC:一次生成同批,关系写谁夺了谁的什么。彼此无关的五个路人:数量 5,一次生成单条。
坏:
- 为气质、绰号、能力各建一个 8~20 词的池,填出来全是标签。
- 提示里的方向每条挂作品名或例句,变成假选项库。
- 示例写「气质:阴郁」「能力:时空斩」,地板被示例教坏。
- 阶层只写「A」「金丹」,没有分级表现,叙事时无从下笔。
- 把社会格局、前史写成「共通前提」长文塞进规则,而不是引用舞台骨架。
- 女主规则塞「性别」;怪物规则只有名字和性格,没有等级、攻击骰。
缺料时:
- 生命周期或同批关系定不下来 → `self_score.gap`。
- 台上格局还没有 → 填充要求只写必须守的最短条款,并 gap 指明缺舞台或机制。
偏了就改回:
- 填充要求、提示、地板三份都在讲「二十四小时内失去什么」→ 留在填充要求,另两槽删掉或只补真正的缺口。
- 地板写成「她会哭着改口、手按在锁骨上」→ 改成「写出哪份文件作废」。
- 分级表象写成一段调教 → 改成一句与邻档不同的可见差别。
- 反例写成完整小剧场 → 留半句错法,或只留说明。
```