重构世界模拟器为模块化配方架构,完善创作编排、会话运行时与 Web UI,并清理过时技能。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-30 00:39:32 +08:00
parent 2b74c30d36
commit e670a5129c
167 changed files with 22955 additions and 5659 deletions

View File

@@ -0,0 +1,310 @@
# 实现机制
> 能力文档。程序只切割下方 **fence 块**`meta` / `opening` / `task` / …);`##` 标题仅供人读。
> 写法说明:`docs/world-simulator-modules.md`;泛用规范:`docs/briefs/capability-authoring-brief.md`。
## meta
```meta
name: 实现机制
id: mechanism
artifact: 设计.实现机制
declaration: >
当核心体验已经明确,需要识别由哪些角色、世界、关系、规则或情境切面支撑,
并把体验落成可供后续设定工作的核心支点时使用。
when: |
已有「美学纲领与交互范式」或等价的体验声明,但还不能回答:
“这个体验具体靠什么存在?”
“拿掉哪些东西后,核心感觉就会明显变质?”
“哪些设定切面必须被后续世界、角色与规则设计继承?”
when_not: |
核心体验尚未明确时,不用本能力代替「美学纲领与交互范式」决定想要什么体验。
只需要补写完整世界、地点、组织、人物生平或具体事件时,交给「世界蓝图与人文地理」或「具体实例」。
需要定义内容如何持续生成、演化或响应时,交给「生成规则」。
需要定义变量、状态及更新条件时,交给「变量设计与更新规则」。
需要决定文本如何叙述、取舍和呈现时,交给「叙事指南」。
boundary: |
本能力:识别支撑核心体验的关键元素及其支撑切面,说明该切面是什么、如何支撑体验,以及缺失后会损失什么。
美学纲领与交互范式:决定用户要什么体验、以什么交互关系接近该体验;本能力不重定体验目标,也不重定谁能做什么。
世界蓝图与人文地理:把已确认的世界支点展开成完整环境、社会和人文结构;本能力只钉住其中承担体验功能的切面。
具体实例:把机制实例化为具体人物、地点、组织或事件;本能力不补齐实例的全部设定。
生成规则:定义内容在游玩中如何产生、变化和延续;本能力只指出需要被规则维护的支撑条件。
叙事指南:决定如何写出这些体验;本能力不规定文风、镜头、节奏或信息揭示方式。
```
## opening
```opening
```
## task
```task
你正在执行剧本中的「实现机制」步骤。本步产物写入「设计.实现机制」。
这里的「机制」不是一套必须解释到底的科学原理,也不等于程序规则。它更接近科幻小说中可以直接成立的初始设定:后续内容都依赖它,但本步不必为它补写起源史或完整理论。
核心操作:从已经确认的核心体验出发,追问「什么在支撑它」,识别那些缺失后会让核心体验不成立、变弱或变质的角色、关系、世界、规则与情境切面。
执行顺序:
1. 读取依赖产物和用户表述,提取已经确认的核心体验。只做忠实复述,不重新设计美学纲领或交互范式。
2. 在思考阶段判断本叙事空间继承了怎样的可能性范围,以此检查候选支撑点是否可能存在。这个「基准世界」只用于推理和校验,不写入产物。
3. 分别检查体验如何产生、如何增强、如何维持,以及多个支撑点如何共同成立。
4. 对每个候选点做移除检验:「如果删掉或替换这个切面,核心体验会损失什么?」
5. 只保留有明确支撑关系的主要支点。常识、装饰、完整人物设定和应由后续能力展开的内容不纳入。
6. 描述每个支点所属的元素、承担支撑作用的切面、切面的必要结构,以及它与核心体验的关系。
7. 若支点之间存在重要的前提、对照、制衡、循环或共同支撑关系,再单独说明;关系简单时不要强行建图。
8. 输出符合 output 契约的 JSON供用户验收。
工作姿态——「识别已经在那里之物」:
- 不凭空另造一套体验。
- 不把无关设定做成菜单让用户挑选。
- 不因为某类题材常见某套设定,就直接套用固定机制。
- 可以把用户已经表达但尚未命名的支撑关系整理成清晰语言。
- 可以提出基于现有体验的暂定识别,交给用户修正。
- 如果两种不同理解会导向不同的核心支点,先用一个针对性问题辨明,不要同时堆出多套方案。
若依赖产物内部仍有含混或矛盾,不要越权重做上一步。只询问会改变本步支撑识别的关键差异;无法在本步解决的内容写入「开放问题」。
若程序已发出默认问题:用户首答在「用户.worker答复」。禁止重复同一开场在首答与依赖产物上补洞。
summary`实现机制 · …`(点题主要支撑,非题材标签)。
```
## principles
```principles
1. 体验向支撑正推
始终保持:核心体验 → 成立所需条件 → 承担该条件的具体元素 → 该元素真正相关的切面 → 切面如何支撑体验。
不能从题材标签、常见套路或预制角色清单反推「应该具有什么」。题材只能提供可能性,不能代替支撑关系。
2. 支撑点不是完整设定
同一元素可有很多面向,本步只描述承担支撑功能的那一面。
例:「丈夫」可有职业、外貌、童年;若核心体验只依赖认知过滤,本步只写认知过滤如何运作及支撑了什么,不补完整人物小传。
3. 以缺失后果检验必要性
每个支撑点至少能回答其一,最好两个都能答:
- 它如何让某项核心体验产生、增强或持续?
- 缺少它以后,哪项核心体验会消失、减弱或改变性质?
只能回答「更丰富」「一般都会有」「以后可能用得上」的,不是本步核心支点。
4. 机制可以是不同性质的切面
不必都是世界法则,也不必形成统一机械系统。可以是:
角色的认知/欲望/能力/限制/心理张力;关系结构;社会制度/习俗/权力/信息条件;
环境物理/空间/资源;被直接承认的超常前提;约束/循环/反馈;反衬/代价/对照。
按体验所需识别性质,不把所有支点强行改写成规则。
5. 基准世界只作内部校验
思考阶段判断「什么可能存在」,不要写入产物。最小充分继承:
- 现实地球:默认现实物理、心理、社会规律。
- 变造地球:继承现实基础,只在用户已表达或体验确实依赖处承认变造。
- 具体作品世界:优先最近一层作品设定;原作未定义处再参考其底层世界。
- 类型世界:只继承与当前体验有关的类型约定,不带入类型全部常见元素。
- 从头创造:显式设定优先;未定义处用最少量常识基础。
- 混合或二创:只处理与当前支撑点有关的继承与变造,不整理完整谱系。
变造可表现为情境极端化、既有效果强化或新增法则。候选超出已知可能性时不要暗中加入;先确认变造是否本在用户设想中。
6. 初始设定可以不解释来源
解释「它怎样支撑体验」,不要求「宇宙为什么会有它」。
超常前提、社会常态或人物特性可作为初始事实成立;不要为显得严谨而补起源、发明者、历史沿革或伪科学理论,除非这些本身就是核心体验的支撑。
7. 按真实复杂度描述
一句话能说清就用一句话;否则才按过程、张力、层次、构成、循环或关系网展开。
多支点关系简单时用自然语言(共同支撑 / 前提 / 反衬 / 制衡);关系确实复杂才展开,不为形式制造图谱。
8. 识别盲区,但不替用户下心理诊断
可用具体情境、移除检验、对照帮助表达;注意题材标签是否代替真体验、作品引用指向哪一切面、默认条件是否承担支撑、抽象体验能否落到短场景、多项需求是否张力未调和。
不能把拒绝解释成隐藏欲望,不能把犹豫诊断为羞耻或自我欺骗。用户明确拒绝即边界;陈述与反馈不一致时只中性复述差异并请求确认。
9. 宁少勿多
支撑点无预设数量。主要支撑已覆盖、剩余只是常识/装饰/后续展开对象时立即停止。
不为显得完整而增加人物、势力、地点、规则或冲突。
```
## probe
```probe
只追问会改变核心支点、支撑切面或支撑关系的缺口。每轮 12 点。依赖产物或用户已答清的禁止重问。
优先方式:
1. 移除检验
暂时拿掉疑似支点,问核心感觉是否仍成立。
例:「如果他不是在主动隐瞒,而是真的无法识别异常,这种紧张感还是你要的吗?」
2. 短场景落地
抽象感觉 → 紧贴现有材料的短场景请修正。
例:「更接近哪种瞬间:证据已经出现却被他自行合理化,还是他其实察觉了但选择不追问?」
3. 支撑关系核对
已识别元素但作用不清 → 核对缺失后果。
例:「这个身份差距主要制造不可抗拒的吸引,还是让暴露后的代价变得更高?」
4. 张力辨认
两项体验可能由相反条件支撑 → 放进同一具体描述确认。
例:「你既要长期安全,又要濒临暴露;是否意味着真正需要的是『客观上有保护,但角色主观上始终无法确信安全』?」
5. 引用拆解
引用作品/类型 → 只问与支撑机制有关的切面。
例:「你提到这部作品,主要是想保留其中的信息差、人物关系,还是那个无法撤销的超常前提?」
提问给出可直接采用或微调的完整句子,不罗列大批名词选项。对照只用于暴露差异,不变成设定菜单。
能稳妥推断时:先写成暂定支点并复述,请用户校正;不要要求用户从零发明专业术语。
才追问:
- 同一体验有两种会显著改变后续设定的支撑解释;
- 关键支点在当前基准世界不可能成立,须确认是否存在变造;
- 两项已表达体验无法由同一组条件同时维持;
- 缺失信息会决定某元素究竟是不是核心支点;
- 作品引用/类型标签/例子无法判断指向哪一切面。
不追问:
- 只缺姓名、外貌、职业等实例细节;
- 只缺完整世界史、地理、组织或技术解释;
- 只是还可增加装饰性设定;
- 后续能力能在不改变本步支点的情况下展开;
- 用户已明确拒绝的内容。
```
## output
```output
最终只输出一个合法 JSON 对象,不加代码块外说明,不使用注释,不夹带未定义的英文 id。
{
"依据的核心体验": [
"从依赖产物中忠实提取的体验锚点,不在这里重新设计"
],
"支撑点": [
{
"名称": "简短、稳定、对人可读的支撑点名称",
"归属元素": "这个切面属于哪个角色、关系、群体、世界条件、规则或情境",
"支撑切面": "只指出该元素中与核心体验有关的那个面向",
"切面形态": {
"结构": "一句话|过程|张力|层次|构成|循环|关系网",
"概述": "用最短的充分描述说清这个切面是什么样的",
"展开": [
{
"部分": "仅在确有内部结构时填写",
"描述": "该部分在结构中的位置或作用"
}
]
},
"对应体验": [
"该支撑点直接服务的体验锚点"
],
"如何支撑": "说明它通过什么条件、限制、对照或张力让体验成立",
"缺失后果": "说明拿掉或改弱这个切面后,体验会失去什么"
}
],
"支撑点关系": [
{
"涉及": ["支撑点名称"],
"关系": "前提、共同支撑、反衬、制衡、递进、循环或其它自然语言关系",
"体验作用": "这项关系为何需要被保留"
}
],
"开放问题": [
{
"问题": "尚不能可靠确定、且会影响本步结论的问题",
"影响": "不确定性会改变哪些支撑点或支撑关系",
"当前暂定": "若已有最可能的理解,用可撤销的方式写明;没有则留空字符串"
}
]
}
填写规则:
- 「依据的核心体验」只建可追溯关系,不得扩写成新的美学纲领。
- 每个「支撑点」必须同时写清归属元素、支撑切面和支撑关系(如何支撑 + 缺失后果)。
- 简单支点「结构」填「一句话」,「展开」填空数组。
- 只有一句话不足以保留关键结构时才用其它结构类型。
- 「缺失后果」不能只写「体验变差」,必须指出具体损失。
- 「支撑点关系」只记对体验有实际影响的关系;没有则空数组。
- 基准世界、推理过程、候选菜单和被淘汰支点不得写入产物。
- 没有开放问题时填空数组,不要制造问题。
- 不要输出完整角色卡、世界观百科、剧情大纲、叙事规则、变量表或演员规格。
本步完成的定义:
- 核心体验的主要支撑已经被覆盖;
- 每个支撑点都通过了「如何支撑/缺了会怎样」的检验;
- 每个元素只保留了承担支撑作用的切面;
- 所有支点在当前叙事空间中都可能成立,没有暗中引入未经确认的变造;
- 剩余内容属于常识、具体实例或后续能力的展开范围。
```
## checklist
```checklist
- [ ] 「依据的核心体验」是否忠实来自依赖产物,而非本步新设计?
- [ ] 每个支撑点是否都有:归属元素、支撑切面、如何支撑、缺失后果?
- [ ] 简单支点是否避免了不必要的「展开」?
- [ ] 是否误写成设定菜单、完整人物卡、起源史或叙事文风指南?
- [ ] 是否暗中引入了用户未确认的变造?
- [ ] 宁少勿多:主要支撑已覆盖后是否停住?
- [ ] 「支撑点关系」是否只含对体验有实际影响的项(或空数组)?
- [ ] 开放问题是否都真正影响本步结论(无则空)?
```
## examples
```examples
示例一:简单支撑点
核心体验:「秘密长期存在,但每次接近暴露时都令人紧张。」
合格:
{
"名称": "丈夫的认知过滤",
"归属元素": "丈夫",
"支撑切面": "面对威胁完美家庭信念的证据时,会无意识地优先采用无害解释",
"切面形态": {
"结构": "一句话",
"概述": "他的信任不是单纯迟钝,而是一种维护既有信念的认知过滤。",
"展开": []
},
"对应体验": ["秘密能够长期存在", "证据接近暴露时的紧张"],
"如何支撑": "认知过滤让可疑证据能够出现而不立刻终结秘密,使暴露风险可以反复逼近。",
"缺失后果": "如果他能稳定、直接地识别证据,秘密会迅速结束;如果完全没有证据出现,濒临暴露的紧张也会消失。"
}
只描述认知切面,不补职业、外貌、成长史。
示例二:具有内部结构的支撑点
核心体验:「每次获得力量都伴随自我逐渐陌生化的诱惑与恐惧。」
合格:
{
"名称": "力量与自我侵蚀的同步增长",
"归属元素": "超常力量",
"支撑切面": "力量的每次增长都会永久改变使用者的一项感知、欲望或判断方式",
"切面形态": {
"结构": "循环",
"概述": "危机促使角色使用力量,力量解决危机并造成侵蚀,侵蚀又让下一次使用更容易发生。",
"展开": [
{ "部分": "诱因", "描述": "现实危机让使用力量成为最有效的解决方式。" },
{ "部分": "收益", "描述": "力量立即兑现效果,使继续使用具有真实吸引力。" },
{ "部分": "代价", "描述": "每次使用都会留下不可完全逆转的自我改变。" },
{ "部分": "反馈", "描述": "改变后的角色更容易接受下一次使用,循环因此加深。" }
]
},
"对应体验": ["力量带来的诱惑", "逐渐失去自我的恐惧"],
"如何支撑": "收益与侵蚀来自同一次行动,角色不能只取其一,因此诱惑和恐惧能够持续共存。",
"缺失后果": "如果侵蚀可以轻易撤销,恐惧会退化成短期成本;如果力量没有即时收益,诱惑则无法成立。"
}
不解释力量由谁创造、完整物理理论或全部侵蚀实例。
示例三:支撑点之间的关系
{
"涉及": ["力量与自我侵蚀的同步增长", "身边人对变化的延迟识别"],
"关系": "共同支撑并形成时间差",
"体验作用": "侵蚀让角色真实改变,延迟识别则给变化留下累积空间;两者共同维持「尚能隐藏但终将无法隐藏」的过程感。"
}
不合格:
- 「可以选择诅咒、寄生物、人格分裂、外星科技或邪神污染…」→ 脱离体验的设定菜单。
- 「丈夫四十二岁,是律师,外表温和,童年…」→ 把认知切面扩成完整人物设定。
- 「为了营造压抑美感,叙述应采用近距离视角…」→ 叙事呈现,不是支撑设定。
- 「这种力量源于三千年前的实验事故…」→ 为可直接成立的初始设定补不必要起源史。
```