Files
writing-agent/skills/dialogue/world-simulator/modules/generation-rules/prompt.md
T
chenmoranzhiandCursor cf6cb68429 收紧世界模拟器能力与壳提示,对齐新的落盘合同和呈现分工。
让选题填写与游玩投影读到一致的规格口径。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 23:49:34 +08:00

12 KiB
Raw Blame History

生成规则

meta

name: 生成规则
id: generation-rules
artifact: 设计.生成规则
declaration: >
  为需要统一生成的一类对象写出合同:名称、用途、字段、池或提示约束、填写工作流;不填最终实例;可按对象反复。
when: |
  要落两份或以上同类对象时使用。
  只落一份,但字段多、结构重要,或需要先审字段和填写工作流时也使用。
  不因开场后是否继续按同一合同生成而改道。每个产物只写一条规则。
when_not: |
  只有一条、字段很少、也不承载玩法的具名内容,才不建规则。这种内容通常也不必落具体实例。
  一张有节点和连接的结构(地图、升级路径、关系网)→ 拓扑图谱。
  跨轮真值 → 变量设计;舞台格局与硬法则 → 舞台骨架 / 实现机制。
boundary: |
  本能力只交生成合同:名称、用途、字段、池或提示、填写工作流。
  不填最终 records,不重写世界百科,不改变量公式与剧情推进。
feeds: gm,auditor

opening

先说这套规则生成什么、用在什么场合。只有一条字段很少的具名内容,通常不必建规则,也不必落具体实例。

task

为单一对象族写出一份生成合同,写入 `设计.生成规则#中文规则名`。先写名称与用途,再按用途推出字段与每项填充要求;描写类字段写明地板,标签看不懂的分级另写分级表现;需要封闭选取的字段绑池,更适合一句话约束的字段写提示;最后写填写工作流(含依赖、自检、反模式),供具体实例与游玩期动态生成共用。

每个产物只含一条规则。材料足够便直接成稿;真正会改合同的缺口(生命周期、必填字段、单条/同批关系)交给 `self_score.gap`。产物正文不放评分、诊断、追问或开放问题。

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 保持既有键。

output

{
  "schema": "context-fragment.v1",
  "技能": "生成规则",
  "brief": "一句话:对象 + 用途 + 生命周期",
  "mount": ["world-simulator", "auditor"],
  "稳变": "stable",
  "正文": {
    "名称": "人话规则名,如「末世可征服 NPC」",
    "用途": "这套规则在本局用来生成什么、服务哪类游玩反馈",
    "规则名": "中文短名,与名称对应且稳定",
    "生命周期": "仅游玩期|只预生成|预生成并游玩期",
    "数量": {
      "模式": "固定|区间|看情况",
      "值": 1,
      "最小": 1,
      "最大": 1,
      "决定规则": "contextual 时说明如何决定条数"
    },
    "一次生成": {
      "模式": "单条|同批",
      "关系": "同批必填:本批必须一起钉死的互指;单条写彼此独立"
    },
    "字段": [
      {
        "名": "顶层字段名",
        "填充要求": "填什么、填到多厚、为何本用途需要它;几面拼一格的写配方(哪几面、各写什么)",
        "取值方式": "自由|池选取|提示约束",
        "绑定池": "池选取时填写池名称;其它省略",
        "提示": "提示约束时写可执行的一句范围,或 2~6 个「方向名:一句概括」;其它省略",
        "地板": "描写类字段写:最低填到什么可感知程度;词条、档位、数字省略"
      }
    ],
    "池": [
      {
        "名称": "与字段绑定的人话名",
        "说明": "何时从中选取、选取口径",
        "条目": ["封闭可选项;只列必须一致的有限集合"]
      }
    ],
    "分级表现": [
      {
        "字段": "标签看不懂的分级字段名;无此类分级则省略整个键",
        "档位": [
          {
            "值": "档位短值,与实例所填一致",
            "概括": "一句:这档能做到什么量级",
            "表象": "看见、听见、碰到什么;须能和上下档分清"
          }
        ]
      }
    ],
    "填写工作流": {
      "工作流": {
        "阶段1 骨架锚定": "先选哪些池/字段、定下什么内核",
        "阶段2 灵魂注入": "下一步推什么,如何与上一阶段咬合",
        "阶段3 血肉填充": "姓名、外貌等如何服务已定内核",
        "阶段4 立场定调": "可选;最后定关系或立场类字段"
      },
      "依赖关系": [
        "字段A → 字段B:约束说明"
      ],
      "自检清单": [
        "填完后必须能回答的关键问题"
      ],
      "反模式": [
        {
          "名": "短名",
          "说明": "为什么错",
          "反例": "可选一句"
        }
      ]
    }
  }
}

硬规则:

  1. 输出合法 JSON;每个产物只描述一条规则,禁止 rules 数组堆多条。
  2. 字段 由用途推出;可省略的字段不写;重叠字段合并。
  3. 池 可 [];池选取字段必须能对应到某个池;提示约束字段必须有 提示。姓名、绰号、能力概念、外貌、气质不绑池。
  4. 填写工作流 必含 工作流;依赖关系 / 自检清单 / 反模式 为子字段,无则 [],不要拆成正文顶层并列大段。
  5. 一次生成 为同批时关系必填且本批至少 2 条;为单条时一次只交 1 条。
  6. 字段值为扁平可填内容;不要嵌套对象当字段值契约。几面拼一格的配方写在 填充要求。
  7. 描写类字段必须有 地板;规则里任何示例都要达到地板。标签看不懂的分级必须在 分级表现 写齐每档;没有此类分级则省略 分级表现。
  8. 不在产物正文写自评、追问、开放问题或最终记录。
  9. 只预生成 时程序记为中间层;仅游玩期 / 预生成并游玩期 记为最终层。
  10. 字段名和专名用中文;英文专名音译为中文。

score

字段妥当:
- 5:字段由用途推出,不多不少、不重叠;该有的玩法/效果接口齐全,该省略的已省略;描写类字段有达到可感知的地板,难懂分级有分级表现。
- 3:大体可用,但有 1 个冗余、重叠或明显缺失字段,或个别描写字段地板含糊、某档分级只有阶名。
- 1:通用名片乱塞,或关键效果/接口字段缺失;描写字段与示例都是单标签。

池与提示:
- 5:只有封闭集合用池,不可穷举项用提示或自由;提示具体可执行,方向式提示以「方向名:一句概括」为主、不挂作品名。
- 3:大体合理,但个别字段误用/漏用池,或池过泛、提示含糊。
- 1:为姓名、气质、能力等建词池,大段假穷举,或本该一句话提示却做成巨型词表。

填写工作流:
- 5:阶段简洁有力,依赖与自检/反模式能引导按重要性推进,反复生成时含去重,不臃肿。
- 3:有阶段但顺序或依赖不清,或清单偏长却抓不住关键咬合。
- 1:无工作流,或与字段脱节,无法指导动态生成。

checklist

- [ ] 名称与用途已写清?
- [ ] 字段由用途推出,无冗余重叠、无关键缺失?
- [ ] 池与提示分工正确?姓名、绰号、能力、外貌、气质没有建池?
- [ ] 描写类字段有地板,示例不是单标签?难懂分级有分级表现?
- [ ] 几面拼一格的字段在填充要求里写了配方?
- [ ] 填写工作流含子字段:工作流 / 依赖关系 / 自检清单 / 反模式?反复生成时自检含去重?
- [ ] 生命周期已钉?一次生成按关系定,而非按总数?
- [ ] 共享格局只引用舞台骨架,没有重抄共通前提?
- [ ] 未输出最终实例、百科长文、评分或追问?

examples

好:
- 武功典籍:字段为名字 / 效果 / 阶层。阶层池选取封闭档位,另写 `分级表现`,每阶一句概括 + 可感知表象;名字与效果用提示约束。
- 女主规则:不设「性别」;池为 `[]`;内在冲突自由写,地板是「能在一场戏里演出来的两难」。
- D&D 怪物:名称、等级、攻击骰齐全;气质用提示约束,地板写到一个可观察的习性。
- 外貌:`填充要求` 写配方「轮廓一句 + 质感一句 + 一个旁人会记住的细节」,拼成扁平的一段「外貌」。
- 互为仇敌的两名开局 NPC → 一次生成=同批,关系写谁夺了谁的什么;可互换的酒馆路人 → 单条;总共要 5 个但彼此无关 → 数量 5、一次生成单条。

坏:
- 为气质、绰号、能力各建一个 8~20 词的池,填出来全是标签。
- 提示里的方向每条挂作品名或例句,变成假选项库。
- 示例写「气质:阴郁」「能力:时空斩」,地板被示例教坏。
- 阶层只写「A」「金丹」,没有分级表现,叙事时无从下笔。
- 把社会格局、前史写成「共通前提」长文塞进规则,而不是引用舞台骨架。
- 女主规则塞「性别」;怪物规则只有名字和性格,没有等级、攻击骰。