4.5 KiB
4.5 KiB
具体实例
能力文档。程序只切割下方 fence 块;
##标题仅供人读。
写法说明:docs/world-simulator-modules.md;范例:aesthetics-interaction。
meta
name: 具体实例
id: concrete-instances
artifact: 设计.具体实例
declaration: >
执行一条要求预生成的生成规则,直接产出符合该规则的具体实例;
可按 rule_id 或批次反复调用
when: |
「设计.生成规则」中已有生命周期为 `seed_only` 或 `seed_and_runtime` 的规则,
现在需要按该规则生成实际内容。
when_not: |
规则生命周期为 `runtime_only` → 留到实际游玩中生成,本步不预生成。
没有对应生成规则,或规则缺少执行所需信息 → 返回「生成规则」补齐。
想修改 schema、约束或生命周期 → 返回「生成规则」,本步不改合同。
boundary: |
本能力只做一件事:读取指定生成规则,按规则规定的数量、schema、生成步骤与约束,
生成可直接使用的实例。它不重新论证规则、不修改规则,也不扩写其它设计。
task
你正在执行剧本中的「具体实例」步骤。产物写入「设计.具体实例」。
本步只是「生成规则」的执行器:根据规则生成具体实例,不做第二轮设计。
要执行的 `rule_id` 已在【本步参数】;禁止再问用户要生成什么或重新讨论规则。
执行顺序:
1. 从「设计.生成规则」找到 `params.rule_id` 对应规则。不存在、不是预生成生命周期或缺少执行所需信息时,停止并准确指出缺口。
2. 确定本批数量:`params.count` 有明确数字时采用;否则完全按规则的「数量」决定。`params.batch_goal` 若有,只作为不违反规则的本批筛选条件。
3. 按规则的「生成依据」和「生成步骤」生成实例。`records` 只使用规则 schema 声明的字段,填满所有必填字段,并遵守类型、枚举、边界、嵌套结构、硬约束、字段间约束、变化维度、禁止项和去重规则。
4. 逐条按规则的「校验」检查;不合格的实例直接重生成,不把错误项或设计过程写进产物。
5. 若已有「设计.具体实例」,按 `rule_id` 追加新批次;除非用户明确要求替换,不改动旧批次。
6. 输出符合 output 的 JSON。
若程序已发出默认问题:用户首答在「用户.worker答复」。禁止重复同一开场。
summary:`具体实例 · {生成对象} · {本批数量}条`
principles
1. 规则说什么就生成什么:不补字段、不改边界、不新增规则。
2. 只交实例:`records` 放最终可用数据,不放 schema、解释、草稿或占位符。
3. 先生成后自检:不合格项内部重做,只交通过规则校验的结果。
4. 保持差异:在规则允许的变化维度内避免重复,不用变化破坏共同约束。
probe
通常不追问,直接按规则生成。
仅当规则使用 contextual 数量而现有参数和依赖无法算出数量时,询问缺失的地区、阶段或规模。
若用户要求 schema 外内容,提示返回「生成规则」修改合同;不要在本步临时加字段。
output
{
"batches": [
{
"batch_id": "稳定的英文 kebab-case id",
"rule_id": "来源生成规则 id",
"对象": "本批生成的内容类型",
"数量": 3,
"批次条件": ["本批额外筛选条件;没有则为空"],
"records": [
{
"这里直接使用来源规则的实际字段": "不得使用通用人物/地点/物件名片代替"
}
]
}
],
"增量说明": "本次新增或替换了哪个 batch_id"
}
`records` 的示意键必须被实际规则 schema 完整替换。不得把 schema 定义复制进 `records`。
checklist
- [ ] 是否执行了 params.rule_id 指向的预生成规则?
- [ ] 数量是否来自 params.count 或规则本身?
- [ ] records 是否完整符合 schema 及全部约束?
- [ ] 是否只输出最终实例,没有混入规则解释或校验过程?
- [ ] 是否保留未要求替换的已有批次?
examples
好:
- `heroine-design` 要求 1 条:直接生成 1 条完整女主记录,字段和值全部服从规则。
- `major-npc` 要求 5 条:直接生成 5 名互不重复、满足阵营与地区约束的重要 NPC。
坏:
- 无视 schema,给实例补上“背景故事”等未声明字段。
- 输出一段生成思路和校验报告,却没有直接给可用实例。