Files
writing-agent/skills/dialogue/world-simulator/modules/variable-context/prompt.md

5.0 KiB
Raw Blame History

变量控制上下文

技能文档。程序只切割下方 fence 块## 标题仅供人读。
上游:variable-design;方法:docs/progressive-data-design.md

meta

name: 变量控制上下文
id: variable-context
artifact: 设计.变量控制上下文
declaration: >
  钉真值/投影/Data 摘要如何挂进主世界层、叙事转述与旁观:
  可见性、措辞、未解锁不注入;汇总映射当前档供旁观 agent
when: |
  变量设计已有真值或 Data 映射索引,需要规定谁看见什么、旁观看哪份摘要时。
when_not: |
  尚无变量且无投影。
  仅内部记账永不进提示词 → 可跳过,在变量设计备注即可。
  只改字段与更新规则 → 变量设计与更新规则。
boundary: |
  本技能:挂载表、剧透边界、旁观汇总视野、与维护语句/投影 tag 对齐。
  变量设计字段、映射索引、维护语句形状、side_effects。
  具体实例:表行正文——本步不重生成,只声明「旁观读当前档/哪几个摘要键」。
  设计监控栏 / 正文组成:用户可见层;本步管提示词视野。
feeds: gm

opening

有没有「玩家不该看见、但主世界层/旁观要知道」或「到了某档才允许提起」的状态?
旁观需要看「当前好感档性格要点」这类汇总吗?有则简述;没有就「没有信息差」。

task

你正在执行「变量控制上下文」。产物必须是 **context-fragment.v1** JSON写入「设计.变量控制上下文」。

在已有真值 / Data 映射索引 / side_effects 上钉:
1. 主世界层每轮见哪些真值键与投影 tag  
2. 叙事转述见哪些玩家安全切片  
3. **旁观汇总**:从映射索引+投影拼出的只读摘要(给旁观 agent不写 canon  
4. 未达阈值不注入;禁止泄露列表  

不重开变量清单;不重写具体实例整表。

summary`变量控制上下文 · …`。

principles

1. 只挂影响生成的状态;整张 Data 不进 static。
2. 旁观要「当前档汇总」,材料来自映射索引的摘要键 + 已投影 tag不是第二份实例库。
3. Progressive未解锁档正文不进上下文。
4. 维护语句由主世界层按变量设计输出;本步只保证挂载后能读到合并后的真值/投影。
5. 默认拓扑:主世界层 + 可选转述 + 可选旁观挂载;不为挂载再拆执行单元。

probe

主世界层要不要隐藏真值?旁观汇总要哪些摘要键?转述是否禁止好感数字?一次 12 点。

output

{
  "schema": "context-fragment.v1",
  "技能": "变量控制上下文",
  "brief": "一句话:各槽看见什么状态",
  "mount": ["world-simulator"],
  "稳变": "stable",
  "正文": {
    "挂载": [
      {
        "对象": "主世界层|叙事转述|旁观|常驻",
        "ref或mount": "world-simulator|narrator|…",
        "真值键": ["好感"],
        "投影tag": ["上下文.角色态度"],
        "映射摘要": ["从映射id取当前档的哪些键无则 []"],
        "措辞要点": "…",
        "未达阈值": "对应投影不注入"
      }
    ],
    "旁观汇总": {
      "启用": "是|否",
      "tag": "上下文.旁观.状态摘要",
      "组成": [
        "真值:好感数字(仅旁观)",
        "映射 affinity-personality当前档态度要点+禁触",
        "已触发 once 门列表"
      ],
      "更新时机": "真值变更后 / 与 side_effects 同时",
      "禁止": ["整表粘贴", "写回 canon"]
    },
    "禁止泄露": [
      {
        "内容": "…",
        "对谁禁": "叙事转述|用户展示|…",
        "原因": "…"
      }
    ],
    "与side_effects对齐": ["上下文.角色态度 ← affinity-romance"],
    "与维护语句对齐": "主世界层读合并后真值;维护语句形状见变量设计,本步不改"
  },
  "自评": {
    "维度": [
      {
        "名": "视野正确",
        "分数": 8,
        "说明": "各槽该见/不该见是否清楚"
      },
      {
        "名": "旁观可用",
        "分数": 8,
        "说明": "旁观汇总是否够用且未整表;不需要旁观则 N/A"
      },
      {
        "名": "防剧透",
        "分数": 8,
        "说明": "未解锁与禁止泄露是否落实"
      }
    ],
    "薄弱点": "一句话"
  },
  "追问": {
    "导语": "为钉准状态视野,还需确认:",
    "题目": []
  },
  "开放问题": []
}

硬规则:公共三段;旁观汇总可「启用=否」禁止发明变量执行单元summary 见 task。

checklist

- [ ] 挂载与变量设计名单一致?
- [ ] 旁观汇总用摘要键而非整表?
- [ ] 投影 tag 与 side_effects 一致?剧透边界清楚?

examples

好:旁观 tag 只含「当前档态度要点 + 好感」;转述只见投影态度不见数字。
坏:把具体实例整份分档 JSON 挂进旁观 static。