引入游玩回合与开场收口,抽出可替换 agent 司机并支持运行中止;完善预设洞位、世界书拼装与试跑,并打磨会话运行时与 Web 交互。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
# 上下文投影排序
|
||||
|
||||
> 技能文档。程序只切割下方 **fence 块**;`##` 标题仅供人读。
|
||||
> **本步只排出扁平投影序,不发明执行单元,不重写设定长文。**
|
||||
> 「对话.历史」也是可投影标签(改 projection 裁剪长度);见 `docs/context-fragment-design.md`。
|
||||
> **先抄程序钉死的执行单元名册,再给每个已启用者分配上下文与顺序。**
|
||||
> 不发明执行单元,不重写设定长文,不演游玩选项。
|
||||
> 「对话.历史」也是可投影标签;见 `docs/context-fragment-design.md`。
|
||||
|
||||
## meta
|
||||
|
||||
@@ -11,36 +12,32 @@ name: 上下文投影排序
|
||||
id: context-order
|
||||
artifact: 设计.上下文投影排序
|
||||
declaration: >
|
||||
根据各上游上下文的概括,为每个启用槽写出扁平投影序
|
||||
(含对话.历史标签与 projection);不发明槽、不重写正文
|
||||
先列出本局固定执行单元(程序名册),再为每个已启用者写出扁平投影序
|
||||
(含对话.历史与 projection);不发明槽、不重写正文、不演情节选择题
|
||||
when: |
|
||||
游玩槽已确认(或可按默认),且主要上下文块已有可摘要产物,
|
||||
需要决定插入顺序与投影级别、再收成运行规格时。
|
||||
需要决定各执行单元看见什么、以何顺序插入时。
|
||||
when_not: |
|
||||
体验/站位仍混沌 → 先美学纲领与交互范式。
|
||||
槽位未定且用户拒绝默认 → 先游玩拓扑。
|
||||
上游上下文仍大量空洞、无法判断稳/变 → 先补缺口,勿空排。
|
||||
只需勾选槽 → 游玩拓扑;只需合并终稿 → 细化终稿。
|
||||
boundary: |
|
||||
本技能:读各块概括 → 产出每槽 inserts[](order / ref / projection / 可选 note);须含对话.历史。
|
||||
无「历史前/后」硬分区;对话.历史本身是可排序的一项。
|
||||
游玩拓扑:槽位权威;本步不增白名单外 ref(含按需 chance 不进每轮序)。
|
||||
中段技能:可带 mount 与稳/变信号,最终 order 以本步为准。
|
||||
本技能:抄名册 → 凭各块 brief/挂载/稳变 给每槽 inserts[]。
|
||||
名册权威在程序(及已勾选的游玩拓扑);本步不增白名单外 id。
|
||||
中段技能可带 mount 与稳/变;最终 order 以本步为准。
|
||||
细化终稿:把本步排序表收进运行规格 context_order;本步不输出完整 设计.worker集。
|
||||
禁止把依赖产物里的游玩示例(迎上去/推开/反客为主 等)当成当前要问的题。
|
||||
feeds: design_only
|
||||
```
|
||||
|
||||
## opening
|
||||
|
||||
```opening
|
||||
准备排出各游玩槽的扁平投影序(只排序,不改设定正文)。
|
||||
按已验收产物的概括,给每个固定执行单元分配上下文顺序(只排序,不改设定、不演游玩)。
|
||||
|
||||
请确认或补充:
|
||||
1. 启用槽是否仍是默认?(世界模拟:主世界层 + 叙事转述;角色视角默认关)
|
||||
2. 「对话.历史」希望夹在哪、投影多狠?(默认 summary)
|
||||
3. 有没有「几乎永不改」或「每轮必变」的块要特别强调?
|
||||
|
||||
若前面产物够用,可直接回复「按已有概括排序」。
|
||||
名册由程序钉死:旁观维护(表格)/ 主世界层 / 叙事转述 / 可选角色视角 / 按需机遇。
|
||||
若前面产物够用,直接回复「按已有概括排序」。
|
||||
```
|
||||
|
||||
## task
|
||||
@@ -48,40 +45,45 @@ feeds: design_only
|
||||
```task
|
||||
你正在执行「上下文投影排序」。产物写入「设计.上下文投影排序」。
|
||||
|
||||
输入:已启用槽;各上游上下文的短摘要(及 mount / 稳变信号,若有)。
|
||||
输出:按槽分组的格式化排序表——Runtime/终稿据此把投影插到固定位置。
|
||||
执行顺序(必须按此,禁止颠倒):
|
||||
1. **抄名册**:以程序注入的【本局固定执行单元】为准列出 agents[](id / label / enabled / when / duty)。
|
||||
启用与否跟已勾选游玩拓扑走;未勾选则按默认:旁观+主世界层+转述开,角色视角关,机遇关。
|
||||
2. **再分配**:只对 enabled 的每轮槽写 inserts(order / ref / projection / 可选 note)。
|
||||
凭上游 **brief、挂载、稳变** 排序,禁止把百科全文再读一遍当创作。
|
||||
|
||||
规则:
|
||||
1. 禁止发明执行单元或白名单外 ref。
|
||||
2. 禁止重写上游长文;只写 order、ref、projection 与一句 note(勿再写硬锚点分区)。
|
||||
3. 每槽扁平数字序:order 0=该槽固定人设;其后按「稳→对话.历史→易变」软排。
|
||||
4. 必须包含一项 ref=`对话.历史`(默认 projection=summary);历史由程序维护,本步只决定夹在哪、投影多狠。
|
||||
5. 常见块名用新 artifact:设计.舞台骨架 / 设计.叙事指南与故事推进 / 设计.正文组成 / 设计.监控栏 等。
|
||||
1. 禁止发明白名单外 id(含画图等未入册槽)。
|
||||
2. 禁止重写上游长文;只写顺序与投影。
|
||||
3. 每轮槽:order 0=该槽固定人设;其后按「稳→对话.历史→易变」软排。
|
||||
4. 主世界层与转述必须含 ref=`对话.历史`(默认 projection=summary);旁观维护默认不含历史。
|
||||
5. 按需槽(机遇)enabled 时 inserts 可空。
|
||||
6. 越稳越靠前;本轮输入/真值/裁决通常在历史之后。
|
||||
7. 同一内容可挂多槽;chance 为按需槽,不必排进每轮 inserts。
|
||||
8. summary:如 `投影排序 · 主世界层 N 条 · 含历史`。
|
||||
7. 同一内容可挂多槽;chance 不必排进每轮 inserts。
|
||||
8. summary:如 `投影排序 · 旁观+主世界层+转述`。
|
||||
|
||||
若程序已发默认问题:禁止重复同一开场;在首答上产出表。
|
||||
若程序已发默认问题:禁止重复同一开场;用户说「按已有概括排序」或等价同意 → **立刻产出表**,禁止再问情节内选项。
|
||||
禁止 askUser 出游玩选择题(迎上去/推开她/反客为主 等)。材料已齐则顶层 askUser 为 null。
|
||||
```
|
||||
|
||||
## principles
|
||||
|
||||
```principles
|
||||
1. 晚排序:此时才能区分常变与重要;勿回退去发明新槽。
|
||||
2. 概括驱动:凭摘要与稳变信号排序,不把百科全文再读一遍当创作。
|
||||
3. 历史是标签:用投影裁剪,不要假装「整段历史永远在中间锚点」。
|
||||
4. 缓存优先:少变块靠前;高频变块靠后。
|
||||
5. 投影分级:full / summary / fields / fixed——历史默认 summary。
|
||||
6. 可修订已有排序表;用户改稳变判断时只改序,不改上游产物 id。
|
||||
1. 名册先行:先有哪些执行单元,再谈每单元看什么。
|
||||
2. 晚排序:此时才能区分常变与重要;勿回退去发明新槽。
|
||||
3. 概括驱动:凭摘要与稳变信号排序,不把设定长文再当创作。
|
||||
4. 历史是标签:用投影裁剪;旁观维护默认不进对话.历史。
|
||||
5. 缓存优先:少变块靠前;高频变块靠后。
|
||||
6. 投影分级:full / summary / fields / fixed——历史默认 summary。
|
||||
7. 可修订已有排序表;用户改稳变判断时只改序,不改上游产物 id。
|
||||
```
|
||||
|
||||
## probe
|
||||
|
||||
```probe
|
||||
一次 askUser 1~2 点,优先 options:
|
||||
- 某块稳/变判断冲突时,问用户更偏「少改利缓存」还是「每轮必须看见」。
|
||||
一次 askUser 1~2 点,且必须关于「挂哪槽 / 稳还是变 / 投影级别」:
|
||||
- 某块稳/变判断冲突时,问更偏「少改利缓存」还是「每轮必须看见」。
|
||||
- 角色视角若开启,问哪些块禁止进主世界层。
|
||||
已齐则直接产出,勿为凑问题而问。
|
||||
已齐则直接产出,勿为凑问题而问。禁止问剧情里发生什么、谁敲门、玩家选哪一招。
|
||||
```
|
||||
|
||||
## output
|
||||
@@ -89,29 +91,64 @@ feeds: design_only
|
||||
```output
|
||||
{
|
||||
"schema": "context-order.v1",
|
||||
"brief": "一句话:本局扁平投影序(含对话.历史)",
|
||||
"play_slots": { "gm": true, "narrator": true, "perspective": false },
|
||||
"slots": [
|
||||
"brief": "一句话:本局有哪些执行单元、各自上下文怎么排",
|
||||
"agents": [
|
||||
{
|
||||
"ref": "world-simulator",
|
||||
"label": "主世界层",
|
||||
"id": "auditor",
|
||||
"label": "旁观维护",
|
||||
"enabled": true,
|
||||
"when": "every_turn",
|
||||
"duty": "查表/补规则,不写正文、不写真相",
|
||||
"inserts": [
|
||||
{ "order": 0, "ref": "worker.persona", "projection": "fixed", "note": "槽位人设" },
|
||||
{ "order": 1, "ref": "设计.实现机制", "projection": "summary", "note": "承重规则摘要" },
|
||||
{ "order": 2, "ref": "对话.历史", "projection": "summary", "note": "按投影裁剪" },
|
||||
{ "order": 3, "ref": "变量.当前", "projection": "fields", "note": "真值" },
|
||||
{ "order": 4, "ref": "用户.最新输入", "projection": "full", "note": "本轮" }
|
||||
{ "order": 0, "ref": "worker.persona", "projection": "fixed", "note": "人设" },
|
||||
{ "order": 1, "ref": "设计.变量设计与更新规则", "projection": "summary" },
|
||||
{ "order": 2, "ref": "设计.生成规则", "projection": "summary" },
|
||||
{ "order": 3, "ref": "变量.当前", "projection": "fields" },
|
||||
{ "order": 4, "ref": "用户.最新输入", "projection": "full" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"ref": "narrator",
|
||||
"label": "叙事转述",
|
||||
"id": "gm",
|
||||
"label": "主世界层",
|
||||
"enabled": true,
|
||||
"when": "every_turn",
|
||||
"duty": "读真值与规则,出裁决包",
|
||||
"inserts": [
|
||||
{ "order": 0, "ref": "worker.persona", "projection": "fixed", "note": "转述人设" },
|
||||
{ "order": 0, "ref": "worker.persona", "projection": "fixed" },
|
||||
{ "order": 1, "ref": "设计.舞台骨架", "projection": "summary" },
|
||||
{ "order": 2, "ref": "对话.历史", "projection": "summary" },
|
||||
{ "order": 3, "ref": "变量.当前", "projection": "fields" },
|
||||
{ "order": 4, "ref": "用户.最新输入", "projection": "full" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "narrator",
|
||||
"label": "叙事转述",
|
||||
"enabled": true,
|
||||
"when": "every_turn",
|
||||
"duty": "只把裁决写成用户可见正文",
|
||||
"inserts": [
|
||||
{ "order": 0, "ref": "worker.persona", "projection": "fixed" },
|
||||
{ "order": 1, "ref": "设计.叙事指南与故事推进", "projection": "summary" },
|
||||
{ "order": 2, "ref": "对话.历史", "projection": "summary" },
|
||||
{ "order": 3, "ref": "运行.本轮.裁决", "projection": "full", "note": "settlement" }
|
||||
{ "order": 3, "ref": "运行.本轮.裁决", "projection": "full" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "perspective",
|
||||
"label": "角色视角",
|
||||
"enabled": false,
|
||||
"when": "every_turn",
|
||||
"duty": "强信息隔离时出反应建议",
|
||||
"inserts": []
|
||||
},
|
||||
{
|
||||
"id": "chance",
|
||||
"label": "机遇裁定",
|
||||
"enabled": false,
|
||||
"when": "on_demand",
|
||||
"duty": "骰子/抽签;按需调用,不进每轮",
|
||||
"inserts": []
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -120,10 +157,12 @@ feeds: design_only
|
||||
## checklist
|
||||
|
||||
```checklist
|
||||
- [ ] agents 只使用程序名册 id(auditor / gm / narrator / perspective / chance)
|
||||
- [ ] 未发明白名单外执行单元
|
||||
- [ ] 未重写上游长文,只有排序/投影
|
||||
- [ ] 每启用槽有 order 0 人设位
|
||||
- [ ] 每槽含「对话.历史」且有合理 projection
|
||||
- [ ] 未把游玩选项示例当成当前提问
|
||||
- [ ] 已启用的每轮槽有 order 0 人设位
|
||||
- [ ] 主世界层与转述含「对话.历史」;旁观维护默认无历史
|
||||
- [ ] 少变块整体靠前、本轮/真值靠后(软规则)
|
||||
- [ ] 与游玩拓扑勾选一致
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user