Direction-first pools, recipes, and grade manifestation replace enum-tag stuffing; spawned products can be deleted and in-flight runs aborted. Co-authored-by: Cursor <cursoragent@cursor.com>
7.3 KiB
7.3 KiB
具体实例
技能文档。程序只切割下方 fence 块;
##标题仅供人读。
产物外壳:docs/context-fragment-design.md。
本步极简:严格按已验收的「生成规则」执行,交出实际产物。
meta
name: 具体实例
id: concrete-instances
artifact: 设计.具体实例
declaration: >
已有预生成规则时:按该规则原样交出 records;不设计、不改合同;可按规则/批次反复
when: |
「设计.生成规则」里已有 `seed_only` 或 `seed_and_runtime` 的规则,且现在需要实际名片/记录(开局 NPC、种子事件等)。
when_not: |
尚无规则或规则不完整 → 先「生成规则」。想改格式/方法/池 → 回「生成规则」,本步不改合同。
规则是 `runtime_only` → 不排,游玩期再生成。
只要规则不要预写实例 → 不排。
boundary: |
本技能只做一件事:按指定规则生成 records。规则说怎么写、什么格式、如何用池、填到多厚,就照做。
生成规则:合同制定方——本步不重论证、不修改。
feeds: gm
opening
先认定本批按哪条规则生成:
- 若【本步对象】已有 rule_id,以此为起点;要换规则就在本步改(须仍是已验收的预生成规则)。
- 若规划为空,从已验收生成规则里选出一条预生成规则。
读规则「一次生成」:同批则本步一次交齐互有关系的多条;单条则本步只交 1 条。有批次目标可一句带过。
task
你正在执行「具体实例」。产物必须是 **context-fragment.v1** JSON,写入「设计.具体实例」。
本步 = 规则执行器。禁止重议对象族、生命周期、schema 或描写方法。
本步是〔先验产物〕:先定调用哪条规则,再生成 records。读【本步对象】与【原型建议】;在本步钉「写什么」。
执行顺序:
1. 认定 `rule_id`:规划有则采用(用户要换则以最新为准,须仍是已验收的预生成规则);空则先从依赖产物里选出。不要停下来让编排器补参。非预生成生命周期或缺信息 → 停止并指出缺口。
2. 条数:先读规则「一次生成」。
- `单条`:本批 `records` 恰好 1 条;规划 `count` 即使写成多条也忽略。
- `同批`:一次交齐互有关系的多条。条数:规划 `count` 有数字用数字,否则用规则「数量」。生成时先对齐「一次生成.关系」(各条如何互指、对立、同场),再填各条字段。
`batch_goal` 只作不违反规则的筛选。缺「一次生成」时按「数量」/ `count` 交 `records[]`(可多条)。
3. 完全按规则的「生成与描写」+「产物格式」+「池」+「分级表现」生成 `records`(始终是数组,单条也是长度为 1 的数组;键=schema 顶层字段)。
池的用法以规则 `池型` 为准:
- **方向**:以方向为主。粒度是词条/方向时,字段值可以就是方向名。粒度是句子时,按该方向写开(方向名可作标签,后面仍要达到地板)。方向说明里的专名不是选项库,不要按专名点菜。
- **元素**:从 `条目` 里抽取或必选,写入绑定字段。
有 **配方**:按配方从各组件取方向,拼进目标字段那一格。
有 **分级表现**:实例只填档位短值;不要把整段表象复制进 record,除非 schema 单独设了表象字段。叙事时按规则展开。
无池的描写字段按 `粒度`/`地板`/`表现`/`工作流` 写到够厚。
4. 按规则自检(含地板:句子级不得只用一个词交差);不合格内部重做。已有产物则追加批次(除非用户要求替换)。
5. 输出 JSON;追问通常 `[]`。
summary:`具体实例 · {对象} · {n}条`
principles
1. 只按规则来:方法、配方、表现、分级表现、格式、池型、数量、一次生成、约束、地板——规则有什么用什么;没有的不发明。
2. 同批先钉记录间关系再填各条;单条不虚构同场关系。始终交 `records[]`。
3. 只交 records:单层 JSON;不交解释、草稿、schema 副本、整池粘贴。方向以方向为主;说明里的专名不是选项。
4. 句子级描写必须达到该字段 `地板`;词条/档位/数字可以短。句子级不要只丢一个词交差;方向名可以当选项或标签。
5. 要改合同 → 回「生成规则」,本步不加字段、不改枚举、不改池型。
probe
通常不追问。仅当 contextual 数量算不出、或同批「关系」写了但本批对象对不齐时,问一句。
用户要 schema 外内容 → 提示回「生成规则」。
output
{
"schema": "context-fragment.v1",
"技能": "具体实例",
"brief": "rule_id + 本批条数",
"mount": ["world-simulator"],
"稳变": "stable",
"正文": {
"rule_id": "与本步认定一致(规划有则对齐)",
"本批数量": 3,
"批次条件": ["规划 batch_goal 等;无则 []"],
"batch_id": "英文 kebab-case",
"records": [
{
"键来自规则产物格式 schema": "值"
}
],
"增量说明": "新建|追加|替换某 batch_id"
},
"自评": {
"维度": [
{
"名": "合规模",
"分数": 8,
"说明": "是否按方法/配方/表现/单层格式/池型(方向为主,元素=抽取)/分级表现/地板生成;句子级是否达到粒度"
}
],
"薄弱点": "一句话;无则空字符串"
},
"追问": {
"导语": "",
"题目": []
},
"开放问题": []
}
硬规则:
- 合法 JSON;含
schema/技能/brief/正文/自评/追问。 - 正文键固定:
rule_id/本批数量/批次条件/batch_id/records/增量说明。 records始终为数组;每条必须是规则约定的单层 JSON;本批数量 === records.length。规则「一次生成」为单条时长度为 1;为同批时 ≥2 且关系对齐。- 自评仅「合规模」一维。禁止改规则、写
order、输出执行单元列表。 - summary:
具体实例 · {对象} · {n}条。
checklist
- [ ] 按本步认定的 rule_id(规划或步内钉)的预生成规则执行?
- [ ] 一次生成已遵守(单条=1 条;同批=多条且关系对齐)?records 始终是数组?
- [ ] records 单层、键值符合产物格式与全部约束?句子级是否达到地板?有配方是否组装进目标字段?方向是否以方向为主(专名不当选项库)?
- [ ] 自评为合规模?未改合同?
examples
好:规则一次生成=同批、关系=开局仇敌二人 → 本批 2 条,对立在两条里对齐。
好:规则一次生成=单条 → 本批 1 条;还要更多就再点原型。
好:方向「冷焰」作标签,能力描述按该方向写开到可感知;或粒度=方向时字段值就是「冷焰」。
好:阶层字段填「金丹」,表象留在规则的分级表现里,不把整段对照复制进每条 record。
坏:同批规则却只交 1 条,或分多步把有关系的人拆开写。
坏:加规则没有的字段;输出一段「我是怎么想的」却没有 records;本步改 schema。
坏:句子级只填「阴郁」;或按方向说明里那个专名点菜交差。