引入上下文片段、固定槽与投影排序,并完善机遇裁定与游玩期 UI。
把创作产物收敛为可挂载片段与 play_slots/context_order,同步修订世界模拟器模块与运行时拼装。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
# 变量设计与更新规则
|
||||
|
||||
> **状态:待完善** — 块格式见 `docs/world-simulator-modules.md`;范例见 `aesthetics-interaction`。
|
||||
> 技能文档。程序只切割下方 **fence 块**;`##` 标题仅供人读。
|
||||
> 方法:`docs/progressive-data-design.md`;外壳:`docs/context-fragment-design.md`。
|
||||
> 与「正文组成」隐藏段、生成规则/具体实例的 Data 表、旁观汇总对齐。
|
||||
|
||||
## meta
|
||||
|
||||
@@ -8,58 +10,217 @@
|
||||
name: 变量设计与更新规则
|
||||
id: variable-design
|
||||
artifact: 设计.变量设计与更新规则
|
||||
declaration: 钉变量字段、初值与更新时机/规则;与表副作用对齐
|
||||
when: 需要可追踪状态(进度、关系、资源等)且要写清谁何时改时
|
||||
when_not: 无状态纯对话、或状态仅散文描述从不程序化时
|
||||
declaration: >
|
||||
钉真值、谁可写、如何变;起草 side_effects;约定维护语句形状;
|
||||
汇总 Data 映射索引(分档/实例来自生成规则与具体实例)供投影与旁观
|
||||
when: |
|
||||
体验需要可追踪状态,且下游要可靠查询、门控、防重复或按值换文案时。
|
||||
when_not: |
|
||||
无状态纯对话,或状态只临场描写、从不程序化。
|
||||
只要大段设定不要门控 → 舞台骨架 / 生成规则。
|
||||
只规定挂进谁的提示词 → 「变量控制上下文」。
|
||||
只规定用户看见哪些监控字段 → 「设计监控栏」。
|
||||
boundary: |
|
||||
本能力:字段、初值、更新规则、与副作用。
|
||||
变量控制上下文:这些变量如何进入提示词口径。
|
||||
设计状态栏:哪些对用户可见。
|
||||
本技能:真值清单、更新规则、维护语句约定、Data 映射索引、side_effects 草案。
|
||||
分档长文/性格切片正文:由生成规则定格式、具体实例填表;本步做索引与门控,不重写整表。
|
||||
正文组成:隐藏段定界符——本步钉「维护语句写什么」;定界样式与之对齐。
|
||||
机遇裁定 chance:真随机 toolcall,不是变量表维护手段。
|
||||
变量控制上下文:挂载对象与旁观汇总视野。
|
||||
细化终稿:收成 tables.side_effects。
|
||||
feeds: gm
|
||||
```
|
||||
|
||||
## opening
|
||||
|
||||
```opening
|
||||
先说「玩的时候必须记住、否则体验会糊」的东西:
|
||||
|
||||
1. 数字/阶段?(好感、章节、资源…)一次性门?
|
||||
2. 有没有「到了某值换一套态度/大纲」的表?(表正文可已在具体实例里)
|
||||
3. 每轮模型用什么方式声明变量变了?(裁决包字段 / 隐藏段键值 / 两者)
|
||||
4. 旁观或主世界层是否需要一份「当前映射摘要」(如好感档→性格要点)?
|
||||
```
|
||||
|
||||
## task
|
||||
|
||||
```task
|
||||
钉清变量字段、初值与更新规则,写入 设计.变量设计与更新规则。与表/副作用命名对齐。
|
||||
(待作者细写)
|
||||
你正在执行「变量设计与更新规则」。产物必须是 **context-fragment.v1** JSON,写入「设计.变量设计与更新规则」。
|
||||
|
||||
三分:
|
||||
- **真值**:跨轮必须记住的少数字段(好感、章节…)
|
||||
- **Data 映射**:阈值→切片大表(性格档、章纲、事件池)——格式归生成规则,行归具体实例;本步建索引并指向实例/规则 id
|
||||
- **Progressive**:side_effects 按真值边沿投影当前切片;旁观/主世界层读投影或汇总,不整表常驻
|
||||
|
||||
**维护语句**:规定模型每轮如何声明变更(供程序拆进 `变量.当前` / 裁决包 `variable_changes`)。
|
||||
这不是 chance toolcall;toolcall 只做骰子/抽签。隐藏段定界与「正文组成」对齐。
|
||||
|
||||
执行顺序:
|
||||
1. 读美学/机制/生成规则/具体实例/正文组成;不重开体验。
|
||||
2. 立真值(承重才建);写写入源与更新规则。
|
||||
3. 建 Data 映射索引:每张表写清键依哪个真值、材料来自哪条 rule_id/batch、给旁观/投影用的摘要字段。
|
||||
4. 写维护语句约定:形状、必填键、与隐藏段/settlement 的关系、示例一句。
|
||||
5. 写 side_effects(once/every_edge → replace_tag 等)。
|
||||
6. 自评 + 追问;输出 JSON。
|
||||
|
||||
summary:`变量设计 · …`(点题主真值 + 有无映射表)。
|
||||
```
|
||||
|
||||
## principles
|
||||
|
||||
```principles
|
||||
字段要少;更新规则可检查;禁止隐式改值。
|
||||
1. 承重才立真值;派生性格不落第二可写格。
|
||||
2. 映射内容:具体实例生成 → 本步索引汇总 → side_effects/变量控制上下文供给旁观与主世界层。
|
||||
3. 维护靠「声明 + 程序合并」,不靠模型直接改库:
|
||||
- 主路径:裁决包 variable_changes 和/或正文隐藏段(正则/定界)→ Runtime 合并进 变量.当前
|
||||
- 边沿:side_effects 换投影 tag
|
||||
- 用户手改;chance 只出随机数,不替代维护语句
|
||||
4. 维护语句必须可生成、可校验:固定键名、短值、禁止散文糊弄。
|
||||
5. 旁观要看的是「当前档摘要」,不是整份实例库;汇总句或投影 tag 即可。
|
||||
6. 宁少勿多;与监控栏字段可交集但职责不同(监控=用户看见;真值=程序真相)。
|
||||
```
|
||||
|
||||
## probe
|
||||
|
||||
```probe
|
||||
(待作者细写)
|
||||
每轮 1~2 点:主真值;连续数字还是阶段枚举;维护走裁决包还是隐藏段还是两者;映射表是否已有具体实例可索引;旁观要不要当前档摘要。
|
||||
```
|
||||
|
||||
## output
|
||||
|
||||
```output
|
||||
{
|
||||
"变量": [
|
||||
{
|
||||
"名": "…",
|
||||
"类型": "…",
|
||||
"初值": "…",
|
||||
"更新": "谁、何时、怎么变"
|
||||
}
|
||||
],
|
||||
"副作用备注": "…"
|
||||
"schema": "context-fragment.v1",
|
||||
"技能": "变量设计与更新规则",
|
||||
"brief": "一句话:主真值 + 映射/维护方式",
|
||||
"mount": ["world-simulator"],
|
||||
"稳变": "stable",
|
||||
"正文": {
|
||||
"依据的体验": ["从机制/美学提取的状态化点"],
|
||||
"真值": [
|
||||
{
|
||||
"名": "好感",
|
||||
"类型": "number|enum|boolean|string|set",
|
||||
"初值": 0,
|
||||
"对用户可见": true,
|
||||
"对主世界层可见": true,
|
||||
"写入源": ["llm", "用户"],
|
||||
"更新": {
|
||||
"时机": "…",
|
||||
"方式": "delta|绝对值|枚举切换",
|
||||
"钳制": "0..100|未定",
|
||||
"执行单元": "world-simulator"
|
||||
},
|
||||
"备注": ""
|
||||
}
|
||||
],
|
||||
"Data映射索引": [
|
||||
{
|
||||
"映射id": "affinity-personality",
|
||||
"用途": "好感分档性格|章大纲|场景包|事件池|…",
|
||||
"键依真值": "好感",
|
||||
"键规则": "例:区间 [0,30)/[30,60)/[60,100]",
|
||||
"结构摘要": "阈值 → 态度/行为切片字段…",
|
||||
"生成规则rule_id": "来自设计.生成规则;无则待补",
|
||||
"具体实例batch_id": "来自设计.具体实例;无则待补",
|
||||
"旁观与投影要用的摘要键": ["档名", "态度要点", "禁触"],
|
||||
"说明": "长文在实例表;本索引只为查表与汇总"
|
||||
}
|
||||
],
|
||||
"维护语句约定": {
|
||||
"通道": ["settlement.variable_changes", "隐藏段", "二者都要"],
|
||||
"与正文组成对齐": "隐藏段段id / 定界约定;无隐藏段则写「仅用裁决包」",
|
||||
"语句形状": {
|
||||
"格式": "JSON行|键值列表|与 settlement 字段同构",
|
||||
"必填键": ["key", "delta|to"],
|
||||
"禁止": ["无键散文", "改未立真值"]
|
||||
},
|
||||
"生成要求": "主世界层每轮须输出可解析维护语句(哪怕本轮无变更也给空列表)",
|
||||
"示例": [
|
||||
{ "key": "好感", "delta": 8, "reason": "送礼成功" }
|
||||
],
|
||||
"程序侧": "Runtime 合并进 变量.当前;再跑 side_effects;非 chance toolcall"
|
||||
},
|
||||
"side_effects": [
|
||||
{
|
||||
"id": "affinity-romance",
|
||||
"field": "好感",
|
||||
"op": "gte",
|
||||
"value": 60,
|
||||
"mode": "once",
|
||||
"action": {
|
||||
"type": "replace_tag",
|
||||
"tag": "上下文.角色态度",
|
||||
"content": "恋爱档要点或「按映射id查当前档摘要」"
|
||||
}
|
||||
}
|
||||
],
|
||||
"旁观汇总意图": {
|
||||
"需要": "是|否",
|
||||
"汇总什么": "例:当前好感档性格要点 + 已触发 once 门",
|
||||
"建议tag": "上下文.旁观.状态摘要",
|
||||
"材料来自": ["Data映射索引", "投影tag", "真值字段"]
|
||||
},
|
||||
"不立变量的理由": ["…"]
|
||||
},
|
||||
"自评": {
|
||||
"维度": [
|
||||
{
|
||||
"名": "承重度",
|
||||
"分数": 0,
|
||||
"说明": "真值是否只覆盖必须跨轮记住的状态"
|
||||
},
|
||||
{
|
||||
"名": "可维护",
|
||||
"分数": 0,
|
||||
"说明": "维护语句是否可解析;映射索引是否接得上实例/规则"
|
||||
},
|
||||
{
|
||||
"名": "克制度",
|
||||
"分数": 0,
|
||||
"说明": "无派生可写格膨胀;无用 chance 冒充改表"
|
||||
}
|
||||
],
|
||||
"薄弱点": "一句话"
|
||||
},
|
||||
"追问": {
|
||||
"导语": "为钉准变量与维护,还需确认:",
|
||||
"题目": [
|
||||
{
|
||||
"问": "…",
|
||||
"建议选项": ["选项A", "选项B", "其它(请写明)"],
|
||||
"示例": "可选"
|
||||
}
|
||||
]
|
||||
},
|
||||
"开放问题": []
|
||||
}
|
||||
```
|
||||
|
||||
硬规则:
|
||||
1. context-fragment.v1 外壳;自评承重度/可维护/克制度。
|
||||
2. Data 映射索引可指向尚未生成的实例(标待补),但键与用途必须清。
|
||||
3. 维护语句约定必填;须声明通道与示例。
|
||||
4. side_effects 可 `[]`。禁止输出完整 workers[]。
|
||||
5. summary:`变量设计 · {brief 缩略}`。
|
||||
|
||||
## checklist
|
||||
|
||||
```checklist
|
||||
- [ ] 每个变量是否有明确更新者与时机?
|
||||
- [ ] 是否与拓扑/表设计一致?
|
||||
- [ ] 真值有写入源与更新时机?
|
||||
- [ ] 映射索引指向规则/实例或标待补?旁观摘要键清楚?
|
||||
- [ ] 维护语句可解析且与正文组成/settlement 对齐?
|
||||
- [ ] 未把分档长文做成可写真值?未用 chance 当改表?
|
||||
```
|
||||
|
||||
## examples
|
||||
|
||||
```examples
|
||||
好:
|
||||
- 好感真值 + 映射索引指向 concrete batch「分档性格」+ side_effect 投影态度 + 维护语句走 variable_changes。
|
||||
- 旁观汇总意图:只挂当前档「态度要点」,不挂整表。
|
||||
|
||||
坏:
|
||||
- 每轮让模型重写「当前性格」长字符串当真值。
|
||||
- 只写「好感会变」无维护语句形状。
|
||||
- 用 run_worker chance 来改好感。
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user