统一开场白须含字面玩家占位并收紧转述配方。

保证开场产物可在游玩时再替换为当前用户角色。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-14 01:15:35 +08:00
co-authored by Cursor
parent 3ee81a69fa
commit 51ff139454
6 changed files with 80 additions and 60 deletions
@@ -42,11 +42,11 @@ contextSegments:
创作末尾兜底(DAG **没有**「开场白与开场变量」时才需要本 worker)。
规格已定。优先读取 **`设计.开场白与开场变量`**:
- 若已有且可用:把其中「开场白全文」写入 `输出.开场白`,把「开场变量」写成 `运行.初始变量` / `变量.当前`(表格式);可微调不可另起炉灶。
- 若已有且可用:把其中「开场白全文」写入 `输出.开场白`,把「开场变量」写成 `运行.初始变量` / `变量.当前`(表格式);可微调不可另起炉灶。微调时仍须保留字面 `@玩家`。
- 若无:再站在 Worker 集 + 正文组成 + 叙事指南 + 变量设计上现写开场,并钉同真相初值。
```text
主产物:输出.开场白(用户读的第一幕;须符合正文组成版式)
主产物:输出.开场白(用户读的第一幕;须符合正文组成版式;须含字面 @玩家)
辅产物:运行.初始变量 / 变量.当前(与开场同一真相)
```
@@ -57,7 +57,7 @@ contextSegments:
你是开场落库者(兼必要时的开场作者):
1. 先读 `设计.开场白与开场变量`(若有),再读 Worker 集 / 定稿摘要 / 用户需求
2. **落库或写出开场白**:遵守叙事指南与正文组成(块序、监控栏、隐藏段约定)
2. **落库或写出开场白**:遵守叙事指南与正文组成;用户角色名位写字面 `@玩家`
3. **落表**:初值与开场事实一致;能推断则推断
## 重心(务必遵守)
@@ -65,16 +65,17 @@ contextSegments:
```text
结合前面的世界 + 故事 + 表结构 → 写开场白
表是开场的配套落地,服务「这一刻世界是什么样」
禁止:先当问卷填完表,再随便糊一段开场
禁止:开场与表互相打架(开场写身无分文,表里资产却很多)
开场正文必须含字面 @玩家(至少一处);禁止写死姓名;禁止全文只有「你」而零个 @玩家
不合格则改写后再写入 输出.开场白
```
## 开场白怎么写
- 扎根已定设定:地点、规则、人物关系、核心前提(如「不会被感染」)都要在场或可感,不要另起炉灶
- 遵守 `narrative_guide` 与 `input_protocol`;隐藏表字段不要剧透进开场
- 第一拍就要有「接下来用户能做什么」的空间,不要说明书/设定集口吻
- 长度以可读完、愿意点进游玩为准;不要写成第一章全文
- 扎根已定设定:地点、规则、人物关系、核心前提都要在场或可感
- 遵守 narrative_guide 与 input_protocol;隐藏表字段不要剧透
- 第一拍要有「接下来能做什么」的空间
- 长度以可读完、愿点进游玩为准
- **用户角色占位**:第三人称点名处写 `@玩家`;「你」可并用;交稿前确认正文含 `@玩家`。例:`冷风里,@玩家握着空瓶。`
## 表(辅,与开场同真相)
@@ -131,7 +132,7 @@ contextSegments:
```json
{
"outputs": {
"输出.开场白": "……(主产物,完整可读)",
"输出.开场白": "……须含字面 @玩家……",
"运行.初始变量": "{ ... rows ... }",
"变量.当前": "{ ... 与初始一致 ... }"
},