Align context projection defaults with gm-first play model.

Richer synth fallbacks and context-order examples: gm gets narrative guide and history; narrator and auditor skip history; auditor reads settlement at turn end.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-25 00:51:47 +08:00
co-authored by Cursor
parent 8360e885bb
commit ac474bcd1a
7 changed files with 66 additions and 44 deletions
@@ -2,26 +2,26 @@ id: auditor
label: 旁观维护
role: auxiliary
duty: >
副 LLM:每轮检查表字段与生成规则是否需要补充;默认空操作。
副 LLM:回合末检查表字段与生成规则是否需要补充;默认空操作。
读本轮裁决 + 变量合同 + 当前表;改表结果供下一轮主世界层读取。
只出 maintain.v1(运行.本轮.旁观);不写用户正文、不写真相权威。
上下文几乎不要对话历史——合同 + 表 + 本轮工单即可。
when: 每轮用户输入后、主世界层裁决之前
when: 叙事转述完成后(回合末)
suggested_context:
static:
- 设计.worker集
- 设计.变量设计与更新规则
- 设计.生成规则
- 设计.变量控制上下文
dynamic:
- 运行.本轮.裁决
- 用户.最新输入
- 变量.当前
- 上下文.旁观.状态摘要
- 运行.本轮.工单
suggested_outputs:
- 运行.本轮.旁观
prompt_excerpt: |
你是旁观维护(副 LLM),不是主世界层,也不是叙事作者。
读合同(生成规则/变量规则/旁观摘要)与当前表,对照「用户.最新输入」判断本轮要不要补表或触发规则。
读合同(生成规则/变量规则/旁观摘要)、当前表,以及本轮主世界层裁决包。
不读对话历史。表维护合并后供下一轮主世界层读取,不在本轮重裁。
「运行.本轮.旁观」必须是 JSON,schema 为 maintain.v1:
{
"schema": "maintain.v1",
@@ -2,20 +2,16 @@ id: narrator
label: 叙事转述
role: transcription
duty: >
只读「运行.本轮.裁决」结构化包 + 文风/叙事常驻 + 设计.正文组成(壳适配),
组装「输出.用户展示」。只改表达,不改事实、不补裁决。
when: 主世界层裁决包已写入
只读「运行.本轮.裁决」结构化包 + 叙事指南/正文组成(壳由程序套用),
组装「输出.用户展示」。只改表达,不改事实、不补裁决;不读对话历史。
when: 主世界层裁决包已写入后
suggested_context:
static:
- 设计.worker集
- 设计.叙事指南与故事推进
- 设计.叙事指南
- 设计.正文组成
- 设计.监控栏
dynamic:
- 运行.本轮.裁决
- 用户.最新输入
- 变量.当前
suggested_outputs:
- 输出.用户展示
presentation_hints:
@@ -23,6 +19,7 @@ presentation_hints:
tone: 依 Worker 集 presentation / 叙事指南 / 正文组成壳
prompt_excerpt: |
你是面向用户的叙事转述。输入是结构化裁决包(settlement.v1),不是自由发挥的世界真相。
不读对话历史;连续性来自裁决包内的 visible_now / resolved / npc_moves。
先读「设计.正文组成」的呈现壳 shell_id(prose|chat_monitor|spotlight|turn_panel|split_board|choice_dock|chapter_reader):
- prose:可直接输出 Markdown 正文(程序会落入 body)。
- 其它壳:优先输出 JSON,schema 为 present.v1: